Module: PuppetX::EnterpriseModules::Oracle::Directories
- Defined in:
- lib/puppet_x/enterprisemodules/oracle/directories.rb
Overview
docs
Class Method Summary collapse
Instance Method Summary collapse
- #confdir ⇒ Object
- #create_directories(_placeholder = nil, _options = {}) ⇒ Object
- #create_directory(path, _placeholder = nil, _options = {}) ⇒ Object
- #directories ⇒ Object
- #make_oracle_directory(path) ⇒ Object
- #named_oracle_directories ⇒ Object
- #oracle_directories_exists? ⇒ Boolean
- #oracle_home_name ⇒ Object
- #owned_by_oracle(*path) ⇒ Object
- #remove_directories(_placeholder = nil, _options = {}) ⇒ Object
- #remove_oracle_directory(path) ⇒ Object
- #sep ⇒ Object
Class Method Details
.included(parent) ⇒ Object
12 13 14 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 12 def self.included(parent) parent.extend(Directories) end |
Instance Method Details
#confdir ⇒ Object
16 17 18 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 16 def confdir Puppet::Util::Platform.windows? ? 'database' : 'dbs' end |
#create_directories(_placeholder = nil, _options = {}) ⇒ Object
69 70 71 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 69 def create_directories(_placeholder = nil, = {}) directories.each { |d| make_oracle_directory d } end |
#create_directory(path, _placeholder = nil, _options = {}) ⇒ Object
73 74 75 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 73 def create_directory(path, _placeholder = nil, = {}) make_oracle_directory path end |
#directories ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 40 def directories [ oracle_base, oracle_home, "#{oracle_home}#{sep}#{confdir}", "#{oracle_base}#{sep}admin", "#{oracle_base}#{sep}cfgtoollogs", "#{oracle_base}#{sep}cfgtoollogs#{sep}dbca", "#{oracle_base}#{sep}cfgtoollogs#{sep}dbca#{sep}#{name}" ] + named_oracle_directories end |
#make_oracle_directory(path) ⇒ Object
77 78 79 80 81 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 77 def make_oracle_directory(path) Puppet.debug "directories.rb: Creating directory #{path}" FileUtils.mkdir_p path owned_by_oracle(path) end |
#named_oracle_directories ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 52 def named_oracle_directories [ "#{oracle_base}#{sep}admin#{sep}#{name}", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}adump", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}ddump", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}dpdump", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}hdump", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}pfile", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}scripts", "#{oracle_base}#{sep}admin#{sep}#{name}#{sep}scripts#{sep}log" ] end |
#oracle_directories_exists? ⇒ Boolean
65 66 67 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 65 def oracle_directories_exists? named_oracle_directories.any? { |d| File.directory?(d) } end |
#oracle_home_name ⇒ Object
94 95 96 97 98 99 100 101 102 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 94 def oracle_home_name reg = Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\\Oracle') reg.each_key do |regkey| next unless /^KEY_/.match?(regkey) home_reg = Win32::Registry::HKEY_LOCAL_MACHINE.open("SOFTWARE\\Oracle\\#{regkey}") return home_reg['ORACLE_HOME_NAME'] if home_reg['ORACLE_HOME'] == oracle_home end end |
#owned_by_oracle(*path) ⇒ Object
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 83 def owned_by_oracle(*path) Puppet.debug "directories.rb: Setting ownership for #{path}" if Puppet::Util::Platform.windows? command = "#{oracle_home}\\bin\\oradim.exe -ACL -setperm diag -USER ORA_#{oracle_home_name}_SVCACCTS -OBJTYPE dir -OBJPATH #{path[0]} -RECURSE false" Puppet::Util::Execution.execute(command) else FileUtils.chmod 0o775, path FileUtils.chown oracle_user, install_group, path end end |
#remove_directories(_placeholder = nil, _options = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 24 def remove_directories(_placeholder = nil, = {}) remove_oracle_directory "#{oracle_base}#{sep}admin#{sep}#{name}" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}init#{name}.ora" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}spfile#{name}.ora" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}hc_#{name}.dat" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}lk#{name}.dat" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}orapw#{name}" remove_oracle_directory "#{oracle_home}#{sep}#{confdir}#{sep}PWD#{name}.ora" remove_oracle_directory "#{oracle_base}#{sep}cfgtoolslog#{sep}dbca#{sep}#{name}" end |
#remove_oracle_directory(path) ⇒ Object
35 36 37 38 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 35 def remove_oracle_directory(path) Puppet.debug "directories.rb: Removing file/directory #{path}" FileUtils.rm_rf path end |
#sep ⇒ Object
20 21 22 |
# File 'lib/puppet_x/enterprisemodules/oracle/directories.rb', line 20 def sep Puppet::Util::Platform.windows? ? '\\' : '/' end |