Class: MintPress::OracleGridInfrastructure::Installation

Inherits:
Object
  • Object
show all
Includes:
MintLogger, Mixins::Properties
Defined in:
src/oracle-database/lib/oracle-database/model/grid/installation.rb

Overview

An Oracle Grid installation object that represents an ORACLE_HOME on a target node/host for the Oracle Database Grid Infrastructure software. This class provides a set of methods to install, patch, and manage an installation ORACLE_HOME on a target host/node

Properties (Read/Write)

  • #name ⇒ String (Default Value: self.class.to_s.gsub('::',''))

    Property Attributes
    • defaultself.class.to_s.gsub('::','')
    
    
    26
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 26
    
    property :name, type: String, default: self.class.to_s.gsub('::','')
  • #node ⇒ MintPress::OracleDatabase::Node (Default Value: Proc.new { r=nil puts "node proc" if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node) puts "proc parent" r=self.parent else puts "proc new node" begin r=MintPress::OracleDatabase::Node.new(installations: self) rescue => e puts e.to_s end end puts "r is #{r}" r })
    The logic on this one is a little complicated - essentially: * If our _parent_ is a node, then (a) this should already be filled out, but (b) lets have the proc return it * Otherwise, we create a node with _installations_ set to _self_. This will actually cause it to eventually have a host, because node gets its host from Insatllation if one isn't supplied to it - so lets keep that logic

    Property Attributes
    • defaultProc.new { r=nil puts "node proc" if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node) puts "proc parent" r=self.parent else puts "proc new node" begin r=MintPress::OracleDatabase::Node.new(installations: self) rescue => e puts e.to_s end end puts "r is #{r}" r }
    • no_backreftrue
    • paralleltrue
    
    
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 32
    
    property :node, type: MintPress::OracleDatabase::Node, default: Proc.new { r=nil
    puts "node proc"
    if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node)
      puts "proc parent"
      r=self.parent 
    else 
      puts "proc new node"
      begin
       r=MintPress::OracleDatabase::Node.new(installations: self)
      rescue => e
        puts e.to_s
      end
    end
    puts "r is #{r}"
    r }, no_backref: true, parallel: true
  • #host ⇒ MintPress::Infrastructure::Host (Default Value: Proc.new { r=nil if self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host) r = self.node.host elsif self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r })
    If _this_ is not defined, it returns a new transport based on the node

    Property Attributes
    • defaultProc.new { r=nil if self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host) r = self.node.host elsif self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r }
    
    
    49
    50
    51
    52
    53
    54
    55
    56
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 49
    
    property :host, type: MintPress::Infrastructure::Host, default: Proc.new { r=nil
     if self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host)
       r = self.node.host
      elsif self.default_localhost
        r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user)
      end
     r
    }
  • #java_home ⇒ Pathname (Default Value: '/oracle/app/java')

    Property Attributes
    • fromString
    • requiredtrue
    • default'/oracle/app/java'
    
    
    64
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 64
    
    property :java_home, type: Pathname, from: String, required: true, default: '/oracle/app/java'
  • #oracle_base ⇒ Pathname (Default Value: '/oracle/app')

    Property Attributes
    • fromString
    • requiredtrue
    • default'/oracle/app'
    
    
    66
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 66
    
    property :oracle_base, type: Pathname, from: String, required: true, default: '/oracle/app'
  • #oracle_home ⇒ Pathname (Default Value: '/oracle/app/grid')

    Property Attributes
    • fromString
    • requiredtrue
    • default'/oracle/app/grid'
    
    
    67
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 67
    
    property :oracle_home, type: Pathname, from: String, required: true, default: '/oracle/app/grid'
  • #version ⇒ String

    Property Attributes
    • requiredtrue
    
    
    69
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 69
    
    property :version, type: String, required: true
  • #inventory_location ⇒ Pathname (Default Value: '/oracle/app/oraInventory')
    Specify the location which holds the inventory files. This is an optional parameter if installing on Windows based Operating System.

    Property Attributes
    • fromString
    • default'/oracle/app/oraInventory'
    
    
    74
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 74
    
    property :inventory_location, type: Pathname, from: String, default: '/oracle/app/oraInventory'
  • #owner ⇒ String (Default Value: 'oracle')
    The OS owner of Oracle Grid Infrastructure installation

    Property Attributes
    • requiredtrue
    • default'oracle'
    
    
    79
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 79
    
    property :owner, type: String, required: true, default: 'oracle'
  • #group ⇒ String (Default Value: 'oinstall')
    The OS group of Oracle Grid Infrastructure installation

    Property Attributes
    • requiredtrue
    • default'oinstall'
    
    
    81
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 81
    
    property :group, type: String, required: true, default: 'oinstall'
  • #group_osdba ⇒ String

    Property Attributes
    • requiredtrue
    
    
    83
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 83
    
    property :group_osdba, type: String, required: true
  • #group_osoper ⇒ String

    Property Attributes
    • requiredtrue
    
    
    84
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 84
    
    property :group_osoper, type: String, required: true
  • #group_osasm ⇒ String

    Property Attributes
    • requiredtrue
    
    
    85
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 85
    
    property :group_osasm, type: String, required: true
  • #software_stage ⇒ Pathname
    The location of the Oracle Grid Infrastructure installation software installation media

    Property Attributes
    • fromString
    • requiredtrue
    
    
    88
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 88
    
    property :software_stage, type: Pathname, from: String, required: true
  • #patches ⇒ Array of ⇒ MintPress::OracleDatabase::Patch
    A list of patches for Oracle Grid Infrastructure installation

    Property Attributes
    • fromHash
    
    
    91
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 91
    
    property :patches, type: MintPress::OracleDatabase::Patch, array: true, from: Hash
  • #opatch_autoupdate ⇒ [TrueClass, FalseClass] (Default Value: false)
    "Automatically update OPatch?"

    Property Attributes
    • defaultfalse
    
    
    93
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 93
    
    property :opatch_autoupdate, type: [TrueClass, FalseClass], default: false, description: "Automatically update OPatch?"
  • #opatch_autoupdate_file ⇒ Pathname
    "Location of OPatch file to autoupdate"

    Property Attributes
    • fromString
    
    
    94
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 94
    
    property :opatch_autoupdate_file, type: Pathname, from: String, description: "Location of OPatch file to autoupdate"
  • #target_tmp_dir ⇒ String (Default Value: '#{oracle_home}/../tmp')
    Single quotes for late binding

    Property Attributes
    • default'#{oracle_home}/../tmp'
    
    
    97
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 97
    
    property :target_tmp_dir, type: String, default: '#{oracle_home}/../tmp'
  • #parent ⇒ MintPress::OracleDatabase::Node

    Property Attributes
    • prop_name:installations
    
    
    99
    # File 'src/oracle-database/lib/oracle-database/model/grid/installation.rb', line 99
    
    property :parent, type: MintPress::OracleDatabase::Node, prop_name: :installations

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Constructor Details

#initialize(opts = {}) ⇒ Installation

Returns a new instance of Installation.

Instance Method Details

#add_patch(patch = {}) ⇒ void

This method returns an undefined value.

Add a patch to the Installation configuration

#exists?TrueClass | FalseClass

Does the installation exist? Verify from inventory comps.xml on the target host/node

Returns:

  • (TrueClass | FalseClass)

#harvestvoid

This method returns an undefined value.

Harvest the Installation configuration from the target

#harvest_patchesvoid

This method returns an undefined value.

Harvest the patches from the Installation configuration from the target

#installvoid

This method returns an undefined value.

Perform installation of a new Oracle installation (ORACLE_HOME).

#installed_versionString

Determine the version of the installation from inventory comps.xml on the target host/node

Returns:

#instances_running?TrueClass | FalseClass

Are there any running Oracle database instances associated with this ORACLE_HOME Installation?

Returns:

  • (TrueClass | FalseClass)

#root_shvoid

This method returns an undefined value.

Run the ROOT.SH script as a required post-installation step of a new Oracle installation.

#to_hashHash

Return a Hash representation for the Installation and all its sub-classes.

Returns:

  • (Hash)
    the object in Hash format

#uninstallvoid

This method returns an undefined value.

Perform uninstall of a new Oracle installation (ORACLE_HOME).

#usageObject

#version_numeric(v = nil) ⇒ Integer

Determine the version of the installation from inventory comps.xml on the target host/node. Return in numeric format, left justified and padded with zeros (0). This is to facilitiate numeric comparisons when comparing versions.

Returns:

  • (Integer)
    - example version 12.2.0.1 will return 1220100