Oracle RAC
Overview of Real Application Clustering Features and Functionality
Overview
What is RAC? Cache Fusion Failover and Load-balancing Transparent Application Failover (TAF) Other RAC Features
RAC What is it?
Multiple instances of Oracle running on up to 8 nodes Multiple instances share a single physical database All instances can simultaneously execute transactions against the single database Caches are synchronized using Oracles Global Cache Management technology (Cache Fusion)
History of Oracle RAC
Previous Oracle Clustering Products
Oracle FailSafe on Windows OPS (Oracle Parallel Server) on multiple platforms OPS to RAC: 7.3 OPS 8i OPS 9i RAC 10g RAC
The clustering mechanism used to be more dependent on the Operating System. With 10g RAC, clustered database is built into Oracle
Oracle RAC Features
Full Cache Fusion Enhanced coordination of cache management and distributed lock manager (DLM) Lock simplification and automation Global Cache Service coordinates local buffer cache and remote block transfers Enhanced IPC Resource configuration simplification and automation Improved cluster aware tools Enhanced DBCA Oracle Enterprise Manager and Grid Control Integration Enhancements
RAC uses Shared Everything
Users
Server
Server
Server
Server
Database
How RAC clustering is done
One set of data All nodes in the cluster see the same set of data All nodes have access Any node can update the data
Increased Manageability
One virtual system to configure and manage
Single Oracle Database Single management console Single system image for the database integrated with the cluster
Cluster-wide monitoring and diagnostics Oracle Enterprise Manager Integration (9i) Oracle DBConsole and Grid Control Integration (10g)
Whats shared; Whats not
Shared
Disk access Resources that manage data All instances have common data & controls files Each node has its own dedicated:
Not Shared
System memory Operating system Database instance Application software Log files and Rollback segments
Each instance has individual
RAC can perform
Load-balancing Failover
Load-Balancing through the Listener
Client
Node 1
Node 2
Node 3
Node 4
Database
How workload is balanced
Nodes report CPU usage to listeners
Node 1
Client
Database
Node 2
How workload is balanced
Listeners choose least busy node when request comes in from client
Node 1
Client
Database
Node 2
Load-Balancing
Users
Node 1
Node 2
Node 3
Node 4
Database
Failover
If a node in the shared disk cluster fails, the system dynamically redistributes the workload among the surviving cluster nodes. RAC checks to detect node and network failures. A disk-based heartbeat mechanism uses the control file to monitor node membership and the cluster interconnect is regularly checked to determine correct operation. Reduced time to recovery with concurrent resource configuration and instance (cache) recovery Enhanced failover reliability in 10g with the use of Virtual IP addresses (VIPs)
Failover
Users
X
Server
Server
Server
Server
Database
Transparent Application Failover
Masks failures to end users; they dont need to log back into the system Applications and users are transparently reconnected to another node Applications and queries continue uninterrupted
Transactions can failover and replay
Login context maintained DML transactions are rolled back
RAC Improvements for Oracle 9i
Full Cache Fusion Enhanced coordination of cache management and distributed lock manager (DLM) Lock simplification and automation Global Cache Service coordinates local buffer cache and remote block transfers Enhanced IPC (InterProcess Communication) Resource configuration simplification and automation
Oracle 10g RAC New Features
Integrated Clusterware Management
No third-party clusterware software required Application workloads can be managed through named services Enterprise Manager manages RAC instances as a single image Fast recovery between the database and mid-tier applications Reduced message traffic, memory usage, and other resources
Automatic Workload Management
Single System Image Management
Fast Connection Failover
Performance Improvements
Zero Downtime Patching
Patches may be applied one node at a time without downtime
New cluster diagnostic tool and improved diagnostic tools
Cluster Verification and Improved Diagnostic Tools
Full Cache Fusion
Is a major feature of RAC starting with 9i The underlying technology that enables RAC Protocol that allows instances to combine their data caches into a shared global cache Allows any node to get the most up-to-date data information from the cache of any other node in the cluster without having to access the disk drives again. Improved performance with 10g
What is Cache Fusion? When do I care about it?
Dirty block of data is created
Data from disk is read into memory on a node Data is updated on that node Data hasnt been written to disk yet.
Another node requests the data
ABC block of data written to the disk drives in the database
Node A
Node B
ABC Data
ABC block of data read into memory on Node A
Node A
Node B
ABC Data
ABC Data
ABC updated to XYZ in cache
Node A ABC Data XYZ Data
Node B
ABC Data
Node B requests data block
I want data! Gimme! Gimme!
Node A ABC Data XYZ Data
Node B
ABC Data
Node A must write data block to disk drive
I want data! Gimme! Gimme!
Node A ABC Data XYZ Data
Node B
ABC Data XYZ Data
Node B must read data block from disk drive
Node A ABC Data XYZ Data
Node B
XYZ Data
ABC Data XYZ Data
Now with RAC Cache Fusion
I want data! Gimme! Gimme!
Node A ABC Data XYZ Data
Node B
XYZ Data
ABC Data
Data is transferred immediately via the interconnect Shared cache minimizes slow I/O
Shared Cache Across Nodes
Users
Server
Server
Server
Server
Database
Resource Simplification and Automation
No [Link] parameters required Resource affinity
to move the location of the resource masters for a database file to the instance where block operations are most frequently occurring. This optimizes Ability to move the ownership of a resource between instances of Real Application Clusters. Dynamic resource remastering is used to implement resource affinity for increased performance.
Dynamic resource remastering
Review
What does cache fusion avoid that was mandatory in previous versions of Oracle Parallel Server? Which Oracle process is most important in managing user session failover? If the purpose of the interconnect is NOT to serve as a heartbeat, where is the heartbeat?
Summary
New Features Shared Everything Clustering Cache Fusion RAC Clustering failover & load-balancing