๐ง CRSD in Oracle Clusterware – Your RAC's Silent Orchestrator
In Oracle RAC (Real Application Clusters), high availability is not just a goal—it's a requirement. Behind the scenes, CRSD (Cluster Ready Services Daemon) is the component ensuring that every essential service, instance, and resource is up, running, and properly managed.
In this post, we will explore:
- What is CRSD?
- Its core responsibilities and architecture
- Interaction with other clusterware components
- Failover behavior and how it handles resource recovery
- Diagnostic commands and logs
๐ What is CRSD?
The Cluster Ready Services Daemon (CRSD) is a core component of Oracle Clusterware. It is responsible for:
- Managing high availability (HA) resources
- Starting and stopping databases, listeners, ASM, VIPs, and services
- Orchestrating failover and restarts when a node or resource fails
CRSD runs as root
and ensures that critical Oracle and non-Oracle applications are managed according to the policies defined in the OCR.
⚙️ CRSD Responsibilities
Function | Description |
---|---|
๐ Resource Management | Starts/stops Oracle databases, listeners, services, and ASM |
๐ Failover Handling | Relocates resources during node or service failure |
๐ง Dependency Tracking | Maintains relationships (e.g., listener must start before DB) |
๐ก VIP & SCAN Management | Controls Virtual IPs and Single Client Access Names |
๐ OCR Interaction | Reads and writes to the Oracle Cluster Registry for resource state/config |
๐งฑ CRSD Architecture
CRSD is part of the Oracle High Availability Service stack. It spawns and manages several subcomponents:
- crsd.bin – Main daemon running as root
- oraagent.bin – User-mode agent to handle database, ASM, and listener operations
- crsagent.bin – Manages internal cluster resources
How it works:
crsd.bin ├── oraagent.bin ➝ manages Oracle resources ├── crsagent.bin ➝ manages internal infra like SCAN/VIP └── OCR ➝ reads and stores configuration
๐ What Happens During Resource Failures?
- If a service or DB crashes, CRSD attempts a local restart.
- If unsuccessful, the resource is relocated to another node.
- Failover logic is determined by target/placement policies.
If the CRSD itself fails:
- The node may be evicted by CSSD if it fails health checks.
- CRSD is auto-restarted by the OHAS daemon.
๐ What Resources Does CRSD Manage?
- ๐ก SCAN Listeners and SCAN VIPs
- ๐งฑ Oracle Databases (RAC, RAC One Node)
- ๐ง ASM Instances
- ๐ป Node VIPs
- ๐ฅ️ Application resources registered by
srvctl
- ๐งฉ Custom resources via action scripts
๐งช Diagnostic Commands
Use these to check the health and behavior of CRSD:
crsctl check crs
crsctl status resource -t
crsctl start resource ora.dbname.db
crsctl stop crs
๐ Important Log Files
Component | Log Path |
---|---|
CRSD Logs | $GRID_HOME/log/<hostname>/crsd/crsd.log |
Agent Logs | $GRID_HOME/log/<hostname>/agent/ |
OCR Interaction | $GRID_HOME/log/<hostname>/crsd/ocrdump.log |
๐ก Best Practices
- ✅ Monitor
crsd.log
regularly for failover events - ๐ Avoid manual resource manipulation—always use
crsctl
orsrvctl
- ๐ง Register resources with proper dependencies and policies
- ๐ Keep OCR and voting disks healthy to prevent node eviction
๐งญ Conclusion
CRSD is the brain of high availability in Oracle RAC. It automates resource startup, monitors health, and performs complex orchestration with little human interaction. Understanding its architecture and log files can make troubleshooting more predictable and help ensure your cluster runs smoothly.
When RAC behaves like magic—CRSD is the magician behind the curtain.
Comments
Post a Comment