Skip Headers

Oracle® Universal Installer Concepts Guide
10g Release 1 (10.1)

Part Number B12140-01
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page

Go to previous page
Go to next page
View PDF

3 Managing Oracle Homes

This chapter contains the following sections:

Introduction to Oracle Homes

The Oracle Universal Installer (OUI) 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.

Creating Oracle Homes

To create an Oracle home, follow the steps below.

  1. Run OUI.

  2. In the File Locations page, enter the Oracle home settings for the installation session under Destination. See Table 3-1 for a description of the fields in this section of the screen.

  3. Continue with your installation. Refer to Chapter 2, " Using Oracle Universal Installer" for detailed information.

Table 3-1 Oracle Installation Settings in Destination

Settings Functions
Name 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 127 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.

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.


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 wish to proceed.

For silent installations, if a non-empty, existing directory is specified, an error is logged to the console and the installActions<timestamp>.log and OUI aborts. To override this condition, use the -force flag on the command line. The effect of using the -force flag will be the same as selecting Yes while installing in GUI mode. You will receive a warning message, but the installation will continue.

Removing Oracle Homes

To remove an existing Oracle home, invoke OUI and click Deinstall Products. At the Inventory dialog, select the homes you wish to delete and click Remove. You may also use the REMOVE_HOMES variable at the command line or in a response file.

Determining the Default Oracle Home

By default, when you start OUI, 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 response file, if specified. If not, then the following convention is used for the name:


Where <short_marketing_name> is the short product marketing name, for example, "Db10g", and <home_identifier> is a counter derived from the central inventory. For example, the ORACLE_HOME name could be OraDb10g_1.

The ORACLE_HOME path is taken first from the response file, if specified. If not, then the ORACLE_HOME environment variable is used. If neither is specified, the following conventions are used for the path:

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, then these directories would be created in the parent directory of the Oracle home.

Multiple Oracle Homes

OUI supports the installation of several active Oracle homes on the same machine as long as the products support this at run-time. 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, 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 OUI 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 or stopped.

About the OUI Inventory

The OUI inventory stores information about all Oracle software products installed in all Oracle homes on a machine, provided the product was installed using OUI or oraInst.

Inventory information is stored in Extensible Markup Language (XML) format. The XML format allows for easier diagnosis of problems and faster loading of data. Any secure information is not stored directly in the inventory. As a result, during deinstallation of some products, you or your customer may be prompted for required secure information, such as a password.

By default, the OUI inventory is located in a series of directories within the following directories:

/Program Files/Oracle/Inventory (on Windows)
<user_home>/oraInventory (on UNIX)

Locating the Inventory on Windows Systems

On the Windows platform, OUI first queries the registry to see if the following Oracle home setting is present:


If this value is found, it will be used as the inventory location. If the value is not found, and the $ORACLE_BASE environment variable is not specified, the following sequence occurs:

  1. OUI requests the location of the Program Files directory. (The Program Files folder is a system-defined directory usually on the C drive.)

  2. The OUI directory structure is created.

  3. The registry is updated with this inventory location.

Locating the Inventory on UNIX

At startup, OUI first looks for the following file:


If this value is found, it will be used as the inventory location. If the value is not found, and the $ORACLE_BASE environment variable is not specified, OUI prompts the user to supply a location for the inventory.

Home Selector (Available on Win32 Platforms)

The following sections describe the Home Selector, which is installed as part of OUI 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 OUI screens.

Home Selector Overview

The Home Selector is 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, the 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 front of the PATH variable, making it the first directory to be scanned for executables 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 install on a system, OUI runs the selectHome.bat file to register the Oracle home you selected. 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 OUI, 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_HOME\BIN 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.

The name of this $ORACLE_HOME is one of the names found in the ID subkeys.

Oracle Home Directory Structure for Windows Platforms

A typical Oracle home on Windows platforms contains the files and directories shown in Table 3-2.

Table 3-2 Oracle Home Directory for Windows Platforms

Oracle Home Directory Contents
\BIN Product executables 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 below.


ORACLE_BASE specifies the BASE of the Oracle directory structure for OFA-compliant databases. A typical ORACLE_BASE directory structure is described in Table 3-3. When installing an OFA-compliant database using OUI, ORACLE_BASE is set to /pm/app/oracle by default.

Table 3-3 Sample ORACLE_BASE Directory Structure and Content

Directory Content
admin Administrative files
doc online documentation
local Subtree for local Oracle software
product Oracle software


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 3-4. Under UNIX, the ORACLE_HOME directory might contain the following subdirectories, as well as a subdirectory for each Oracle product selected.


The examples in this table are only samples. The directories that appear in your own Oracle home will depend on whether the corresponding products are installed and the version of the Oracle database you are running.

Table 3-4 Sample Oracle Home Directory Structure and Content

Directory Content
assistants configuration Assistants
bin binaries for all products
ctx interMedia Text cartridge
dbs initsid.ora, lksid
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