Oracle RAC Startup Sequence
Explore the essential steps involved in starting up an Oracle Real Application Clusters (RAC) environment. Understanding this sequence is crucial for database administrators and anyone working with high-availability databases. Let’s dive into the startup process.
Startup Sequence Overview
- Operating System (OS): The process begins with the booting and initialization of the operating system. This is the foundation for all subsequent processes.
- Cluster: Once the OS is up, the cluster services are initiated. These services coordinate the various nodes in the RAC environment, ensuring they work together seamlessly.
- Automatic Storage Management (ASM): After the cluster services are active, ASM starts. This component manages the storage for the database, optimizing the way data is stored and accessed.
- Database Instance: With ASM running, the database instances are started. Each instance connects to the shared database files, allowing for parallel processing and improved performance.
- Listener: Next, the database listener is activated. This process listens for client connection requests and directs them to the appropriate database instance.
- Database Services: Finally, the database services are started. These services enable applications to interact with the database, ensuring that users can access the data they need.
Startup Sequence of Background Processes Architecture in Oracle RAC
Let’s explore the startup sequence of the various background processes involved in Oracle Real Application Clusters (RAC), presented in a different order for clarity.
INIT
|
v
INIT.OHASD
|
v
OHASD
|
v
CRSD
|
v
CSSD Monitor
|
v
CSSD Agent
|
v
OCSSD
|
v
OCSSD.bin
EVMD.bin
|
v
EVMlogger.bin
|
v
EVMlogger.log
|
v
Ora Root Agent
|
v
CTSSD
|
v
Cluster Logger Service
|
v
OSYSMOND
|
v
GPNPD
Startup Sequence for Background Processes in Oracle RAC
Let’s explore the startup sequence of the various background processes (often referred to as “demons”) involved in Oracle Real Application Clusters (RAC), presented in a different order for clarity:
1. INIT
- Role: The first process initiated during the OS boot, acting as the system and service manager.
- Function: Controls the startup and shutdown of services via scripts located in
/etc/init.d
.
2. CRSD (Cluster Ready Services Daemon)
- Role: Manages cluster resources based on configuration data stored in the Oracle Cluster Registry (OCR).
- Function: Responsible for starting, stopping, monitoring, and handling resource failovers.
3. Cluster Synchronization Services (CSS)
- CSSD Monitor:
- Function: Monitors node health and prevents hangs, also performing I/O fencing.
- CSSD Agent:
- Function: Spawned by the OHASD process, it handles I/O fencing.
- OCSSD.bin:
- Function: Manages cluster node membership, and its failure can lead to node restarts.
4. EVMD (Event Management Daemon)
- EVMD.bin: Distributes cluster events to all nodes.
- EVMlogger.bin: Reads configuration files and executes user-defined reactions to events.
- EVMlogger.log: Maintains a log of processed events.
5. Ora Root Agent
- Role: A specialized process that assists CRSD in managing root-owned resources, such as network and node VIPs.
6. CTSSD (Cluster Time Synchronization Service)
- Function: Ensures time synchronization for the cluster and runs in observer mode if
ntpd
is configured.
7. Cluster Logger Service
- Function: Gathers information from all nodes and stores it in the Cluster Health Monitor (CHM) repository, operating with one master and one standby node.
8. OSYSMOND
- Function: Monitors operating system metrics and sends collected data to the Cluster Logger Service.
9. GPNPD (General Purpose Node Parameters Database)
- Contents: A small XML file containing:
- Cluster name
- Location of VOTE disks
- Network information
- SPfile information for ASM