Oracle Real Application Cluster

Use

You can use the Oracle Real Application Cluster (RAC) option with your Oracle database to improve the availability of your SAP system. The RAC configuration replicates the database server.

If one of the RAC instances fails, a surviving instance performs the recovery for the failed instance. Transactions open at the time of the instance failure are rolled back and committed transactions are applied. The surviving database instance continues to provide the database service. Application servers connected to the failed database instance can reconnect to a surviving database instance and continue.

Integration

The SAP tools for database administration – that is, BR*Tools – support RAC. For more information, see:

·        RAC with BR*Tools

·        Oracle Databases on Raw Devices

Prerequisites

If you want to use RAC, your Oracle database must use a cluster file system or raw devices.

See also “Activities” below for further prerequisites that you must meet to run RAC successfully.

Features

The following diagram illustrates RAC:

For more information about RAC, see the Oracle documentation, but be aware of the following general features of RAC:

·        All control files, online redo log files, and database files are stored on the cluster file system or shared raw devices, which can be accessed by all computers in the cluster.

·        There are multiple Oracle instances, normally one per node, all of which can access the database.

·        Each Oracle instance has a unique number and name, the Oracle system ID. When an Oracle instance connects to the database, the connection is specified by the environment variable ORACLE_SID (abbreviated to DBSID) or a connect string.

·        Each Oracle instance writes its own groups of online redo log files, which normally include mirrored online redo log files, depending on your configuration. All the groups belonging to a single instance are called an online redo thread, identified by a unique number.

·        Each Oracle instance writes its own offline redo log files, identified by the thread number and an ongoing sequence number. The offline redo log files are stored as normal files in a shared file system. You can access these files globally, that is, from each node running an instance.

·        All Oracle instances have a common spfile (recommended), which specifies for each instance, among other things:

Ў        Instance name and number

Ў        Thread number, using thread

Ў        Archive directory, using log_archive_dest

Ў        Name format of the offline redo log files, using log_archive_format

The values for these parameters must not include ? (<ORACLE_HOME>) and @ (<ORACLE_SID>). To avoid problems, this is only valid as follows:

Ў        log_archive_dest = /oracle/<DBNAME>/oraarch/<DBNAME>arch

In the standard installation, all instances ought to have the same shared <ORACLE_HOME>. For example:

log_archive_dest = /oracle/RAC/oraarch/RACarch

Ў        log_archive_format = %t_%s.dbf

Activities

You perform the following activities with RAC:

·        One of the Oracle instances (normally the instance with thread number 1 in SAP installations) is the dedicated database instance (DDB instance). You use this instance to perform all database administration tasks, such as backup, tablespace extension, reorganization, and so on.

·        Before working with your Oracle database, make sure you understand the details of your particular installation. The standard allocation of instance (ORACLE_SID or DBSID) and threads looks as follows in an SAP System called RAC:

Instance (DBSID)

Thread

RAC001

1 (DDB instance)

RAC002

2

RAC003

3

...

...

·        You must be able to administer all Oracle instances from the DDB instance, that is, you must be able to start and stop all instances from the DDB instance. You must be able to do this from a local SQLPLUS session. To enable this, you have to meet the following prerequisites:

Ў        You create an Oracle password file by entering the following:

orapwd file=<ORACLE_HOME>/dbs/orapw

password=<sys_password> entries=10

Ў        You make sure that the Oracle profile has the following entry:

remote_login_passwordfile = exclusive

If the parameters are only effective after a system restart, then you must restart all instances.

Ў        You make sure that, on the DDB instance, the system user has SYSDBA and SYSOPER authorization. To do this, start SQLPLUS as the SYSDBA user and execute the following Oracle command:

SQL> grant sysdba to system;

SQL> grant sysoper to system;

Ў        If required, change the password for the SYSTEM user, as follows:

SQL> alter user system identified by <password>;

For more general information about SAP support for Oracle RAC see SAP Notes 527843, 581320, 621293, and 830982.