Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 







Oracle RAC Cluster Architecture

Oracle Tips by Burleson

Oracle Cluster Registry (OCR)

The OCR contains cluster and database configuration information for RAC and Cluster Ready Services (CRS) such as the cluster node list, and cluster database instances to node mapping, and CRS application resource profiles.  The OCR is a shared file located in a cluster file system.  When you are not using Cluster File System, OCR file can be located on a shared raw device in UNIX-based systems, or a shared logical partition in Windows environments. 

During the installation of Cluster Ready Services software, the Oracle Universal Installer (OUI) automatically initializes the OCR file by executing the srvconfig -init command.  If you create more than one database on the cluster, they all share the same Oracle cluster registry.  If you are upgrading from Oracle9i Release 2, then you can continue using the raw device that you used for the SRVM configuration repository instead of creating this new logical volume.

Voting Disk

Voting Disk File is a file on the shared cluster system or a shared raw device file.  Voting disk is akin to the quorum disk, which helps to avoid the split-brain syndrome.

ORACLE_HOME Files (Oracle Binaries)

Typically, every instance in the RAC database system will have its own ORACLE HOME and a set of exclusive binaries.  However, the Oracle Binaries are located either on a local file system or on a clustered file system.  Locating the Oracle Home (Binaries) on a clustered file system provides easier management by keeping a single copy of Oracle Home supporting all the instances.

Common Oracle Home for multiple instances is an attractive proposition as it helps to easily expand the nodes and shrink the nodes as needed. It helps the dynamic addition and expansion of nodes without bothering about a fresh install of the Oracle binaries for the new instance. This feature is particularly useful for large clusters and it fits into the Grid strategy of easier addition and reduction of computing resources.

UNDO Tablespace Files

UNDO tablespace files are special tablespaces that have system undo segments. They contain “before images” of blocks involved in uncommitted transactions.  As such, they are the primary support structure allowing a transaction to “rollback” if the decision is made to not commit the transaction. These tablespaces also support the Oracle functionality known as Multi-block Read Consistency.  If configured to use “System Managed Undo,” there must be one UNDO tablespace available for each instance in the RAC setup.  With 10g, this is the only method. Earlier system of public or private rollback segments is discontinued.

RAW Partitions, Cluster File System and Automatic Storage Management (ASM)

Each of the above mentioned structures either are on raw partitions or on a cluster file system. Raw partitions are a set of unformatted devices on a shared disk sub-system. The RAC shared storage files can be stored on the cluster file system wherever it is available.

Oracle RAC database files are located on the shared storage units. Shared storage disks are physically connected to all the nodes. All the nodes need to have read and write access concurrently to the data devices. The presentation of the data devices to the operating systems can be achieved either by raw partitions or through the cluster file system. A raw partition is a disk drive device that does not have a file system set up. The raw partition is a portion of the physical disk that is accessed at the lowest possible level. The actual application that uses a raw device is responsible for managing its own I/O to the raw device with no operating system buffering.

Traditionally, they were required for Oracle Parallel Server (OPS) and they provided high performance by bypassing the file system overhead.  Raw partitions were used in setting up databases for performance gains and for the purpose of concurrent access by multiple nodes in the cluster without system-level buffering.  Oracle9i RAC and 10g now supports both the cluster file systems and the raw devices to store the shared data.  In addition, 10g RAC supports shared storage resources from ASM (Automatic Storage Management) instance.  You will be able to create the data files out of the disk resources located in the ASM instance.  The ASM resources are sharable and accessed by all the nodes in the RAC system.

Storage occupies an important place in the overall architecture of the RAC system.  It is crucial to plan and design carefully to get the right storage array in a compatible environment.  More details and how to prepare the file structures are covered in  “Preparing Shared Storage”.

The Concept of the Redo Thread

In the RAC system, each instance has to have its own redo log groups.  The redo log file groups of an instance are collectively called a "thread,", or more appropriately, a "redo log thread."  Each instance has its own redo thread.  The redo log groups function in a true circular fashion; as one fills up, another redo log records the redo entries.  In a stand-alone instance, there is only one thread. In a RAC system, typically you have as many threads as instances.  The thread number identifies each thread.  The threads may have different numbers of redo groups, but each group must have at least two members, as shown in Fig. 4.7.

Figure 4.7 Redo Threads in a 2 Node RAC database 

Online redo logs record the redo entries as transactions commit and rollback.  Redo groups may optionally have additional members to provide mirroring of the redo groups.

Thread Features

Each instance must have a minimum of two redo groups, with each group having at least one member in the group.  Every redo group has a group number, which is a unique number in the database.  All the redo log files supporting the redo groups reside on a shared storage, so that every instance in the cluster can access all the redo groups during the recovery process.  As shown in Fig. 4.9, all the redo groups are located on a shared storage unit.

Figure 4.9 Redo Groups on a shared storage

Use a minimum of three or more redo groups in a thread.  Keep at least two redo members for each redo group, for multiplexing and protection.  Multiplexing the redo members is optional, but is highly recommended.  Different degrees of mirroring are permitted in different threads.  The redo log thread can be public or private.  When the redo thread is enabled, it can be specified as a ‘private’ thread.  This means it is associated with a specific instance as defined in the initialization parameter thread of the instance.  Alternatively, it can be specified as ‘public,’ in which case any instance can acquire it.

Database Logical Objects

The logical storage structures include, at the lowest level, the data blocks and the next level extents. A group of extents set aside for a specific object is grouped into a segment.  At the highest level, we find a tablespace, which consist of extents.

Data Blocks

The Oracle data rows are stored in Data Blocks.  The standard size of the data block is specified by the DB_BLOCK_SIZE initialization parameter.  In addition, you can specify up to five other block sizes.  Data Block is the smallest (granular) basic logical structure that is brought into buffer cache from the disk storage in order to do the SQL processing.


The next level of logical database structure is an extent.  An extent is a specific number of contiguous data blocks, which are obtained in a single allocation unit.  It is an allocation unit.


Segment is a set of extents allocated for a certain logical structure.  There are many types of segments namely, data segment, index segments, temporary segments and undo segments.

Get the Complete
Oracle SQL Tuning Information 

The landmark book "Advanced Oracle SQL Tuning  The Definitive Reference"  is filled with valuable information on Oracle SQL Tuning. This book includes scripts and tools to hypercharge Oracle 11g performance and you can buy it for 30% off directly from the publisher.

Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2020

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.