Real Application Clusters (RAC)

57.1 Architecture

Oracle Clusterware (Grid Infrastructure): CRS, CSS (node membership, voting disks), EVM, OCR (Oracle Cluster Registry), GNS, GIPC.

Cache Fusion: blocks move between instances' buffer caches over the interconnect, managed by the Global Cache Service (GCS/LMS) and the Global Enqueue Service (GES/LMD).

RAC-specific processes: LMON, LMD, LMS, LCK, DIAG, ACMS, RMSn.

Each instance has its own redo thread and undo tablespace.

Clients ──► SCAN listeners (3 VIPs) ──► Node VIP / local listeners
   ┌──────────────┐   Private interconnect   ┌──────────────┐
   │ Node 1       │◄────(Cache Fusion)──────►│ Node 2       │
   │ Instance 1   │                          │ Instance 2   │
   │ (SGA, BG)    │                          │ (SGA, BG)    │
   └──────┬───────┘                          └──────┬───────┘
          └──────────── Shared storage (ASM) ───────┘
                 One database: datafiles, control files, per-thread redo/undo

57.2 Administration

crsctl stat res -t
crsctl check cluster -all
srvctl status database -d ORCL
srvctl stop instance -d ORCL -i ORCL2
srvctl start database -d ORCL
srvctl add service -d ORCL -s oltp_svc -preferred ORCL1 -available ORCL2 -failovertype TRANSACTION -commit_outcome TRUE
srvctl relocate service -d ORCL -s oltp_svc -oldinst ORCL1 -newinst ORCL2
olsnodes -n ; ocrcheck ; crsctl query css votedisk ; cluvfy stage -pre crsinst -n node1,node2

57.3 Services, Workload Management and High Availability

Services: preferred and available instances, load balancing goals (CLB_GOAL, GOAL), FAN (Fast Application Notification), FCF, TAF, Application Continuity / Transparent Application Continuity, Draining (planned maintenance).

SCAN (Single Client Access Name).

Server pools, policy-managed vs administrator-managed databases.

RAC One Node (active-passive with online relocation).

Extended (stretch) clusters.

57.4 RAC Performance Tuning

Wait events: gc cr request, gc buffer busy acquire/release, gc current block 2-way/3-way, gc cr block congested.

Avoid hot blocks: sequences with CACHE (and NOORDER or scalable sequences), reverse-key or hash-partitioned indexes, application/service partitioning (affinity).

Interconnect: dedicated, high-bandwidth, jumbo frames, RDS/RoCE on Exadata.

GV$ views, AWR RAC reports.