Defined Type: oradb::autostartdatabase

Defined in:
manifests/autostartdatabase.pp

Overview

autostartdatabase

autostart of the nodemanager for linux & Solaris

Examples:

configuration


oradb::autostartdatabase{'dbora':
  oracle_home  => '/opt/oracle/product/11g',
  db_name      => 'ORCL',
  user         => 'oracle',
  service_name => 'dbora',
}

Parameters:

  • oracle_home (String) (defaults to: undef)
  • db_name (String) (defaults to: lookup('oradb::database_name'))
  • user (String) (defaults to: lookup('oradb::user'))
  • service_name (String) (defaults to: lookup('oradb::host::service_name'))


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'manifests/autostartdatabase.pp', line 20

define oradb::autostartdatabase(
  String $oracle_home  = undef,
  String $db_name      = lookup('oradb::database_name'),
  String $user         = lookup('oradb::user'),
  String $service_name = lookup('oradb::host::service_name'),
){

  class { 'oradb::prepareautostart':
    oracle_home  => $oracle_home,
    user         => $user,
    service_name => $service_name,
  }

  $exec_path      = lookup('oradb::exec_path')
  $oratab         = lookup('oradb::oratab')
  $dbora_location = lookup('oradb::dbora_dir')

  case $facts['kernel'] {
    'Linux': {
      $sed_command = "sed -i -e's/:N/:Y/g' ${oratab}"
    }
    'SunOS': {
      $sed_command = "sed -e's/:N/:Y/g' ${oratab} > /tmp/oratab.tmp && mv /tmp/oratab.tmp ${oratab}"
    }
    default: {
      fail('Unrecognized operating system, please use it on a Linux or SunOS host')
    }
  }

  exec { "set dbora ${db_name}:${oracle_home}":
    command   => $sed_command,
    unless    => "/bin/grep '^${db_name}:${oracle_home}:Y' ${oratab}",
    require   => File["${dbora_location}/dbora"],
    path      => $exec_path,
    logoutput => true,
  }

}