biemond / biemond-oradb

Puppet Oracle Database Module
Apache License 2.0
59 stars 113 forks source link

error related to home directory during install on 11.2.0.3 #51

Closed masterlf closed 7 years ago

masterlf commented 9 years ago

Hello, I am using the module and notice some issues as you can see below. I believe that the home directory is not well set everywhere so that if /home/oracle is not used but /opt/oracle for instance, we some error appearing. you will find below my class and then the log going with:

::oradb::installdb { '11.2.0.3_Linux-x86-64': version => '11.2.0.3', file => 'p10404530_112030_Linux-x86-64', databaseType => 'SE', oracleBase => '/opt/oracle', oracleHome => '/opt/oracle/product/11.2/db', user => 'oracle', group => 'dba', group_install => 'oinstall', downloadDir => '/install', remoteFile => true, puppetDownloadMntPoint => "puppet:///modules/oradb/", }


Notice: oradb::installdb /opt/oracle/product/11.2/db does not exists Notice: /Stage[main]/Profile::Oracle::Server_11203/Oradb::Installdb[11.2.0.3_Linux-x86-64]/Notify[oradb::installdb /opt/oracle/product/11.2/db does not exists]/message: defined 'message' as 'oradb::installdb /opt/oracle/product/11.2/db does not exists' Notice: /Stage[main]/Profile::Oracle::Server_11203/Oradb::Installdb[11.2.0.3_Linux-x86-64]/Oradb::Utils::Dborainst[database orainst 11.2.0.3]/File[/etc/oraInst.loc]/ensure: created Error: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-10141-15kar6s.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp Error: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-10141-15kar6s.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp Wrapped exception: No such file or directory - /home/oracle/.bash_profile20150417-10141-15kar6s.lock Error: /Stage[main]/Profile::Oracle::Server_11203/Oradb::Installdb[11.2.0.3_Linux-x86-64]/File[/home/oracle/.bash_profile]/ensure: change from absent to present failed: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-10141-15kar6s.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp

biemond commented 9 years ago

Hi,

did you also do this https://github.com/biemond/biemond-oradb#linux-kernel-ulimits-and-required-packages

like creating the oracle user and its groups because the oradb module won't do this because most people want to do this themselves.

Cheers

masterlf commented 9 years ago

Hi,

Thank you for your fast answer. I think you point the finger exactly on what is wrong. My groups are created but my oracle user might not be. I will fix this and test it again to confirm.

Regards

From: Edwin Biemond [mailto:notifications@github.com] Sent: 17 April 2015 12:59 To: biemond/biemond-oradb Cc: masterlf Subject: Re: [biemond-oradb] error related to home directory during install on 11.2.0.3 (#51)

Hi,

did you also do this https://github.com/biemond/biemond-oradb#linux-kernel-ulimits-and-required-packages

like creating the oracle user and its groups because the oradb module won't do this because most people want to do this themselves.

Cheers

— Reply to this email directly or view it on GitHub https://github.com/biemond/biemond-oradb/issues/51#issuecomment-93956240 . https://github.com/notifications/beacon/ALb8DgQcXY5WFtwIK2OAxuJbxYMCo-3rks5oANDIgaJpZM4ECnBq.gif

masterlf commented 9 years ago

Hi actually i checked and i confirmed the presence of the prerequisite where my oracle user is defined with /opt/oracle as well as the installdb base parameter. still like you can see in the logs /home/oracle is called...

if i am correct the issue might come from this piece of code where the home directory of the user is not really required but in my case i might have to redefine $userbasedir=/opt

code:

if ( $bashProfile == true ) {
  if ! defined(File["${userBaseDir}/${user}/.bash_profile"]) {
    file { "${userBaseDir}/${user}/.bash_profile":
      ensure  => present,
      # content => template('oradb/bash_profile.erb'),
      content => regsubst(template('oradb/bash_profile.erb'), '\r\n', "\n", 'EMG'),
      mode    => '0775',
      owner   => $user,
      group   => $group,
    }
  }
}

logs: Error: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-1298-b38wm5.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp Error: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-1298-b38wm5.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp Wrapped exception: No such file or directory - /home/oracle/.bash_profile20150417-1298-b38wm5.lock Error: /Stage[main]/Profile::Oracle::Server_11203/Oradb::Installdb[11.2.0.3_Linux-x86-64]/File[/home/oracle/.bash_profile]/ensure: change from absent to present failed: Could not set 'present' on ensure: No such file or directory - /home/oracle/.bash_profile20150417-1298-b38wm5.lock at 200:/etc/puppet/modules/oradb/manifests/installdb.pp

biemond commented 9 years ago

Hi,

you can set userBaseDir to /opt/oracle or disable it by setting bashProfile to false. Hope this will help.

Thanks

masterlf commented 9 years ago

Hello, i confirm that the following is the correct one to keep the bash script and using something else than /home as user directory: ::oradb::installdb { '11.2.0.3_Linux-x86-64': version => '11.2.0.3', file => 'p10404530_112030_Linux-x86-64', databaseType => 'SE', userBaseDir => '/opt', oracleBase => '/opt/oracle', oracleHome => '/opt/oracle/product/11.2/db', user => 'oracle', group => 'dba', group_install => 'oinstall', downloadDir => '/install', remoteFile => true, puppetDownloadMntPoint => "puppet:///modules/oradb/", initfile => true, }

thank you for your support, this was much appreciated. cheers