Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services
Overview • Service Architecture • Cluster Ready Services (CRS) • Nodeapps • User defined Services • ASM Services • Internally Managed Services • Monitoring Services
RAC Service Architecture • Oracle 10g RAC features a service based architecture • This is an improvement over 9i RAC in several ways • Increased flexibility • Increased manageability • Improvements in High Availability • Enables 10g Grid Deployment
RAC Services and High Availability • Oracle Services facilitate high availability of databases and related applications • If key database resources become unavailable (network, storage, etc.): • Instances and Services will be relocated to another node • The “failed” node will be rebooted • By default, after any server boot-up, Oracle attempts to restart all services on the node
Cluster Ready Services • Manage the RAC Cluster • Several Different Services • OracleCRSService • Oracle CSService • OracleEVMService • OraFenceService • Required for RAC installation • Installed in its own CRS_HOME
CRS Basics • Used to manage RAC • Only one set of CRS Daemons per system • Multiple instances share the same CRS • CRS runs as both root and Oracle users • CRS must be running before RAC can start
CRS Management • Started automatically • Can stop and start manually • Start the OracleCRSService • Stop the OracleCRSService • Uses the voting disk and OCR (Oracle Cluster Repository) • Requires 3 network addresses • Public • Private • Virtual Public
CRS Services • OracleCRSService • Cluster Ready Services Daemon • OracleCSService • Oracle Cluster Synchronization Service Daemon • OracleEVMService • Event Manager Daemon • OraFenceService • Process Monitor
Cluster Ready Services DaemonOracleCRSService • Runs as Administrator user • Automatically restarted • Manages Application Resources • Starts, stops and fails-over application resources • Maintains the OCR (Oracle Cluster Repository) • Keeps state information in the OCR
Oracle Cluster Synchronization Service DaemonOracleCSService • Runs as Administrator user • Maintains the heartbeat (failure causes system reboot) • Provides • Node Membership • Group Access • Basic Cluster Locking • Can integrate with 3rd party clustering products or run standalone • OracleCSService also works with non-RAC systems
Event Manager DaemonOracleEVMService • Runs as Administrator user • Restarts on failure • Generates Events • Starts the racgevt thread to invokes Server Callouts
Process Monitor OraFenceService • Runs as Administrator user • Locked in memory to monitor the cluster • Provides I/O fencing • OraFenceService periodically monitors cluster status, and can reboot the node if a problem is detected • An OraFenceService failure results in Oracle Clusterware restarting the node
RACG • RACG is a behind-the-scenes process (or thread) that extends clusterware to support Oracle-specific requirements and complex resources. • Runs server callout scripts when FAN events occur. • Runs as processes (or threads), not as a service (racgmain.exe, racgimon.exe)
Cluster Ready ServicesManagement • Log Files • OracleCRSService • %ORA_CRS_HOME%\log\hostname\crsd • Oracle Cluster Registry (OCR) • %ORA_CRS_HOME%log\hostname\ocr • OracleEVMService • %ORA_CRS_HOME%\log\hostname\evmd • OracleCSService • %ORA_CRS_HOME%log\hostname\cssd • RACG • %ORA_CRS_HOME%log\hostname\racg
Nodeapp Services • Nodeapps are a standard set of Oracle application services that are automatically launched for RAC • Virtual IP (VIP) • Oracle Net Listener • Global Services Daemon (GSD) • Oracle Notification Service (ONS) • Nodeapp services run on each node • Can be relocated to other nodes through the virtual IP
VIP (Virtual IP) • Creates a virtual IP address used by the Listener • The virtual IP address fails over between nodes • Multiple virtual IP addresses can exist on the same system (during failover) • Independent of the Oracle Instance • Potential Problem if more than one database per node
Global Services Daemon (GSD) • The daemon which executes SRVCTL commands • GSD receives requests from SRVCTL to execute administrative tasks, such as startup or shutdown • The command is executed locally on each node, and the results are sent back to SRVCTL. • The daemon is installed on the nodes by default. It is important that you do not kill this process and it should not be deleted.
Listener • Server-side component of Oracle Net • Listens for incoming client connection requests • Manages the traffic to the server; when a client requests a network session with a server, the listener actually receives the request and brokers the client request • If the client's information matches the listener's information, then the listener grants a connection to the server.
Oracle Notification Service (ONS) • The Oracle Notification Service is installed automatically on each RAC node as a Node Application • ONS starts automatically with each boot • ONS uses a simple push/subscribe method to publish event messages to all RAC nodes with active ONS daemons
ONS and Fast Application Notification • ONS can be configured to run on nodes hosting client or mid-tier applications • ONS is the key component of Fast Application Notification (FAN) • Can be utilized to extend RAC high availability and load balancing to mid-tier applications • Independent of True Application Failover • Less reliance on network configuration
User Defined Services • User defined, named services may be created to manage database resources that are associated with application workloads • One or more database instances may be mapped to a single service • A database instance may be assigned to one or more services • The Automated Workload Repository may be used to monitor Service metrics
User Defined Services and Failover • Services can be defined with preferred and alternate instances • A service may be assigned to start on preferred instances • The same service may have alternate instances assigned for failover • If multiple services are assigned for the same database, the preferred and alternate instance assignments may be different for each service
Automatic Storage Management Services • Automatic Storage Management (ASM) is a storage option for creating and managing databases • ASM operates like a Logical Volume Manager between the physical storage and the database. • A small, automatically managed Oracle database instance is created on each node (if ASM is chosen as a storage option) • ASM instances start automatically as Oracle services
Internally Managed Services • When the Global Services Daemon is started as a part of the Node Applications, it in turn launches key internally managed services • The Global Cache Service manages Cache Fusion and in-memory data buffers • The Global Enqueue Service manages inter-instance locking and RAC recovery • GCS and GES show up as OS processes or threads, but GSD is the only service that can be externally controlled • GCS and GES together manage a set of “virtual” tables in memory, called the Global Resouce Directory
Global Cache Service (GCS) • The controlling process that implements Cache Fusion. • Manages the status and transfer of data blocks across the buffer caches of all instances. • Tightly integrated with the buffer cache manager to enable fast lookup of resource information in the Global Resource Directory. • Maintains the block mode for blocks in the global role. • Employs various background processes (or threads) such as the Global Cache Service Processes (LMSn) and Global Enqueue Service Daemon (LMD).
Global Enqueue Service Monitor (LMON) • Background process that monitors the entire cluster to manage global resources. • Manages instance and process expirations and recovery for GCS. • Handles the part of recovery associated with global resources
Global Resource Directory • The data structures associated with global resources. It is distributed across all instances in a cluster. • Global Cache Service and Global Enqueue Service maintain the Global Resource Directory to record information about resources and enqueues held globally. • The Global Resource Directory resides in memory and is distributed throughout the cluster to all nodes. In this distributed architecture, each node participates in managing global resources and manages a portion of the Global Resource Directory.
Monitoring RAC Services • %ORA_CRS_HOME%\bin\crs_stat • NAME=ora.rac1.gsd • TYPE=application • TARGET=ONLINE • STATE=ONLINE • NAME=ora.rac1.oem • TYPE=application • TARGET=ONLINE • STATE=ONLINE • NAME=ora.rac1.ons • TYPE=application • TARGET=ONLINE • STATE=ONLINE
Monitoring RAC Services • Creating a tabular report: • %ORA_CRS_HOME%\bin\crs_stat -t Name Type Target State Host -------------------------------------------------------------------------------------------------- ora.rac1.gsd application ONLINE ONLINE rac1 ora.rac1.oem application ONLINE ONLINE rac1 ora.rac1.ons application ONLINE ONLINE rac1 ora.rac1.vip application ONLINE ONLINE rac1 ora.rac2.gsd application ONLINE ONLINE rac2 ora.rac2.oem application ONLINE ONLINE rac2 ora.rac2.ons application ONLINE ONLINE rac2 ora.rac2.vip application ONLINE ONLINE rac2
Review • What advantages does a service based architecture offer? • What four services comprise Cluster Ready Services? • Nodeapps consists of which four applications? • True or False: a database instance may be assigned to multiple services
Summary • Service Architecture • Cluster Ready Services (CRS) • OracleCRSService • OracleCSService • OracleEVMService • OraFenceService • Nodeapps • VIP • Listener • GSD • ONS • User defined Services • ASM Services • Internally managed services • Global Cache Service • Global Enqueue Service • Global Resource Directory • Monitoring Services