SAP Installations Using Shared Oracle Homes
SAP Installations Using Shared Oracle Homes
SAP Installations Using Shared Oracle Homes
Symptom
SAP Installations with Oracle Single Instance Databases using Shared Oracle Homes
Starting with Oracle database release 11.2.0.3, SWPM supports SAP installations with Oracle
single instance using a 'Shared Oracle Home'. This SAP note describes the concept of shared
Oracle homes
for Oracle single instance databases in SAP environments.
Classical Approach
The following example describes the classical approach SAP installations with Oracle single
instance:
A typical SAP installation with Oracle is an installation with an Oracle Single Instance (SI)
installation on file system (FS). During the SAP installation, a new Oracle home must be installed.
This Oracle home will only be used for one database <DBSID> and the corresponding database
instance. The Oracle home for SAP database <DBSID> is installed in /oracle/<DBSID>/<release>.
Every Oracle single instance database <DBSID> has its own Oracle home. Even databases that
run with the same database release and patch level on the same database server (must) use their
own Oracle home.
Example:
Here's an example with 3 databases C11, C12, C13 for release 11.2.0.3. The same Oracle
software is installed 3 times!
Other Terms
The term 'Shared Oracle Home' means that multiple Oracle database instances use the same
Oracle home.
There are two different scenarios for shared Oracle homes that are explained below: SI and RAC
Database
Description
Type
In a custom RAC environment (i.e. not on Oracle Engineered Systems being Oracle
Exadata, Oracle SuperCluster, Oracle Database Appliance) sharing an Oracle home
means that one Oracle home that is installed on a shared or cluster file system is
Real
used by all RAC instances of the same RAC database.
Application
Clusters
Sharing one Oracle Home by RAC instances of the same database on non Oracle
(RAC)
Engineered Systems in an SAP environment is mandatory.
Sharing one Oracle home by RAC instances that belong to different RAC databases
is allowed.
Single In a 'Single Instance' environment sharing an Oracle home means that database
Instance instances of different databases share one Oracle home. This is the scenario that is
(SI) described in this SAP note.
References
Solution
SAP supports installations with a shared Oracle home for SAP standard installations. This means
that two or more databases of different SAP systems can use the same shared Oracle home
when they are installed on the same database server. The advantages are:
In order to use a shared Oracle home, the following check the following requirements:
Database Vault
In Oracle release 11.2 you cannot run databases with Database Vault and databases
without Database Vault at the same time from the same Oracle home. This restriction only
applies if you have configured Database Vault in your database.
Transparent Data Encryption (SAP note 974876)
For databases with TDE that share the same Oracle home and the same SQLNET.ORA you
must specify different locations for the different TDE encryption wallets. The SAP standard
location '$ORACLE_HOME/dbs' can not be used if the Oracle home is shared. You can use
either ORACLE_UNQNAME or ORACLE_SID to uniquely identify a location.
Example:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTOR
References:
SAP note 974876
http://www.oracle.com/technetwork/database/focus-areas/security/twp-transparent-data-encry
MOS note [ID 1504783.1])
Runtime Oracle Home for database <DBSID> Shared Installation Oracle Home
Database
OHRDBMS IHRDBMS
<DBSID> /oracle/<DBSID>/112 /oracle/RDBMS/<RELEASE>
Example
This is an example with 3 databases C11, C12, C13 for release 11.2.0.3.
Runtime Oracle home Non-Shared Oracle Home Shared Installation Oracle home
Database
<OHRDBMS> <IHRDBMS> <IHRDBMS>
C11 /oracle/C11/112 /oracle/C11/11203
C12 /oracle/C12/112 /oracle/C12/11203 /oracle/RDBMS/11203
C13 /oracle/C13/112 /oracle/C13/11203
The difference between shared and non-shared Oracle home is that the 3 runtime Oracle homes
refer to one instead of 3 different Installation Oracle homes.
During an SAP installation with SWPM you have to provide the following information:
At a certain point during an SAP installation, you will get prompted by SWPM to start
RUNINSTALLER to install the Oracle database software:
For other installation scenarios see the section 'Advanced Installation with SAP
RUNINSTALLER'.
7. Install Patches (SBP)
Before you return to the SAP installer and create the database, ensure that you have
installed the latest recommended database patches (SAP Bundle Patch). Follow the
instructions of the SBP Readme to install the SAP Bundle patch.
8. Log off when done
These are the instructions if you did not download the recommended RUNINSTALLER version.
1. Before you start RUNINSTALLER you should create directory /oracle/<DBSID>, if it does not
exist
$ mkdir -p /oracle/$DB_SID
2. Set IHRDBMS and OHRDBMS environment variables
$ setenv IHRDBMS /oracle/RDBMS/11203
$ setenv OHRDBMS /oracle/$DB_SID/112
3. Start RUNINSTALLER with the following arguments:
$./RUNINSTALLER -install_home $IHRDBMS -runtime_home $OHRDBMS -log $HOME
-tmp $HOME
You can also install the shared Oracle home into another path than the SAP default path by
using the RUNINSTALLER option -install_home <path>.
You can use the RUNINSTALLER option -no_db_sid to install a shared Oracle home without
reference to a specific database <DBSID>. This shared Oracle home can then be used at a
later point in time. Note that DB_SID must not be set for this scenario (unsetenv DB_SID).
If you need more than one shared Oracle home (i.e. different patch levels, minimal downtime
patching) you can install multiple shared Oracle homes at different locations.
Example: 9 databases C11,C12,...,C19 running from 3 different shared Oracle homes which
are at 3 different patch levels
C11,C12,C13 use shared Oracle home <IHRDBMS1>
C14,C15,C16 use shared Oracle home <IHRDBMS2>
C17,C18,C19 use shared Oracle home <IHRDBMS3>
For silent installation of a shared Oracle home use the following command syntax:
In order to install one shared Oracle home for 3 databases <DBSID1>, <DBSID2> and <
DBSID3>, you can use the RUNINSTALLER script as follows:
The first time RUNINSTALLER will install the shared Oracle home and configure the runtime
home for <DBSID1>, the 2nd and 3rd time only the runtime home for <DBSID2> and <
DBSID3> will be configured.
Additional Information
Note that in the environment of the 'oracle' user some environment variables are not set:
ORACLE_HOME, ORACLE_SID, DB_SID.
The terms <IHRDBMS> for installation Oracle home and <OHRDBMS> for runtime Oracle
home are used in the same way as for non-shared Oracle Homes.
It is possible to use the method of minimal downtime patching (SAP note 1696869) also in
combination with a shared Oracle home.