Oracle Real Application Cluster (RAC) FAQ
1. What is the Oracle Real Application Cluster (RAC)?
Within the RAC, several Oracle instances access the same database. The Oracle instances can be located on different hosts. To keep the status of the overall system consistent, the instances are synchronized using the cache fusion function. This synchronization occurs at memory level - you do not have to access the disk. The prerequisites for using the RAC are a cluster file system or raw devices, a cluster installed on the operating system and the SAP release.
2. When will the RAC be released in the SAP environment?
doc 527843 contains current information on the SAP release with RAC on various operating systems.
3. Where can I find information on SAP safeguarding for RAC?
Details about SAP safeguarding for RAC are currently unavailable.
4. How does it differ from the Oracle Parallel Server?
The earlier Oracle Parallel Server concept had some important disadvantages compared with the RAC and was therefore not supported by SAP. For example, the instances are synchronized through data files and not through the SGA, which considerably impaired performance.
5. For RAC, do I require a different license to that required for a normal Oracle application?
An additional license (charged separately) is required to use RAC because the RAC option is not contained in the standard package. You can obtain this license (exactly like the standard license) either from SAP or directly from Oracle. If you want to acquire a license from SAP, approach your contact person in your local SAP sales office.
6. What are the advantages of using the RAC compared to a normal Oracle installation?
When compared with a standard Oracle installation, the advantages of the RAC are as follows:Scalability and load distribution If resource bottlenecks occur, you can install more instances on other machines. The load in question is distributed on all active instances.
If an instance crashes, the other instances will be able to continue working and take over the work of the defective instance. As a result, the Oracle instance level is no longer a Single Point of Failure (SPOF), which significantly reduces the probability of outage.
Instance-dependent parameter setting
You can set the parameters of the database on an instance-dependent basis. This is a great advantage when different SAP systems that require different database parameter settings, for example, the standard R/3 and BW systems, are working with the same database within the MCOD. In this case, you could assign Oracle instances that are specially adapted for BW to the BW system, whereas the R/3 system would work with the instances configured with the default parameter settings.
Transparent Application Failover
As a result of the Transport Application Failover, client processes may be reconnected at Oracle level so that a new connection (possibly to another instance) is set up for client processes that lose their connection to an instance (this takes place without the system issuing an ORA-03113 error).
7. What is the difference between RAC and conventional MSCS and UNIX clusters in the SAP environment?
MSCS and SAP-UNIX clusters
Shared Nothing Cluster
The Oracle resource has a virtual IP address
Oracle only runs on a maximum of one node at any time.
Shared Disk Cluster
No virtual IP address for the Oracle resource
Oracle instances can run on several nodes simultaneously.
8. What is cache fusion?
The memory of active instances has a distributed structure for managing resources (data blocks, enqueues) which is hedged by error tolerance mechanisms. This structure is called the Global Resource Directory (GRD).
Oracle provides two services on this basis:
- The Global Enqueue Service (GES) is responsible for managing enqueues.
- The Global Cache Service (GCS) is responsible for managing and distributing data blocks.
- These services can be addressed by the instances if they require access to resources. Each resource is uniquely assigned to a master instance. Communication and exchange of blocks is handled directly in the memory. There is no need to take a longer route by accessing the disk.
9. Which RAC-specific background processes are available?
LMON (Global Enqueue Service Monitor): Resource monitoring and resource recovery
LMD0 (Global Enqueue Service Demon): Enqueue administration in the GRD
LMS0, LMS1, ..., LMS9 (Global Cache Service Process): Data block administration in the GRD
LCK (Lock Process): Processing lock queries that are not based on cache fusion
DIAG (Diagnosability Demon): Collection of diagnosis data
GSD (Global Services Demon): Interface for tools such as SVRCTL, DBCA or OEM
10. Which RAC-specific Oracle tools exist?
You can use the following Oracle tools in the RAC environment:
SRVCONFIG: Initialization of GSD configuration file
GSDCTL: Start and stop of GSD
SRVCTL: Start and stop of all or single instances
LSNODES: Display of cluster nodes
11. Which RAC-specific Oracle parameters are available?
The following parameters mainly play a role in the RAC environment:
INSTANCE_NAME: Unique instance name
INSTANCE_NUMBER: Unique instance number
THREAD: The redo thread number of an instance (this should be set in exactly the same way as INSTANCE_NUMBER)
MAX_COMMIT_PROPAGATION_DELAY (Oracle <= 9i): The latest time (in 1/100 seconds) until a committed change is displayed on other instances
SERVICE_NAMES: Service names under which an instance is registered for listeners
LOCAL_LISTENER: Local listener address for instance registration (for example, "(address=(port=1527) (protocol=tcp) (host=<racnode1>))")
REMOTE_LISTENER: Remote listener address(es) for instance registration
12. Which Net8 mechanisms can be used in the RAC environment to ensure load distribution and high availability?
Mechanisms such as automatic instance registration, Client Load Balancing, Connection Load Balancing and Transparent Application Failover are available. For a more exact description of these mechanisms, see doc 562403.
13. Which steps does RAC perform during an instance crash?
The following steps ensure the consistency of the RAC system after an instance crash:
Instance Membership Recovery (IMR): Detecting an incorrect instance and removing it from the cluster
GCS Remastering: Assigning a new master instance for the blocks whose master was the incorrect instance
Cache Recovery: Recovering all of the online redo logs of the incorrect instance that were created after the last complete checkpoint
Transaction Recovery: Rollback of all of the incorrect instance transactions that were not yet committed
14. How I determine which blocks are transferred between instances and how often?
The most important overhead incurred with only once instance in the RAC environment (in comparison with an Oracle installation), is the transfer of blocks between instances within cache fusion.
For more information, use the GV$SEGMENT_STATISTICS and GV$CACHE_TRANSFER views, for example:
Number of block transfers per object:
SELECT SUBSTR(object_name, 1, 20), sum(VALUE)
WHERE STATISTIC_NAME LIKE 'global%served' AND VALUE > 0
GROUP BY OBJECT_NAME ORDER BY 2;
Number of DIFFERENT blocks transferred for each object:
SELECT NAME, PARTITION_NAME, OWNER#, COUNT(*) PING_COUNT
GROUP BY NAME, PARTITION_NAME, OWNER#
ORDER BY 4,1;
15. Is the Replicated Enqueue Server supported in the RAC environment?
The high-availability SAP Enqueue Service (doc 524816) complements RAC perfectly and is therefore also supported in the RAC environment.
16. Are RAC-specific SAP database monitors available?
SAP provides RAC-specific monitors. For details of their availability, see doc 705608.
17. Which RAC-specific problems are known?
The most important RAC-specific problems are described in SAP docs. To get an overview, display all docs from the BC-DB-ORA-RAC component.
18. Which settings are considered relevant for RAC in the SAP environment?
doc 913503 provides an overview of docs that should be taken into account in the SAP environment.