Defined Type: oradb::dbactions

Defined in:
manifests/dbactions.pp

Overview

dbactions

Oracle database control like stop, start & mount

Examples:

dbactions


oradb::dbactions{ 'start testDb':
  oracle_home             => '/oracle/product/11.2/db',
  user                    => 'oracle',
  group                   => 'dba',
  action                  => 'start',
  db_name                 => 'test',
}

Parameters:

  • user (String) (defaults to: lookup('oradb::user'))

    operating system user

  • group (String) (defaults to: lookup('oradb::group'))

    the operating group name for using the oracle software

  • db_type (Enum['database', 'grid', 'asm']) (defaults to: 'database')
  • oracle_home (Optional[String]) (defaults to: undef)

    full path to the Oracle Home directory inside Oracle Base

  • action (Enum['start', 'stop', 'running', 'abort','mount']) (defaults to: 'start')

    start, mount or stop the database

  • db_name (String) (defaults to: lookup('oradb::database_name'))
  • provider (Enum['srvctl','sqlplus']) (defaults to: 'sqlplus')


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
# File 'manifests/dbactions.pp', line 24

define oradb::dbactions(
  Enum['database', 'grid', 'asm'] $db_type                  = 'database',
  Optional[String] $oracle_home                             = undef,
  String $user                                              = lookup('oradb::user'),
  String $group                                             = lookup('oradb::group'),
  Enum['start', 'stop', 'running', 'abort','mount'] $action = 'start',
  String $db_name                                           = lookup('oradb::database_name'),
  Enum['srvctl','sqlplus'] $provider                        = 'sqlplus',
){
  if ( $db_type in ['grid','asm'] and $provider != 'srvctl') {
    fail('Provider must be srvctl if db_type is grid or asm')
  }
  if ( $db_type in ['grid','asm'] and !($action in ['running','start','abort','stop'])) {
    fail('Unrecognized action for db_type grid and asm, use running, start, abort or stop')
  }
  if ( $db_type == 'database' and !($action in ['running','start','abort','stop','mount'])) {
    fail('Unrecognized action for db_type grid and asm, use running, start, abort, stop or mount')
  }

  db_control{"instance control ${title}":
    ensure                  => $action,
    provider                => $provider,
    instance_name           => $db_name,
    oracle_product_home_dir => $oracle_home,
    os_user                 => $user,
    db_type                 => $db_type,
  }
}