Module: PuppetX::EnterpriseModules::Oracle::Information
- Included in:
- OracleFeature, Password, Settings
- Defined in:
- lib/puppet_x/enterprisemodules/oracle/information.rb
Overview
Docs
Class Method Summary collapse
Instance Method Summary collapse
- #cached_sid_value(name, sid) ⇒ Object
- #cluster?(on_sid = sid) ⇒ Boolean
- #cluster_instances(on_sid = sid) ⇒ Object
- #containerdb?(on_sid = sid) ⇒ Boolean
- #database_properties(on_sid = sid) ⇒ Object
- #database_version(on_sid = sid) ⇒ Object
- #db_create_file_dest(on_sid = sid) ⇒ Object
- #db_domain(on_sid = sid) ⇒ Object
- #db_for(on_sid = sid) ⇒ Object
- #diagnostic_dest(on_sid = sid) ⇒ Object
- #local_sid_for_db(db) ⇒ Object
- 
  
    
      #open_pdbs(on_sid = sid)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Don’t cache this one. 
- #oracle_major_version(on_sid = sid) ⇒ Object
- #oracle_managed_files_enabled?(on_sid = sid) ⇒ Boolean
- #pdb?(on_sid = sid) ⇒ Boolean
- #primary?(on_sid = sid) ⇒ Boolean
- #rootdb?(on_sid = sid) ⇒ Boolean
- #seeddb?(on_sid = sid) ⇒ Boolean
- #sid_for(on_sid = sid) ⇒ Object
- #value_for_init_param(init_param, on_sid = sid) ⇒ Object
Class Method Details
.included(parent) ⇒ Object
| 11 12 13 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 11 def self.included(parent) parent.extend(Information) end | 
Instance Method Details
#cached_sid_value(name, sid) ⇒ Object
| 15 16 17 18 19 20 21 22 23 24 25 26 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 15 def cached_sid_value(name, sid) # rubocop:disable Style/ClassVars @@cache ||= {} # rubocop:enable Style/ClassVars @@cache[name] ||= {} if @@cache[name][sid].nil? @@cache[name][sid] = yield else Puppet.debug "Using cached version of #{name} for sid #{sid}." @@cache[name][sid] end end | 
#cluster?(on_sid = sid) ⇒ Boolean
| 32 33 34 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 32 def cluster?(on_sid = sid) cached_sid_value(:cluster, on_sid) { sql('select parallel as par from v$instance', :sid => on_sid).first['PAR'] == 'YES' } end | 
#cluster_instances(on_sid = sid) ⇒ Object
| 72 73 74 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 72 def cluster_instances(on_sid = sid) cached_sid_value(:cluster_instances, on_sid) { sql('select INSTANCE_NAME from gv$instance', :sid => on_sid).collect { |e| e['INSTANCE_NAME'] } } end | 
#containerdb?(on_sid = sid) ⇒ Boolean
| 36 37 38 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 36 def containerdb?(on_sid = sid) oracle_major_version(on_sid) >= 12 && cached_sid_value(:containerdb, on_sid) { sql('SELECT CDB FROM V$DATABASE', :sid => on_sid).first['CDB'] == 'YES' } end | 
#database_properties(on_sid = sid) ⇒ Object
| 96 97 98 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 96 def database_properties(on_sid = sid) cached_sid_value(:database_properties, on_sid) { sql('select property_name, property_value as value from database_properties', :sid => on_sid) } end | 
#database_version(on_sid = sid) ⇒ Object
| 76 77 78 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 76 def database_version(on_sid = sid) cached_sid_value(:database_version, on_sid) { sql('select version from v$instance', :sid => on_sid).first['VERSION'] } end | 
#db_create_file_dest(on_sid = sid) ⇒ Object
| 84 85 86 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 84 def db_create_file_dest(on_sid = sid) cached_sid_value(:db_create_file_dest, on_sid) { sql("select value from v$parameter where name = 'db_create_file_dest'", :sid => on_sid).first['VALUE'] } end | 
#db_domain(on_sid = sid) ⇒ Object
| 80 81 82 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 80 def db_domain(on_sid = sid) cached_sid_value(:db_domain, on_sid) { sql("select value from v$parameter where name = 'db_domain'", :sid => on_sid).first['VALUE'] } end | 
#db_for(on_sid = sid) ⇒ Object
| 108 109 110 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 108 def db_for(on_sid = sid) cluster?(on_sid) ? sid_for(on_sid).chop : sid_for(on_sid) end | 
#diagnostic_dest(on_sid = sid) ⇒ Object
| 88 89 90 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 88 def diagnostic_dest(on_sid = sid) cached_sid_value(:diagnostic_dest, on_sid) { sql("select value from v$parameter where name = 'diagnostic_dest'", :sid => on_sid).first['VALUE'] } end | 
#local_sid_for_db(db) ⇒ Object
| 112 113 114 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 112 def local_sid_for_db(db) running_sids.find { |sid| sid.include? db } end | 
#open_pdbs(on_sid = sid) ⇒ Object
Don’t cache this one. This might change during a run and we always need the latest value
| 62 63 64 65 66 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 62 def open_pdbs(on_sid = sid) return [] unless containerdb?(on_sid) sql("select name from v$pdbs where open_mode != 'MOUNTED'", :sid => on_sid).map { |e| e['NAME'] } end | 
#oracle_major_version(on_sid = sid) ⇒ Object
| 100 101 102 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 100 def oracle_major_version(on_sid = sid) database_version(on_sid).split('.').first.to_i end | 
#oracle_managed_files_enabled?(on_sid = sid) ⇒ Boolean
| 28 29 30 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 28 def oracle_managed_files_enabled?(on_sid = sid) !db_create_file_dest(on_sid).to_s.empty? end | 
#pdb?(on_sid = sid) ⇒ Boolean
| 52 53 54 55 56 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 52 def pdb?(on_sid = sid) return false unless containerdb?(on_sid) oracle_major_version(on_sid) >= 12 && cached_sid_value(:pdb, on_sid) { sql("select sys_context('userenv', 'con_id') as con_id from dual", :sid => on_sid).first['CON_ID'].to_i > 2 } end | 
#primary?(on_sid = sid) ⇒ Boolean
| 68 69 70 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 68 def primary?(on_sid = sid) cached_sid_value(:primary, on_sid) { sql('select database_role from v$database', :sid => on_sid).first['DATABASE_ROLE'] == 'PRIMARY' } end | 
#rootdb?(on_sid = sid) ⇒ Boolean
| 40 41 42 43 44 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 40 def rootdb?(on_sid = sid) return false unless containerdb?(on_sid) oracle_major_version(on_sid) >= 12 && cached_sid_value(:rootdb, on_sid) { sql("select sys_context('userenv', 'con_id') as con_id from dual", :sid => on_sid).first['CON_ID'] == '1' } end | 
#seeddb?(on_sid = sid) ⇒ Boolean
| 46 47 48 49 50 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 46 def seeddb?(on_sid = sid) return false unless containerdb?(on_sid) oracle_major_version(on_sid) >= 12 && cached_sid_value(:seeddb, on_sid) { sql("select sys_context('userenv', 'con_id') as con_id from dual", :sid => on_sid).first['CON_ID'] == '2' } end | 
#sid_for(on_sid = sid) ⇒ Object
| 104 105 106 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 104 def sid_for(on_sid = sid) pdb?(on_sid) ? configuration_for(on_sid)['contained_by'] : on_sid end | 
#value_for_init_param(init_param, on_sid = sid) ⇒ Object
| 92 93 94 | # File 'lib/puppet_x/enterprisemodules/oracle/information.rb', line 92 def value_for_init_param(init_param, on_sid = sid) cached_sid_value(init_param, on_sid) { sql("select value from v$parameter where name = '#{init_param}'", :sid => on_sid).first['VALUE'] || '' } end |