Class: MintPress::OracleDatabase::Installation
- Inherits:
-
Object
- Object
- MintPress::OracleDatabase::Installation
- Includes:
- MintLogger, Mixins::Properties
- Defined in:
- src/oracle-database/lib/oracle-database/model/database/installation.rb,
src/oracle-weblogic/lib/oracle-weblogic/patch.rb,
src/oracle-weblogic/lib/oracle-weblogic/patchset.rb
Overview
Properties (Read/Write)
-
#name ⇒ String (Default Value: self.class.to_s.gsub('::',''))
The name of ORACLE_HOME installation
Property Attributes- default ⇒ self.class.to_s.gsub('::','')
26
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 26 property :name, type: String, default: self.class.to_s.gsub('::','')
-
#node ⇒ MintPress::OracleDatabase::Node (Default Value: Proc.new { r=nil
verbose "node proc"
if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node)
verbose "proc parent"
r=self.parent
elsif self.host
verbose "proc new node"
begin
r=MintPress::OracleDatabase::Node.new(installations: self)
rescue => e
verbose e.to_s
end
end
verbose "r on node is #{r}"
r })
Node is not required for a single instance installation, however it is still provided here as a property because it is used for RAC/grid installations, since it encapsulates VIPs and such, and it makes sense that if you are already using those objects, to use them all the way through the stack. Hence, if you don't specify a node object, one will be created for you based upon the contents of the host property - for the simple single node database server, this is what you want. For RAC installations, you'll want to specify these nodes for each installation (if your system allows it, such as Chef and Puppet, you can comma seperate these in order to install accross your entire cluster with a single resource)
Property Attributes- default ⇒ Proc.new { r=nil verbose "node proc" if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node) verbose "proc parent" r=self.parent elsif self.host verbose "proc new node" begin r=MintPress::OracleDatabase::Node.new(installations: self) rescue => e verbose e.to_s end end verbose "r on node is #{r}" r }
- no_backref ⇒ true
- parallel ⇒ true
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 34 property :node, type: MintPress::OracleDatabase::Node, default: Proc.new { r=nil verbose "node proc" if self.get_property(:parent).is_a?(MintPress::OracleDatabase::Node) verbose "proc parent" r=self.parent elsif self.host verbose "proc new node" begin r=MintPress::OracleDatabase::Node.new(installations: self) rescue => e verbose e.to_s end end verbose "r on node 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).respond_to?(:get_property) and self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host)
r = self.node.host
elsif self.java and self.java.host
r = self.java.host
elsif self.default_localhost
r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user)
end
verbose "r on host is #{r}"
r
})
The host on which to install the database software. If the property `node` has been set, it will default to the host set in that property. Alternatly, if the property `java` has been set, it will default to the host of the java installation. Finally, if not specified, it will default to localhost on systems where that makes sense.
Property Attributes- default ⇒ Proc.new { r=nil if self.get_property(:node, disable_proc: true).respond_to?(:get_property) and self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host) r = self.node.host elsif self.java and self.java.host r = self.java.host elsif self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end verbose "r on host is #{r}" r }
53 54 55 56 57 58 59 60 61 62 63
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 53 property :host, type: MintPress::Infrastructure::Host, default: Proc.new { r=nil if self.get_property(:node, disable_proc: true).respond_to?(:get_property) and self.get_property(:node, disable_proc: true).get_property(:host, disable_proc: true).is_a?(MintPress::Infrastructure::Host) r = self.node.host elsif self.java and self.java.host r = self.java.host elsif self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end verbose "r on host is #{r}" r }
-
#java ⇒ MintPress::OracleJava::Installation
Which java installation should we use?
Property Attributes72
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 72 property :java, type: MintPress::OracleJava::Installation
-
#java_home ⇒ Pathname (Default Value: Proc.new { java.java_home })
Where is the java home? This defaults to the java home of the selected java installation, and is provided as an option for when you have installed java on the system via some other mechanism, and just wish to point to it rather than specifying a java object - it will default to the java_home attribute of the java property if that is supplied
Property Attributes- from ⇒ String
- required ⇒ true
- default ⇒ Proc.new { java.java_home }
76
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 76 property :java_home, type: Pathname, from: String, required: true, default: Proc.new { java.java_home }
-
#oracle_base ⇒ Pathname (Default Value: Proc.new { File.expand_path("#{self.oracle_home}/..") })
The oracle base for the server installation. This will default to one level above oracle_home Specify the complete path of the Oracle Base.
Property Attributes- from ⇒ String
- required ⇒ true
- default ⇒ Proc.new { File.expand_path("#{self.oracle_home}/..") }
80
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 80 property :oracle_base, type: Pathname, from: String, required: true, default: Proc.new { File.("#{self.oracle_home}/..") }
-
#oracle_home ⇒ Pathname
The oracle home for the server installation Specify the complete path of the Oracle Home.
Property Attributes- from ⇒ String
- required ⇒ true
83
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 83 property :oracle_home, type: Pathname, from: String, required: true
-
#version ⇒ String
The version of the database server which we are attempting to install
Property Attributes- required ⇒ true
86
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 86 property :version, type: String, required: true
-
#inventory_location ⇒ Pathname (Default Value: '/oracle/app/oraInventory')
Location of the oraInventory file Specify the location which holds the inventory files. This is an optional parameter if installing on Windows based Operating System.
Property Attributes- from ⇒ String
- default ⇒ '/oracle/app/oraInventory'
92
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 92 property :inventory_location, type: Pathname, from: String, default: '/oracle/app/oraInventory'
-
#oracle_hostname ⇒ String (Default Value: Proc.new { transport.execute("hostname -s").stdout.strip })
The hostname of the system - this will default to the hostname of the box on which you're installing
Property Attributes- default ⇒ Proc.new { transport.execute("hostname -s").stdout.strip }
97
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 97 property :oracle_hostname, type: String, default: Proc.new { transport.execute("hostname -s").stdout.strip }
-
#install_type ⇒ String (Default Value: 'INSTALL_DB_SWONLY')
Which installation type is desired - in mintpress, you almost always want 'INSTALL_DB_SWONLY' for new installations, however you may also use the 'UPGRADE_DB' installation type for upgrading versions Specify the installation option. It can be one of the following: - INSTALL_DB_SWONLY - INSTALL_DB_AND_CONFIG - UPGRADE_DB
Property Attributes- required ⇒ true
- default ⇒ 'INSTALL_DB_SWONLY'
- allowed_values ⇒ %w{INSTALL_DB_SWONLY INSTALL_DB_AND_CONFIG UPGRADE_DB}
106
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 106 property :install_type, type: String, required: true, default: 'INSTALL_DB_SWONLY', allowed_values: %w{INSTALL_DB_SWONLY INSTALL_DB_AND_CONFIG UPGRADE_DB}
-
#edition ⇒ String (Default Value: 'EE')
Do you want to install the Enterprise or Standard editions? Specify the installation edition of the component. The value should contain only one of these choices. - EE : Enterprise Edition - SE2 : Standard Edition 2
Property Attributes- required ⇒ true
- default ⇒ 'EE'
- allowed_values ⇒ %w{EE SE2}
113
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 113 property :edition, type: String, required: true, default: 'EE', allowed_values: %w{EE SE2}
-
#ee_options ⇒ Array of ⇒ String (Default Value: %w{PARTITIONING OLAP DATA_MINING LABEL_SECURITY REAL_APPLICATIONS_TESTING})
Which enterprise edition features should be enabled?
Property Attributes- required ⇒ true
- default ⇒ %w{PARTITIONING OLAP DATA_MINING LABEL_SECURITY REAL_APPLICATIONS_TESTING}
115
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 115 property :ee_options, type: String, required: true, array: true, default: %w{PARTITIONING OLAP DATA_MINING LABEL_SECURITY REAL_APPLICATIONS_TESTING}
-
#owner ⇒ String (Default Value: Proc.new { transport.execute('whoami').stdout.strip })
Which user should own the database? This defaults to the current system user
Property Attributes- default ⇒ Proc.new { transport.execute('whoami').stdout.strip }
118
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 118 property :owner, type: String, default: Proc.new { transport.execute('whoami').stdout.strip }
-
#group ⇒ String (Default Value: Proc.new { transport.execute("id | awk '{print $2}' | sed 's/.*(//g' | sed 's/)$//g'").stdout.strip })
PRIVILEGED OPERATING SYSTEM GROUPS # ------------------------------------------ # Provide values for the OS groups to which SYSDBA and SYSOPER privileges # needs to be granted. If the install is being performed as a member of the # group "dba", then that will be used unless specified otherwise below. # # The value to be specified for OSDBA and OSOPER group is only for UNIX based # Operating System. # Which group should own the database? This defaults to the current system user's primary group Specify the Unix group to be set for the inventory directory.
Property Attributes- default ⇒ Proc.new { transport.execute("id | awk '{print $2}' | sed 's/.*(//g' | sed 's/)$//g'").stdout.strip }
129
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 129 property :group, type: String, default: Proc.new { transport.execute("id | awk '{print $2}' | sed 's/.*(//g' | sed 's/)$//g'").stdout.strip }
-
#group_osdba ⇒ String (Default Value: 'dba')
PRIVILEGED OPERATING SYSTEM GROUPS # ------------------------------------------ # Provide values for the OS groups to which SYSDBA and SYSOPER privileges # needs to be granted. If the install is being performed as a member of the # group "dba", then that will be used unless specified otherwise below. # # The value to be specified for OSDBA and OSOPER group is only for UNIX based # Operating System. # The OS group to use for DBA users, aka the "osdba" group. Members of this group are granted access privileges to Oracle Automatic Storage Management. The OSDBA_GROUP is the OS group which is to be granted SYSDBA privileges.
Property Attributes- required ⇒ true
- default ⇒ 'dba'
141
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 141 property :group_osdba, type: String, required: true, default: 'dba'
-
#group_osoper ⇒ String (Default Value: 'oper')
The OS group to use for operator users. Members of this group are granted startup and shutdown privileges to Oracle Automatic Storage Management. The OSOPER_GROUP is the OS group which is to be granted SYSOPER privileges. The value to be specified for OSOPER group is optional.
Property Attributes- required ⇒ true
- default ⇒ 'oper'
145
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 145 property :group_osoper, type: String, required: true, default: 'oper'
-
#group_osbackupdba ⇒ String
Members of this group are granted the SYSDBA system privileges to administer the database. The OSBACKUPDBA_GROUP is the OS group which is to be granted SYSBACKUP privileges.
Property Attributes148
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 148 property :group_osbackupdba, type: String
-
#group_dgdba ⇒ String
Members of this group are granted the SYSDG privileges to perform Data Guard operations. The OSDGDBA_GROUP is the OS group which is to be granted SYSDG privileges.
Property Attributes151
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 151 property :group_dgdba, type: String
-
#group_oskmdba ⇒ String
Members of this group are granted the SYSKM privileges to perform Transparent Data Encryption keystore operations. The OSKMDBA_GROUP is the OS group which is to be granted SYSKM privileges.
Property Attributes154
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 154 property :group_oskmdba, type: String
-
#group_osracdba ⇒ String
Members of this group are granted the SYSRAC privileges to perform day–to–day administration of Oracle databases on an Oracle RAC cluster. The OSRACDBA_GROUP is the OS group which is to be granted SYSRAC privileges.
Property Attributes157
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 157 property :group_osracdba, type: String
-
#rac_configuration_type ⇒ String (Default Value: 'ADMIN_MANAGED')
Specify the type of Real Application Cluster Database - ADMIN_MANAGED: Admin-Managed - POLICY_MANAGED: Policy-Managed If left unspecified, default will be ADMIN_MANAGED
Property Attributes- default ⇒ 'ADMIN_MANAGED'
- allowed_values ⇒ %w{ADMIN_MANAGED POLICY_MANAGED}
165
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 165 property :rac_configuration_type, type: String, default: 'ADMIN_MANAGED', allowed_values: %w{ADMIN_MANAGED POLICY_MANAGED}
-
#cluster_nodes ⇒ String
In a cluster, a comma separated list of nodes Value is required only if RAC database type is ADMIN_MANAGED Specify the cluster node names selected during the installation. Leaving it blank will result in install on local server only (Single Instance) Example : oracle.install.db.CLUSTER_NODES=node1,node2
Property Attributes174
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 174 property :cluster_nodes, type: String
-
#rac_one_enabled ⇒ [ TrueClass, FalseClass ] (Default Value: false)
This variable is used to enable or disable RAC One Node install. - true : Value of RAC One Node service name is used. - false : Value of RAC One Node service name is not used. If left blank, it will be assumed to be false.
Property Attributes- default ⇒ false
182
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 182 property :rac_one_enabled, type: [ TrueClass, FalseClass ], default: false
-
#rac_one_service_name ⇒ String
Value is required only if oracle.install.db.isRACOneInstall is true. Specify the name for RAC One Node Service
Property Attributes185
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 185 property :rac_one_service_name, type: String
-
#rac_serverpool_name ⇒ String
Value is required only if RAC database type is POLICY_MANAGED Specify a name for the new Server pool that will be configured Example : oracle.install.db.rac.serverpoolName=pool1
Property Attributes190
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 190 property :rac_serverpool_name, type: String
-
#rac_serverpool_cardinality ⇒ Integer (Default Value: 2)
Value is required only if RAC database type is POLICY_MANAGED Specify a number as cardinality for the new Server pool that will be configured Example : oracle.install.db.rac.serverpoolCardinality=2
Property Attributes- default ⇒ 2
195
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 195 property :rac_serverpool_cardinality, type: Integer, default: 2
-
#ignore_prereqs ⇒ [ TrueClass, FalseClass ] (Default Value: false)
Should the installer ignore prerequisite checks?
Property Attributes- default ⇒ false
198
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 198 property :ignore_prereqs, type: [ TrueClass, FalseClass ], default: false
-
#ignore_sysprereqs ⇒ [ TrueClass, FalseClass ] (Default Value: false)
Should the installer ignore system level prerequisite checks?
Property Attributes- default ⇒ false
200
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 200 property :ignore_sysprereqs, type: [ TrueClass, FalseClass ], default: false
-
#wait_for_completion ⇒ [ TrueClass, FalseClass ] (Default Value: true)
Should the installer wait for completion, or return immediatly and run in the background?
Property Attributes- default ⇒ true
202
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 202 property :wait_for_completion, type: [ TrueClass, FalseClass ], default: true
-
#software_stage ⇒ Pathname
Location of the oracle database installer software. If this is not available on the target node, but is available on the control node, it will be transfered there prior to installation
Property Attributes- from ⇒ String
- required ⇒ true
206
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 206 property :software_stage, type: Pathname, from: String, required: true
-
#patches ⇒ Array of ⇒ MintPress::OracleDatabase::Patch
A list of patches to be applied to this installation
Property Attributes- from ⇒ Hash
209
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 209 property :patches, type: MintPress::OracleDatabase::Patch, array: true, from: Hash
-
#opatch_autoupdate ⇒ [TrueClass, FalseClass] (Default Value: false)
"Automatically update OPatch?"
Property Attributes- default ⇒ false
211
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 211 property :opatch_autoupdate, type: [TrueClass, FalseClass], default: false, description: "Automatically update OPatch?"
-
#opatch_autoupdate_file ⇒ Pathname
"Location of OPatch file to autoupdate"
Property Attributes- from ⇒ String
212
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 212 property :opatch_autoupdate_file, type: Pathname, from: String, description: "Location of OPatch file to autoupdate"
-
#optional_args ⇒ String (Default Value: "")
Additional arguments to pass to the installer command line
Property Attributes- default ⇒ ""
215
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 215 property :optional_args, type: String, default: ""
-
#target_tmp_dir ⇒ String (Default Value: '#{oracle_home}/../tmp')
The location to be used as TEMP directory on the target node/host and set as the TEMP_DIR for the Oracle installation Note: Single quotes for late binding
Property Attributes- default ⇒ '#{oracle_home}/../tmp'
219
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 219 property :target_tmp_dir, type: String, default: '#{oracle_home}/../tmp'
-
#database ⇒ MintPress::OracleDatabase::Database
Links to all of the databases using this installation
Property Attributes222
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 222 property :database, type: MintPress::OracleDatabase::Database
-
#grid ⇒ MintPress::OracleGridInfrastructure::Grid
Link to the grid installation related to this database server installation
Property Attributes224
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 224 property :grid, type: MintPress::OracleGridInfrastructure::Grid
-
#parent ⇒ MintPress::OracleDatabase::Node
Property Attributes- prop_name ⇒ :installations
225
# File 'src/oracle-database/lib/oracle-database/model/database/installation.rb', line 225 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
-
#add_patch(patch = {}) ⇒ void
Add a patch to the Installation configuration.
-
#configure_stage ⇒ void
Validate and configure stage.
-
#exists? ⇒ TrueClass | FalseClass
Does the installation exist? Verify from inventory comps.xml on the target host/node.
-
#extract_image ⇒ void
Perform Image extraction of Oracle Database software for version 18c and above.
- #get_instance_variables ⇒ Object
-
#harvest ⇒ void
Harvest the Installation configuration from the target.
-
#harvest_patches ⇒ void
Harvest the patches from the Installation configuration from the target.
-
#initialize(opts = {}) ⇒ Installation
constructor
A new instance of Installation.
-
#install ⇒ void
Perform installation of a new Oracle database installation (ORACLE_HOME).
-
#installed_version ⇒ String
Determine the version of the installation from inventory comps.xml on the target host/node.
-
#instances_running? ⇒ TrueClass | FalseClass
Are there any running Oracle database instances associated with this ORACLE_HOME Installation?.
-
#root_sh ⇒ void
Run the ROOT.SH script as a required post-installation step of a new Oracle database installation.
-
#run_root_script(script = "") ⇒ void
Run the ROOT scripts as a required post-installation step of a new Oracle database installation.
-
#to_hash ⇒ Hash
Return a Hash representation for the Installation and all its sub-classes.
-
#uninstall ⇒ void
Perform uninstall and remove an ORACLE_HOME installation.
- #usage ⇒ Object
-
#version_numeric(v = nil) ⇒ Integer
Determine the version of the installation from inventory comps.xml on the target host/node.
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
Instance Method Details
#add_patch(patch = {}) ⇒ void
This method returns an undefined value.
Add a patch to the Installation configuration#configure_stage ⇒ void
This method returns an undefined value.
Validate and configure stage#exists? ⇒ TrueClass | FalseClass
#extract_image ⇒ void
This method returns an undefined value.
Perform Image extraction of Oracle Database software for version 18c and above#get_instance_variables ⇒ Object
#harvest ⇒ void
This method returns an undefined value.
Harvest the Installation configuration from the target#harvest_patches ⇒ void
This method returns an undefined value.
Harvest the patches from the Installation configuration from the target#install ⇒ void
This method returns an undefined value.
Perform installation of a new Oracle database installation (ORACLE_HOME).#installed_version ⇒ String
#instances_running? ⇒ TrueClass | FalseClass
#root_sh ⇒ void
This method returns an undefined value.
Run the ROOT.SH script as a required post-installation step of a new Oracle database installation.#run_root_script(script = "") ⇒ void
This method returns an undefined value.
Run the ROOT scripts as a required post-installation step of a new Oracle database installation.#to_hash ⇒ Hash
#uninstall ⇒ void
This method returns an undefined value.
Perform uninstall and remove an ORACLE_HOME installation