Skip to content

Instantly share code, notes, and snippets.

@goutham27
Last active August 22, 2016 16:32
Show Gist options
  • Save goutham27/b9678904d4ac910f5edd688ba7b87e72 to your computer and use it in GitHub Desktop.
Save goutham27/b9678904d4ac910f5edd688ba7b87e72 to your computer and use it in GitHub Desktop.
#
#
class ve_oracle::database (
String $oracle_base = hiera('oracle_base_dir'),
String $oracle_home = hiera('oracle_home_dir'),
String $db_name = hiera('db_name')
) {
$folders = ['/data/oradata','/data/oradata/A001','/data/dpdump','/data/dpdump/safe']
file { $folders:
ensure => directory,
owner => 'oracle',
group => 'oinstall',
mode => '0775',
} ->
ora_database {$db_name:
ensure => present,
oracle_base => '/u01/app/oracle',
oracle_home => '/u01/app/oracle/product/12',
#control_file => 'reuse',
character_set => 'AL32UTF8',
national_character_set => 'AL16UTF16',
system_password => 'system',
sys_password => 'system',
maxinstances => 8,
maxloghistory => 1,
maxlogfiles => 16,
maxlogmembers => 3,
maxdatafiles => 100,
logfile_groups => [
{file_name => '/data/oradata/A001/redo01.log', size => '500M'},
{file_name => '/data/oradata/A001/redo02.log', size => '500M'},
{file_name => '/data/oradata/A001/redo03.log', size => '500M'},
],
datafiles => [
{ file_name => '/data/oradata/A001/system01.dbf', size => '2000M', reuse => true, autoextend => {next => '100M', maxsize => 'unlimited'}}
],
extent_management => 'local',
sysaux_datafiles => [
{file_name => '/data/oradata/A001/sysaux01.dbf', size => '2000M', reuse => true, autoextend => {next => '100M', maxsize => 'unlimited'}},
],
default_temporary_tablespace => {
name => 'TEMP',
#type => 'smallfile',
tempfile => { file_name => '/data/oradata/A001/temp01.dbf', size => '1000M', reuse => true,},
},
undo_tablespace => {
name => 'UNDOTBS1',
#type => 'smallfile',
datafile => { file_name => '/data/oradata/A001/undotbs01.dbf', size => '3000M', reuse => true, },
},
#spfile_location => '/u01/app/oracle/product/12/dbs',
init_ora_content => template('ve_oracle/init.ora.erb'),
config_scripts => [
{'CreateDBFiles' => template('ve_oracle/CreateDBFiles.sql.erb')},
{'CreateDBCatalog' => template('ve_oracle/CreateDBCatalog.sql.erb')},
{'JServer' => template('ve_oracle/JServer.sql.erb')},
{'xdb_protocol' => template('ve_oracle/xdb_protocol.sql.erb')},
{'ordinst' => template('ve_oracle/ordinst.sql.erb')},
{'interMedia' => template('ve_oracle/interMedia.sql.erb')},
{'emRepository' => template('ve_oracle/emRepository.sql.erb')},
{'apex' => template('ve_oracle/apex.sql.erb')},
{'lockAccount' => template('ve_oracle/lockAccount.sql.erb')},
{'postDBCreation' => template('ve_oracle/postDBCreation.sql.erb')},
],
}
ora_listener { $db_name:
ensure => running,
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment