Oracle Home Selector Windows
- Niall Litchfield Sarah means the Oracle Home Selector that came with earlier releases on Windows. Oraenv and dbhome don't exist on the windows platform. There is a graphical tool available in 10g - its just very badly hidden.
- On Windows: Right-click. Click New in the System Variables panel. Add the ORACLEHOME variable to the New System Variable box, then click OK. Select the PATH variable in the System Variables panel, and click Edit. In the Edit System Variable box, add the path to ORACLEHOME at the start of the PATH variable.
- Oracle Home Selector Windows 6
- Oracle Home Selector Windows 7
- Oracle Home Selector Windows 10
- Set Oracle Home Windows
- Oracle Home Selector Windows Vista
- Oracle Home Selector Windows 8
Oracle Universal Installer Concepts Guide Release 2.2 Part Number A96697-01 |
|
Introduction
The Oracle Universal Installer supports the installation of several active Oracle homes on the same machine. An Oracle home is the system context in which Oracle products run. This context consists of the directory location where the products are installed, the corresponding system path setup, and where applicable, the program groups associated with the products installed in that home, and the services running from that home.
Multiple Oracle Homes
The Oracle Universal Installer supports the installation of several active Oracle homes on the same machine as long as the products support this at runtime. You can have multiple versions of the same product or different products running from different Oracle homes concurrently. Products installed in one home will not conflict or interact with products installed in another home. You can update software in any home at any time, assuming all Oracle applications/services/processes installed on the target home are shut down. Processes from other homes may still be running.
ORACLEHOME refers to either: a directory where the Oracle software is installed; or an environment variable pointing to the directory where the Oracle software is installed.
Target Home
The Oracle home currently accessed by the Oracle Universal Installer for installation or deinstallation is the target home. In order to upgrade or remove products from the target homes, those products must be shut down/stopped.
Product Types
Different levels of support are available with multiple Oracle homes for the following product types:
- Products that can be installed once in any new Oracle home. Ensure that the previous product installation is first removed so that only one copy/version of that application can run at the same time. If such product is already installed, and you try to install it again on a different home, the Oracle Universal Installer issues an error message.
- Products that can be installed multiple times, in different homes, on the same machine, with no conflicts or interaction at install-time, run-time, or deinstall-time. These are products which can be used concurrently.
Note: The installation guide of your products will specify what type they are and whether they can be installed once in a home or multiple times.
Home Selector (Available on Win32 Platforms)
The following sections describe the Home Selector application, which is available when you install the Oracle Universal Installer on a Windows computer.
Overview
The Home Selector is part of the installation software and is installed with the Oracle Universal Installer. It is installed in <oui_location>HomeSelector
.
If your application is not installed in one of the Oracle homes, you need to ensure it uses the right product version, by pointing it to the right home. That specific (target) home must take precedence over the other homes in your path when you launch your application.
The Home Selector enables you to easily change your primary Oracle home (the one that appears first in the PATH environment variable). If you need to switch the active home or need to perform batch work which requires a 'default home' to be active, the Oracle Home Selector can be used to change the Windows NT system settings.
When using the Home Selector to make a specific $ORACLE_HOME the active one, the software installation in question is moved to the top of the PATH variable, making it the first directory to be scanned for executables and library files.
How It Works
When you perform an install on a system, the first $ORACLE_HOME will be named the 'DEFAULT_HOME' and will register itself in the Windows NT registry under the key:
This is the default Windows NT registry hive which contains all the 'generic' Oracle settings. Also the PATH variable is adjusted and the BIN directory of the $ORACLE_HOME is added to the environment variable.
Starting with Oracle 8.0.4, the first version to be multiple $ORACLE_HOME aware, some additional parameters will also be written to the key:
With the Oracle Universal Installer, you can change the 'DEFAULT_HOME' name to something else. Also, it registers all Oracle settings in the 'Home0' subkey of the ORACLE key.
When an additional $ORACLE_HOME is added to the system, the PATH variable is adjusted again to add the new BIN directory of the newly installed Oracle software. The registry variables are written to a key named 'HOMEx,' where X is the next available number in the Oracle key.
When several $ORACLE_HOMEs are installed, the executables referenced are all found in the first $ORACLE_HOMEBIN directory of the PATH variable. When you want to switch the order of the PATH variable, you can use the Home Selector to switch the order of the $ORACLE_HOMEs installed on the system.
Together with the installation and registration of the software in the registry, a second series of registry variables are written in the following key:
This is the starting point for the list of all $ORACLE_HOME installations, done on this system.
The following variables are written in this key:
- HOME_COUNTER: Number of Oracle home directories already present on the system. This counter is a number, exactly 1 higher as the last ID subkey present.
- LAST_HOME: ID number of the currently active $ORACLE_HOME
- IDx: List of registry key's containing the name, number and installation directory of this ORACLE_HOME. The first installation is written in ID0, the next one in ID1, etc.
If the Home Selector is started in interactive mode, the registry hive 'ALL_HOMES' is read, including all subkeys, and a dialog box will be displayed with all available installations. As soon as the you select one, the PATH variable will be adjusted at the system level.
In order to make batch processing possible, this tool also has a command line interface, making it possible to use the tool to switch the PATH settings while executing a series of commands:
The name of this $ORACLE_HOME is one of the names found in the ID subkeys.
Oracle Home Directory Structure for Windows Platform
A typical Oracle home on Windows platforms contains the files and directories shown in Table 2-1.
Table 2-1 Oracle Home Directory for Windows Platforms
Oracle Home Directory | Contents |
---|---|
BIN | Product executables and DLLs |
DBS | Common message files |
PROD1 | PROD1 product files |
PROD2 | PROD2 product files |
Optimal Flexible Architecture Directory Structure (on Solaris)
The Optimal Flexible Architecture (OFA) standard is a set of configuration guidelines for fast, reliable Oracle databases that require little maintenance.
OFA is designed to:
- organize large amounts of complicated software and data on disk to avoid device bottlenecks and poor performance
- facilitate routine administrative tasks such as software and data backup functions, which are often vulnerable to data corruption
- alleviate switching among multiple Oracle databases
- adequately manage and administer database growth
- help eliminate fragmentation of free space in the data dictionary, isolate other fragmentation, and minimize resource contention
The OFA directory structure is described below.
ORACLE_BASE Directory
ORACLE_BASE specifies the BASE of the Oracle directory structure for OFA-compliant databases. A typical ORACLE_BASE directory structure is described in Table 2-2. When installing an OFA-compliant database using the Oracle Installer, ORACLE_BASE is by default set to /pm/app/oracle
.
Table 2-2 Sample ORACLE_BASE Directory Structure and Content
Directory | Content |
---|---|
admin | Administrative files |
doc | online documentation |
local | Subtree for local Oracle software |
product | Oracle software |
ORACLE_HOME Directory
The following is an example of an Oracle Server Install.
If you install an OFA-compliant Oracle Server, the ORACLE_HOME directory is /mount_point/app/oracle/product/
release_number
. ORACLE_HOME directory structure and content are described in Table 2-3. Under UNIX, the ORACLE_HOME directory might contain the following subdirectories, as well as a subdirectory for each Oracle product selected.
Note: The examples in this table are for sample only. The directories that appear in your own Oracle Home will depend upon whether the corresponding products are installed and the version of the Oracle database you are running. |
Table 2-3 Sample ORACLE_HOME Directory Structure and Content
Directory | Content |
---|---|
| configuration Assistants |
| binaries for all products |
| interMedia Text cartridge |
|
|
| install related files |
| Oracle product libraries |
| Java classes |
| Spatial cartridge |
| Xerox Stemmer (for interMedia Text cartridge) |
| Net8 |
| NLS runtime loadable data |
| common files for all products |
| data gatherer |
| Parallel Server Manager Components |
| core libraries |
| data cartridges |
| Oracle TRACE |
| PL/SQL |
| precompilers |
| server files and libraries required for the database |
| SLAX parser |
| SQL*Plus |
Creating an Oracle Home
To create an Oracle home, follow the steps below.
- Run the Oracle Universal Installer.
- In the File Locations page, enter the Oracle home settings for the installation session under Destination. See Table 2-4 for a description of the fields in this section of the screen.
Note: The Name field only appears in Windows platforms.
- Continue with your installation. Refer to Chapter 1, 'Using the Oracle Universal Installer' for detailed information.
Table 2-4 Oracle Installation Settings in Destination
Settings Functions Name
For Windows platforms, Oracle homes are identified by name, and the Oracle home name identifies the program group associated with a particular Oracle home, and the Oracle services installed on the associated home. The Oracle home name must be 1 to 16 characters long and can only include alphanumeric characters and underscores.
Path
Enter an Oracle home and its full path or select an Oracle home from a drop down list of existing Oracle Homes. The Oracle home location is the directory where products are installed.
List of Oracle homes on Windows platforms:
- All Oracle homes that are already created using the Oracle Universal Installer
- All homes created using the previous Oracle Installer (ORCA-based)
- The home that the ORACLE_HOME environment variable points to
List of Oracle homes on UNIX:
- All Oracle homes that are already created using the Oracle Universal Installer
- All homes as defined in the /var/opt/oratab file
- The home that the ORACLE_HOME environment variable points to
If none of these homes exists, a default home is calculated based on the disk volume with the largest amount of free space.
Datafiles may or may not be installed within an Oracle home. You may use the Browse button to choose a directory to install your product.
For Windows platforms: it must be a valid path that is not in the Windows directory. Different homes cannot share the same location.
Copyright © 1996, 2002 Oracle Corporation. All Rights Reserved. |
|
This chapter contains the following sections:
Introduction to Oracle Homes
The Oracle Universal Installer supports the installation of several active Oracle homes on the same host. An Oracle home is a directory into which all Oracle software is installed. This is pointed to by an environment variable. The Oracle home consists of the following:
Directory location where the products are installed
Corresponding system path setup
Program groups associated with the products installed in the home (where applicable)
Services running from the home
Introduction to Oracle Base
The Oracle base location is the location where Oracle Database binaries are stored. During installation, you are prompted for the Oracle base path. Typically, an Oracle base path for the database is created during Oracle Grid Infrastructure installation.
To prepare for installation, Oracle recommends that you only set the ORACLE_BASE environment variable to define paths for Oracle binaries and configuration files. Oracle Universal Installer (OUI) creates other necessary paths and environment variables in accordance with the Optimal Flexible Architecture (OFA) rules for well-structured Oracle software environments.
For example, with Oracle Database 11g, Oracle recommends that you do not set an Oracle home environment variable allow OUI to create it instead. If the Oracle base path is /u01/app/oracle, then by default, OUI creates the following Oracle home path:
Ensure that the paths you select for Oracle software, such as Oracle home paths and the Oracle base path, use only ASCII characters. Because installation owner names are used by default for some paths, this ASCII character restriction applies to user names, file names, and directory names.
Installing an Oracle Product
When you install an Oracle product, an Oracle home is created.
To install the product and create the Oracle home, perform the following steps:
Run Oracle Universal Installer.
In the Specify Home Details page, enter the Oracle home settings for the installation session. See Table 2-1 for a description of the fields in this section of the screen.
Continue with your installation. See Chapter 4, 'Installing Products' for detailed information.
Table 2-1 Oracle Installation Settings for Specify Home Details page
Settings | Functions |
---|---|
Name | Enter a name for the Oracle home. This name identifies the program group associated with a particular home and the Oracle services installed on this home. The Oracle home name must be between 1 to 127 characters long, and can include only alphanumeric characters and underscores. |
Software Location | Enter the full path to an Oracle home, or select an Oracle home from the drop-down list of existing Oracle homes. The Oracle home location is the directory where products are installed. Data files may or may not be installed within an Oracle home. You can use the Browse button to choose a directory to install your product. For Windows platforms, you must provide a valid path that is not in the Windows directory. Different homes cannot share the same location. |
Note:
Oracle recommends that you designate an Oracle home location that is an empty or non-existing directory. If you select a directory for the Oracle home location that is not empty or already exists, you will be warned and asked if you want to proceed.For silent installations, if a non-empty, existing directory is specified, an error is logged in the console and in the installActions<timestamp>.log
file. Also, the Oracle Universal Installer aborts. To override this condition, use the -force
flag on the command line. The effect of using the -force
flag is the same as selecting Yes while installing in interactive mode. You receive a warning message, but the installation continues.
Removing Oracle Homes
To remove or deinstall Oracle homes, you can either use the Deinstall tool included with the Shiphome, or use the Deinstall utility available as part of the Oracle home.
To use the Deinstall tool, do the following to remove the Oracle home:
cd to DeinstallTool.
Run deinstall -home <OracleHome>.
To use the Deinstall utility, do the following to remove the Oracle home:
cd to $Oracle_Home/deinstall.
Run Deinstall.
Determining the Default Oracle Home
By default, when you start Oracle Universal Installer, the software searches your system to determine the default Oracle home where Oracle software should be installed.
In all cases, the ORACLE_HOME
name is taken first from the command line if it is specified, or else from the response file if specified. If not specified, the value of DEFAULT_ORACLE_HOME_NAME in oraparam.ini is examined. Typically, the following convention is used for the name:
Where <short_marketing_name_in oraparam.ini> is the short product marketing name as specified in the oraparam.ini
file; for example, 'Db11g', and <home_identifier>
is a counter derived from the Central Inventory. For example, the ORACLE_HOME
name could be OraDb11g_1
.
The ORACLE_HOME path is taken first from the command line if specified, or else from the response file if specified. If not, the ORACLE_HOME
environment variable is used. If neither is specified, the following conventions are used for the path:
If
ORACLE_BASE
has been specified in the environment:For example:
$ORACLE_BASE/product/11.2.0/Db_1
.If
ORACLE_BASE
has not been specified in the environment:Where <short_name> is the short product name; for example, 'Db', and <counter> is picked up based on the existence of the files. For example, the
ORACLE_HOME
path could be$HOME/product/11.2.0/Db_1
.
The instance-related directory location is accepted first from the response file, if specified. If not, the oradata
, flash_recovery_area
, admin
, and doc
directories are created under ORACLE_BASE
. If ORACLE_BASE
has not been specified, the default is the $ORACLE_HOME/oradata
directory. If the parent directory of the Oracle home is writable, these directories are created in the parent directory of the Oracle home.
Multiple Oracle Homes
Oracle Universal Installer supports the installation of several active Oracle homes on the same host as long as the products support this at run-time. Multiple versions of the same product or different products can run from different Oracle homes concurrently. Products installed in one home do not conflict or interact with products installed on another home. You can update software in any home at any time, assuming all Oracle applications, services, and processes installed on the target home are shut down. Processes from other homes may still be running.
Target Home
The Oracle home currently accessed by Oracle Universal Installer for installation or deinstallation is the target home. To upgrade or remove products from the target homes, these products must be shut down or stopped.
Oracle Universal Installer Inventory
The Oracle Universal Installer inventory stores information about all Oracle software products installed in all Oracle homes on a host, provided the product was installed using Oracle Universal Installer.
Inventory information is stored in Extensible Markup Language (XML) format. The XML format enables easier diagnosis of problems and faster loading of data. Any secure information is not stored directly in the inventory. As a result, during removal of some products, you may be prompted to enter the required credentials for validation.
Note:
Oracle recommends placing the central inventory on a local file system that is not shared by other systems, since the central inventory is a system-specific inventory of the installations on this system. It is strongly recommended that you place the central inventory on a local disk so that installations from other systems do not corrupt the inventory. You should not place the central inventory in the Oracle Base.Structure of the Oracle Universal Installer Inventory
The Oracle Universal Installer inventory has the following hierarchical structure:
Central Inventory Pointer File
Every Oracle software installation has an associated Central Inventory where the details of all the Oracle products installed on a host are registered. The Central Inventory is located in the directory that the inventory pointer file specifies. Each Oracle software installation has its own Central Inventory pointer file that is unknown to another Oracle software installation.
For Oracle homes sharing the same Central Inventory, the Oracle Universal Installer components perform all read and write operations on the inventory. The operations on the Central Inventory are performed through a locking mechanism. This implies that when an operation such as installation, upgrade, or patching occurs on an Oracle home, these operations become blocked on other Oracle homes that share the same Central Inventory.
Table 2–2 shows the location of the default inventory pointer file for various platforms:
Table 2-2 Default Inventory Pointer File Locations
Platform | Default Inventory Pointer Location |
---|---|
Linux Linux.PPC64 AIX |
|
Solaris.SPARC Solaris.X64 HPUX HPIA HP.TRU64 Linux.IA64 Linux.xSeries |
|
Windows Windows.X64 Windows.IA64 | HKEY_LOCAL_MACHINE/Software/Oracle/inst.loc |
The following string shows an example of the path for the oraInst.loc
file:
In UNIX, if you do not want to use the Central Inventory located in the directory specified by the inventory pointer file, you can use the -invPtrLoc
flag to specify another inventory pointer file. The syntax is as follows:
Note:
If the contents of theoraInst.loc
file is empty, Oracle Universal Installer prompts you to create a new inventory.Central Inventory
The Central Inventory contains the information relating to all Oracle products installed on a host. It contains the following files and folders:
Inventory File
This file lists all the Oracle homes installed on the node. For each Oracle home, it also lists the Oracle home name, home index, and nodes on which the home is installed. It also mentions if the home is an Oracle Clusterware home or a removed Oracle home. It can only detect removed Oracle homes created using Oracle Universal Installer version 11.2 and later. This file is present in the following location:
The following code shows a sample inventory.xml
file:
Note:
Oracle recommends that you do not remove or manually edit this file as it could affect installation and patching.Logs Directory
The Central Inventory contains installation logs in the following location:
The logs directory contains the logs corresponding to all installations performed on a particular node. You can also find a copy of the installation log in the $ORACLE_HOME/cfgtoollogs
directory.The installation logs for an installation are identified by the timestamp associated with the log files. These files are generally saved in the following format:
For example, consider an attachHome
operation performed on 17th, May, 2009 at 6.45AM. The associated log file would be created as follows:
Oracle Home Inventory
Oracle home inventory or local inventory is present inside each Oracle home. It only contains information relevant to a particular Oracle home. This file is located in the following location:
It contains the following files and folders:
Components File
This file contains the details about third-party applications like Java Runtime Environment (JRE) required by different Java-based Oracle tools and components. In addition, it also contains details of all the components as well as patchsets or interim patches installed in the Oracle home. This file is located here:
For an example of the components file, see 'Sample Components File'.
Home Properties File
This file contains the details about the node list, the local node name, and the Oracle Clusterware
flag for the Oracle home. In a shared Oracle home, the local node information is not present. This file also contains the following information:
GUID — Unique global ID for the Oracle home
ARU ID — Unique platform ID. The patching and patchset application depends on this ID.
ARU ID DESCRIPTION — Platform description
The information in oraclehomeproperties.xml
overrides the information in inventory.xml
. This file is located here:
The following example shows the Oracle home property file:
Table 2–3 lists the ARU_IDs for some platforms:
Table 2-3 ARU_IDs for Platforms
Platform | ARU_ID |
---|---|
Apple Mac OS X (PowerPC) | 421 |
HP Tru64 UNIX | 87 |
HP-UX Itanium | 197 |
HP-UX Itanium (32-bit) | 278 |
HP-UX PA-RISC (32-bit) | 2 |
HP-UX PA-RISC (64-bit) | 59 |
IBM AIX on POWER Systems (32-bit) | 319 |
IBM AIX on POWER Systems (64-bit) | 212 |
IBM i on POWER Systems | 43 |
IBM S/390-based Linux (31-bit) | 211 |
IBM z/OS on System z | 30 |
IBM: Linux on POWER Systems | 227 |
IBM: Linux on System z | 209 |
Linux Itanium | 214 |
Linux x86 | 46 |
Linux x86-64 | 226 |
Microsoft Windows (32-bit) | 912 |
Microsoft Windows Itanium (64-bit) | 208 |
Microsoft Windows x64 (64-bit) | 233 |
Sun Solaris SPARC (32-bit) | 453 |
Sun Solaris SPARC (64-bit) | 23 |
Sun Solaris x86 (32-bit) | 173 |
Sun Solaris x86-64 (64-bit) | 267 |
Other Folders
Table 2-4 lists the other folders you can find in the Oracle home inventory:
Table 2-4 Other Folders in the Oracle Home Inventory
Folder Name | Description |
---|---|
Scripts | Contains the scripts used for the cloning operation. |
ContentsXML | Contains the details of the components and libraries installed. |
Templates | Contains the template files used for cloning. |
oneoffs | Contains the details of the one-off patches applied. |
Creating the Central Inventory
Oracle Universal Installer enables you to set up the Central Inventory on a clean host or register an existing Oracle home with the Central Inventory when it is lost or corrupted. If the Central Inventory does not already exist, Oracle Universal Installer creates the Central Inventory in the location specified by the oraInst.loc
file.
You can set up the Central Inventory by using the -attachHome
flag of Oracle Universal Installer. The syntax is as follows:
Using the Session Variables
You can use the following session variables:
ORACLE_HOME
CLUSTER_NODES
REMOTE_NODES
LOCAL_NODE
In a cluster installation:
If you do not pass the
CLUSTER_NODES
session variable, Oracle Universal Installer takes it from the$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
file.If you do not pass the
LOCAL_NODE
session variable, Oracle Universal Installer takes it from the$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
file. If it does not find an entry there, it takes it from the Oracle Clusterware stack. If it is not able to find it in the stack, the first node of theCLUSTER_NODES
is taken as theLOCAL_NODE
.
You can pass the REMOTE_NODES
variable if you want to specify the list of remote nodes. If you want to set up the Central Inventory in the local node, you need to pass the -local
flag, and the REMOTE_NODES
variable is empty. The syntax is as follows:
Note:
When you use the-local
flag, it performs the action on the local node irrespective of the cluster nodes specified.For a non-Oracle Real Application Clusters setup, you do not need to pass the LOCAL_NODE
variable, and the CLUSTER_NODES
variable is empty. The syntax is as follows:
You can use the -local
flag to attach the local Oracle home. If you are using a shared Oracle home with the -local
flag, use the -cfs
flag. This ensures that the local node information is not populated inside a shared Oracle home.
Verifying the Operation
After attaching the Oracle home, you can verify the success of the operation by verifying the contents of the log file present in the <central_inventory>/logs
directory. You can also view the contents of the inventory.xml
file under the <central-inventory>/ContentsXML
directory to verify if the Oracle home is registered.
Note:
Oracle recommends cloning on Windows operating systems to create the Central Inventory.Detaching Oracle Homes from the Central Inventory
You can detach an Oracle home from the Central Inventory. When you pass this flag, it updates the inventory.xml
file present in the Central Inventory. The syntax is as follows:
Using the Optional -local Flag
You can use the -local
flag to detach the Oracle home from the inventory of the local node. If you are using a shared Oracle home, use the -cfs
flag. This ensures that the local node information is not populated inside a shared Oracle home.
Removing the Central Inventory
Even after all the Oracle homes on a host are removed, you will find traces of the inventory with certain log files. If you do not want to maintain these files and want to remove the Central Inventory, do the following:
Removing the Central Inventory on UNIX Platforms
You can remove the Central Inventory on UNIX by performing the following steps:
Locate the
oraInst.loc
file and get the Central Inventory location (inventory_loc
parameter) from this file.For Solaris, this file is located in the
/var/opt/oracle
folder.For Linux, this file is located in the
/etc
folder.Remove the Central Inventory by executing the following command:
Remove the
oraInst.loc
file by executing the following command with root privileges:Solaris:
Linux:
Removing the Central Inventory on Windows Platforms
You can remove the Central Inventory on Windows by performing the following steps:
Locate the registry key:
HKEY_LOCAL_MACHINESoftwareOracleinst_loc
Get the Central Inventory location from this key.
Delete the Central Inventory directory and all its contents.
Delete the registry key:
HKEY_LOCAL_MACHINESoftwareOracleinst_loc
Consolidating Multiple Central Inventories
The following procedure explains how to consolidate multiple central inventories into a single central inventory. For Oracle Clusterware and Oracle RAC homes, perform this procedure for each node.
Identify the Central Inventory to use and ensure that it is the same path on all nodes of the cluster.
Go to this Central Inventory directory and run orainstRoot.sh to ensure that the oraInst.loc file points to this inventory.
Identify the other central inventories on the system, then identify the Oracle homes for each Central Inventory.
Do the following for each Oracle home:
Enter cd $ORACLE_HOME/oui/bin.
Run ./attachhome.sh -silent -local 'CLUSTER_NODES={<List of nodes>}' LOCAL_NODE=<nodename> CRS='TRUE'
For single instance homes, run ./attachhome.sh -silent.
Verify the inventory updates by going to the ORACLE_HOME/OPatch directory and running opatch lsinventory -detail.
Verify that the overall inventory is being updated by running ./runInstaller and clicking on 'Installed Products..' to bring up the contents of the central inventory. Ensure that the inventory shows the new home and the nodes.
Reconstructing a Shared Central Inventory on a Non-shared Location
The following sections provide advisory information about shared Central Inventories, explain the enforced shared inventory check, and provide a procedure for reconstructing the Central Inventory.
Oracle Home Selector Windows 6
Oracle Recommendation Regarding Central Inventory Placement
The Oracle Central Inventory is a repository for all Oracle products (software) installed on a system. Since the Central Inventory consists of system-specific information, it is required that the Central Inventory be saved on a local non-shared directory on the system. While software can be shared across nodes, the inventory should be local to each system.
If the Central Inventory is shared across system (nodes), this would reflect the installation information for a group of systems collectively. Such a configuration also mandates that all Oracle homes registered in the inventory are also shared. However, a shared inventory is contrary to Central Inventory design principles.
Consequently, Oracle recommends placing the Central Inventory on a local file system not shared by other systems, because the Central Inventory is a system-specific inventory of the installations on this system. Shared inventories are strongly discouraged.
Enforced Shared Inventory Check
Since a shared inventory is a recommended practice, OUI displays a warning if you attempt to specify a shared inventory location under the following circumstances:
Grid Control upgrades from 10.1.x or 10.2.x to 10.2.0.4 or later
10.2.0.4 or later Grid Control patchset applications and 11g Grid Control installations
Exceptions are as follows:
Shared storage prior to 10.2.0.4 —
If you have already set up your inventory on shared storage prior to Grid Control version 10.2.0.4, you can use the steps in 'Procedure to Reconstruct the Central Inventory' below to reconstruct the central inventory on a non-shared location.
If you do not want to reconstruct the central inventory on a non-shared location, you can pass the flag '-ignoreSharedInventory' to suppress the shared inventory error when invoking runInstaller.
HPTru64 Cases —
Tru64 is a special operating system where all storage is shared storage (including the operating system installed on shared storage). Therefore, a shared inventory is permissible.
Procedure to Reconstruct the Central Inventory
Perform the following steps as a Grid Control installation user, which is the user who owns the inventory.
Identify a non-shared location for the Central Inventory. This location should have sufficient permissions, such as read and write permissions. Make sure that the installation user creates this new location and that the location is part of the installation group.
Obtain the list of Oracle homes from the existing shared Central Inventory registered in oraInventory, use the command opatch lsinventory -all.
Since this is a shared inventory, you may see Oracle homes listed in the Central Inventory from other systems on which the inventory is shared. Identify the Oracle home pertinent to the current system.
Edit the default inventory pointer file indicating the location of the non-shared inventory:
The default inventory pointer file resides in this file:
All other Unix operating systems, such as Solaris and so forth reside in this file:
For each Oracle home in the existing shared inventory, do the following:
Detach the home from the existing inventory.
For a non-RAC home, run:
For a Clusterware, RAC, or clustered Agent home, run the following command on each of the nodes:
Attach a home to the new non-shared inventory.
For a non-RAC home, run:
For a non-shared Clusterware home, run the following command on each of the nodes:
For a shared Clusterware home, run the following command on each of the nodes:
For a non-shared RAC or clustered Agent home, run the following command on each of the nodes:
For a shared RAC or clustered Agent home, run the following command on each of the nodes:
Note:
The old inventory becomes obsolete after this migration. You can delete the directory, but this is not mandatory.Upgrading and Patching the Oracle Home
You can apply patchsets and upgrade an existing Oracle home. You can apply patchsets using Oracle Universal Installer. For more information on upgrading or applying patchsets for an Oracle product, refer to the respective Oracle product installation guide of the product that you want to upgrade.
Cloning Oracle Homes
You can clone an Oracle home using Oracle Universal Installer. For more information on cloning, see Chapter 6, 'Cloning Oracle Software'.
Backing up the Inventory
You can back up the Oracle home using your preferred method. You can use any method such as zip
, tar
, and cpio
to compress the Oracle home.
It is highly recommended to back up the Oracle home before any upgrade or patch operation. You should also back up the Central Inventory when Oracle home is installed or deinstalled.
Example:
Consider a scenario where you have a Database Oracle home called DBHome
that is registered with the default Central Inventory in the /product
directory. You want to patch this database but decide to back up the database before patching.
Enter the following to back up the database:
If you are using a Win32 system, you could use WinZip to zip up the Oracle home. Do not use the jar command to zip the Oracle home, as this causes the file permissions to become lost.
Suppose you apply the patch and something goes wrong. You decide to delete the Oracle home from the Central Inventory and restore the original Oracle home. To delete the Oracle home from the Central Inventory, use the following command:
On Win32 systems, the command would be:
Delete the Oracle home:
Cod4 mod menu ps3 download. If file is multipart don't forget to check all parts before downloading!. 2. 1. Click download file button or Copy cod4 mod menu ps3 URL which shown in textarea when you clicked file title, and paste it into your browsers address bar. In next page click regular or free download and wait certain amount of time (usually around 30 seconds) until download button will appead.
Restore the original Oracle home and update the Central Inventory. Restore the Oracle home to its original location using the following commands:
Attach this Oracle home to the Central Inventory:
On Win32 systems, the command would be:
Recovering from Inventory Corruption
The inventory (Central and the Oracle home inventory) is critically important in the Oracle software life-cycle management. The following section explains what you need to do in case of inventory corruption.
Diagnosing and Recovering from Central Inventory Corruption
When you execute opatch lsinventory -detail
or when you click Installed Products, the Oracle home does not appear.
Cause: The Oracle home may be missing from the Central Inventory, or the Central Inventory could be missing or corrupted.
Action: Do the following:
If the Oracle home is missing from the Central Inventory, perform an attach home operation on the missing Oracle home. The Central Inventory will be restored.
If the Central Inventory is missing or corrupted, restore the Central Inventory. If you have not backed up the Central Inventory, perform an attach home operation.
For more information on the attach home operation, see 'Creating the Central Inventory'.
If multiple entries are in the inventory.xml
file for a given Oracle home, Inventory Collection from the Grid Control perspective would have issues. In this event, you should remove these duplicate entries manually.
Here are some examples of the kind of incorrect entries that could be there:
In the above example, the first and third entries are duplicates. The Oracle home name and Oracle home location are identical. In this example, remove the third line.
Note that all duplicate inventory issues are caused by manual updates to the inventory.xml
file. Use the OUI APIs to change the inventory.
Diagnosing and Recovering from Oracle Home Inventory Corruption
When you execute opatch lsinventory -detail
or when you click Installed Products, the Oracle home appears, but the products and components within the Oracle home are not listed.
Cause: This may result because of a missing or corrupted Oracle home inventory.
Action: If the Oracle home inventory is missing or corrupted, restore the Oracle home inventory. If you have not backed up the Oracle home inventory, you may have to install the software on a different node with the same platform and install the same patch levels including interim patches. After that, you can simply copy the inventory directory from the patched Oracle home to the location of the affected Oracle home.
Note:
For Oracle Universal Installer version 10.2.0.2.0 and above, you can use the following scripts in Oracle home to recover from Oracle home inventory corruption:detachHome.bat / detachHome.sh
: Use this script if the Oracle home is corrupted or needs to be updated.attachHome.bat / attachHome.sh
: Use this script if the Oracle home needs to be added to the inventory.
For information on recovering from Oracle Real Application Clusters Oracle home inventory corruption, see 'Diagnosing and Recovering from RAC Oracle Home Inventory Corruption'.
Oracle Real Application Clusters
In an Oracle Real Application Clusters environment, the inventory also contains a list of nodes associated with an Oracle home. It is important that during upgrade and patching, the inventory is correctly populated with the list of nodes.
For more information, see Chapter 5, 'Installing Cluster Environments'.
Updating the Nodes of a Cluster
When you use the -updateNodeList
flag with the Oracle Universal Installer, it retrieves the list of nodes and updates the inventory.xml
file. If the Oracle Clusterware
tag is set to TRUE
, the Oraclehomeproperties.xml
file is updated with the Oracle Clusterware home information. For shared Oracle homes, you need to use this with the -cfs
flag. The syntax is as follows:
Note:
You update the nodes of a cluster only under exceptional circumstances. Oracle recommends that you perform this operation with the help of Oracle support.Diagnosing and Recovering from RAC Oracle Home Inventory Corruption
When you execute opatch lsinventory -detail
or when you click Installed Products, the Oracle home appears, but the products and components within the Oracle home are not listed.
Cause: This may result because of a missing or corrupted Oracle home inventory.
Action: Do the following:
Back up the Central and Local inventories of both Oracle Clusterware and RDBMS for all nodes.
Rename or remove the Central Inventory on all nodes.
Copy the Local Inventory from the node that is not corrupted to the node that is corrupted.
Recreate the Central Inventory with the attachhome option as in MetaLink note 413939.1, Steps to Recreate the Central Inventory in Oracle Real Application Clusters.
Verify that opatch lsinventory functions correctly in both the Oracle Clusterware and RDBMS homes.
Note:
Copying the Local Inventory is supported only when patch sets and one-off patches applied are the same across all nodes.For information on recovering from non-RAC Oracle home inventory corruption, see 'Diagnosing and Recovering from Oracle Home Inventory Corruption'.
Home Selector (Available on Win32 Platforms)
The following sections describe the Home Selector, which is installed as part of Oracle Universal Installer on Windows computers.
To view the Home Selector, click the Environment tab of the Inventory dialog, which appears when you click the Installed Products button on several Oracle Universal Installer screens.
Home Selector Overview
The Home Selector is a part of the installation software. The Home Selector enables you to easily change your primary Oracle home (the one that appears first in the PATH
environment variable). If you need to switch the active home or need to perform batch work which requires a 'default home' to be active, you can use the Home Selector to change the Windows NT system settings.
When using the Home Selector to make a specific Oracle home the active one, the software installation in question is moved to the front of the PATH
variable, making it the first directory to be scanned for executable and library files.
Use the GUI in the Environment tab of the Inventory dialog to establish the order of Oracle homes in your PATH
variable.
How Home Selector Works
When you perform an installation on a system, Oracle Universal Installer runs the selectHome.bat
file to register the Oracle home you selected. In silent mode, you perform this outside Oracle Universal Installer. The first Oracle home is named the 'DEFAULT_HOME
' and registers itself in the Windows NT registry under the key:
This is the default Windows NT registry hive which contains all the 'generic' Oracle settings. Also the PATH
variable is adjusted and the BIN
directory of the $ORACLE_HOME
is added to the environment variable.
Some additional parameters is also written to the key:
With Oracle Universal Installer, you can change the 'DEFAULT_HOME
' name to something else. Also, it registers all Oracle settings in the 'KEY_<Home_NAME>
' sub-key of the ORACLE
key.
When an additional Oracle home is added to the system, the PATH
variable is adjusted again to add the new BIN
directory of the newly installed Oracle software. The registry variables are written to a key named 'KEY_<HOME_NAME>
'.
Oracle Home Selector Windows 7
Oracle Home Directory Structure for Windows Platforms
A typical Oracle home on Windows platforms contains the files and directories shown in Table 2-5.
Table 2-5 Oracle Home Directory for Windows Platforms
Oracle Home Directory | Contents |
---|---|
BIN | Product executable and DLLs |
LIB | DLL files |
JLIB | All JAR files |
DBS | Common message files |
PROD1 | PROD1 product files |
PROD2 | PROD2 product files |
Optimal Flexible Architecture Directory Structure (on UNIX)
The Optimal Flexible Architecture (OFA) standard is a set of configuration guidelines for fast, reliable Oracle databases that require little maintenance.
OFA is designed to:
Organize large amounts of complicated software and data on disk to avoid device bottlenecks and poor performance
Facilitate routine administrative tasks such as software and data backup functions, which are often vulnerable to data corruption
Alleviate switching among multiple Oracle databases
Adequately manage and administer database growth
Help eliminate fragmentation of free space in the data dictionary, isolate other fragmentation, and minimize resource contention
The OFA directory structure is described in the following sections.
ORACLE_BASE Directory
ORACLE_BASE
specifies the BASE
of the Oracle directory structure for OFA-compliant databases. A typical ORACLE_BASE
directory structure is described in Table 2-6. When installing an OFA-compliant database using Oracle Universal Installer, ORACLE_BASE
is set to /pm/app/oracle
by default.
Table 2-6 Sample ORACLE_BASE Directory Structure and Content
Oracle Home Selector Windows 10
Directory | Content |
---|---|
admin | Administrative files |
doc | online documentation |
local | Sub-tree for local Oracle software |
product | Oracle software |
ORACLE_HOME Directory
Table 2-7 shows an example of the Oracle home directory structure and content for an Oracle Server Installation.
If you install an OFA-compliant Oracle Server, the Oracle home directory is /mount_point/app/oracle/product/
release_number
. Under UNIX, the Oracle home directory might contain the following subdirectories, as well as a subdirectory for each Oracle product selected.
Note:
The directory and content information in this table are only samples. The directories that appear in your own Oracle home depend on whether the corresponding products are installed and the version of the Oracle Database you are running.Set Oracle Home Windows
Table 2-7 Sample Oracle Home Directory Structure and Content
Oracle Home Selector Windows Vista
Directory | Content |
---|---|
assistants | configuration Assistants |
bin | binaries for all products |
ctx | interMedia Text cartridge |
dbs |
|
install | install related files |
lib | Oracle product libraries |
jlib | Java classes |
md | Spatial cartridge |
mlx | Xerox Stemmer (for interMedia Text cartridge) |
network | Net8 |
nlsrtl | NLS run-time loadable data |
ocommon | common files for all products |
odg | data gatherer |
opsm | Parallel Server Manager Components |
oracore | core libraries |
ord | data cartridges |
otrace | Oracle TRACE |
plsql | PL/SQL |
precomp | precompilers |
rdbms | server files and libraries required for the database |
slax | SLAX parser |
sqlplus | SQL*Plus |