| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- # == Class: oradb::client
- #
- #
- define oradb::client(
- $version = undef,
- $file = undef,
- $oracleBase = undef,
- $oracleHome = undef,
- $createUser = true,
- $user = 'oracle',
- $userBaseDir = '/home',
- $group = 'dba',
- $group_install = 'oinstall',
- $downloadDir = '/install',
- $puppetDownloadMntPoint = undef,
- $remoteFile = true,
- $logoutput = true,
- )
- {
- # check if the oracle software already exists
- $found = oracle_exists( $oracleHome )
- if $found == undef {
- $continue = true
- } else {
- if ( $found ) {
- $continue = false
- } else {
- notify {"oradb::installdb ${oracleHome} does not exists":}
- $continue = true
- }
- }
- if ( $continue ) {
- $execPath = "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
- $oraInventory = "${oracleBase}/oraInventory"
- if $puppetDownloadMntPoint == undef {
- $mountPoint = "puppet:///modules/oradb/"
- } else {
- $mountPoint = $puppetDownloadMntPoint
- }
- oradb::utils::structure{"oracle structure ${version}":
- oracle_base_home_dir => $oracleBase,
- ora_inventory_dir => $oraInventory,
- os_user => $user,
- os_group => $group,
- os_group_install => $group_install,
- os_group_oper => undef,
- download_dir => $downloadDir,
- log_output => true,
- user_base_dir => $userBaseDir,
- create_user => $createUser,
- }
- # db file installer zip
- if $remoteFile == true {
- file { "${downloadDir}/${file}":
- ensure => present,
- source => "${mountPoint}/${file}",
- require => Oradb::Utils::Structure["oracle structure ${version}"],
- before => "extract ${downloadDir}/${file}",
- mode => '0775',
- owner => $user,
- group => $group,
- }
- $source = $downloadDir
- } else {
- $source = $mountPoint
- }
- exec { "extract ${downloadDir}/${file}":
- command => "unzip -o ${source}/${file} -d ${downloadDir}/client_${version}",
- require => Oradb::Utils::Structure["oracle structure ${version}"],
- timeout => 0,
- path => $execPath,
- user => $user,
- group => $group,
- logoutput => false,
- }
- oradb::utils::orainst{"oracle orainst ${version}":
- ora_inventory_dir => $oraInventory,
- os_group => $group_install,
- }
- if ! defined(File["${downloadDir}/db_client_${version}.rsp"]) {
- file { "${downloadDir}/db_client_${version}.rsp":
- ensure => present,
- content => template("oradb/db_client_${version}.rsp.erb"),
- require => Oradb::Utils::Orainst["oracle orainst ${version}"],
- mode => '0775',
- owner => $user,
- group => $group,
- }
- }
- # In $downloadDir, will Puppet extract the ZIP files or is this a pre-extracted directory structure.
- exec { "install oracle client ${title}":
- command => "/bin/sh -c 'unset DISPLAY;${downloadDir}/client_${version}/client/runInstaller -silent -waitforcompletion -ignoreSysPrereqs -ignorePrereq -responseFile ${downloadDir}/db_client_${version}.rsp'",
- require => [Oradb::Utils::Orainst["oracle orainst ${version}"],
- File["${downloadDir}/db_client_${version}.rsp"],
- Exec["extract ${downloadDir}/${file}"]],
- creates => $oracleHome,
- timeout => 0,
- returns => [6,0],
- path => $execPath,
- user => $user,
- group => $group_install,
- logoutput => $logoutput,
- }
- exec { "run root.sh script ${title}":
- command => "${oracleHome}/root.sh",
- user => 'root',
- group => 'root',
- require => Exec["install oracle client ${title}"],
- path => $execPath,
- logoutput => $logoutput,
- }
- file { "${downloadDir}/netca_client_${version}.rsp":
- ensure => present,
- content => template("oradb/netca_client_${version}.rsp.erb"),
- require => Exec["run root.sh script ${title}"],
- mode => '0775',
- owner => $user,
- group => $group,
- }
- exec { "install oracle net ${title}":
- command => "${oracleHome}/bin/netca /silent /responsefile ${downloadDir}/netca_client_${version}.rsp",
- require => [File["${downloadDir}/netca_client_${version}.rsp"],
- Exec["run root.sh script ${title}"],
- ],
- creates => "${oracleHome}/network/admin/sqlnet.ora",
- path => $execPath,
- user => $user,
- group => $group,
- logoutput => $logoutput,
- }
- if ! defined(File["${userBaseDir}/${user}/.bash_profile"]) {
- file { "${userBaseDir}/${user}/.bash_profile":
- ensure => present,
- content => template("oradb/bash_profile.erb"),
- mode => '0775',
- owner => $user,
- group => $group,
- }
- }
- }
- }
|