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

after any server boot-up. etc. Oracle attempts to restart all services on the node .):   Instances and Services will be relocated to another node The “failed” node will be rebooted  By default.RAC Services and High Availability   Oracle Services facilitate high availability of databases and related applications If key database resources become unavailable (network. storage.

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 Oracle Cluster Synchronization Service Daemon    OracleCSService  OracleEVMService  Event Manager Daemon Process Monitor OraFenceService  .

stops and fails-over application resources Maintains the OCR (Oracle Cluster Repository)  Keeps state information in the OCR .Cluster Ready Services Daemon OracleCRSService      Runs as Administrator user Automatically restarted Manages Application Resources Starts.

Oracle Cluster Synchronization Service Daemon OracleCSService    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 Daemon OracleEVMService     Runs as Administrator user Restarts on failure Generates Events Starts the racgevt thread to invokes Server Callouts .

and can reboot the node if a problem is detected An OraFenceService failure results in Oracle Clusterware restarting the node .Process Monitor OraFenceService      Runs as Administrator user Locked in memory to monitor the cluster Provides I/O fencing OraFenceService periodically monitors cluster status.

exe. racgimon.RACG    RACG is a behind-the-scenes process (or thread) that extends clusterware to support Oracle-specific requirements and complex resources. Runs as processes (or threads).exe) . not as a service (racgmain. Runs server callout scripts when FAN events occur.

Cluster Ready Services Management  Log Files      OracleCRSService  %ORA_CRS_HOME%\log\hostname\crsd %ORA_CRS_HOME%log\hostname\ocr %ORA_CRS_HOME%\log\hostname\evmd %ORA_CRS_HOME%log\hostname\cssd %ORA_CRS_HOME%log\hostname\racg Oracle Cluster Registry (OCR)  OracleEVMService  OracleCSService  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) Can be relocated to other nodes through the virtual IP  Nodeapp services run on each node  .

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 .

The daemon is installed on the nodes by default. and the results are sent back to SRVCTL.Global Services Daemon (GSD)     The daemon which executes SRVCTL commands GSD receives requests from SRVCTL to execute administrative tasks. It is important that you do not kill this process and it should not be deleted. such as startup or shutdown The command is executed locally on each node. .

then the listener grants a connection to the server.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.

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 .

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     User defined.

the preferred and alternate instance assignments may be different for each service .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.

A small.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. 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. 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 . it in turn launches key internally managed services   The Global Cache Service manages Cache Fusion and inmemory data buffers The Global Enqueue Service manages inter-instance locking and RAC recovery   GCS and GES show up as OS processes or threads.

Maintains the block mode for blocks in the global role. Tightly integrated with the buffer cache manager to enable fast lookup of resource information in the Global Resource Directory. Manages the status and transfer of data blocks across the buffer caches of all instances. . Employs various background processes (or threads) such as the Global Cache Service Processes (LMSn) and Global Enqueue Service Daemon (LMD).Global Cache Service (GCS)      The controlling process that implements Cache Fusion.

Global Enqueue Service Monitor (LMON)    Background process that monitors the entire cluster to manage global resources. Handles the part of recovery associated with global resources . Manages instance and process expirations and recovery for GCS.

. 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.Global Resource Directory    The data structures associated with global resources. It is distributed across all instances in a cluster.

Monitoring RAC Services  %ORA_CRS_HOME%\bin\crs_stat       NAME=ora.gsd TYPE=application TARGET=ONLINE STATE=ONLINE NAME=ora.rac1.rac1.rac1.oem TYPE=application TARGET=ONLINE STATE=ONLINE NAME=ora.ons TYPE=application TARGET=ONLINE STATE=ONLINE         .

rac2.oem application ONLINE ONLINE rac2 ora.ons application ONLINE ONLINE rac2 ora.gsd application ONLINE ONLINE rac2 ora.vip application ONLINE ONLINE rac1 ora.Monitoring RAC Services   Creating a tabular report: %ORA_CRS_HOME%\bin\crs_stat -t Name Type Target State Host -------------------------------------------------------------------------------------------------ora.rac2.oem application ONLINE ONLINE rac1 ora.rac2.rac1.rac1.ons application ONLINE ONLINE rac1 ora.gsd application ONLINE ONLINE rac1 ora.vip application ONLINE ONLINE rac2 .rac2.rac1.rac1.

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 VIP Listener GSD ONS  Nodeapps        User defined Services ASM Services Internally managed services    Global Cache Service Global Enqueue Service Global Resource Directory  Monitoring Services .

55.807..80389.8830/942:950807..425780:8907 #0.08 4/0.9438 %7:047.7.80/ ././.#0.08.9.558.0-...14:7 .90..9:7041107 .80.39./$07.43889841.3.08 . -0.-.02.9..914:7807.0 T T T T .08/408.

0'$07.#084:7.070.07.0/807../$07..0 4-.2...36:0:0$07..08 $$07..947 T 439473$07...0#$$07.7 T T $07.0 7.0$$07.08 39073.08 #$ 7..90.0 4-.0 T 4/0..0$07..558 '! 890307 $ $ T T T &807/0130/$07.0$07..03..9:70 :8907#0.08 .0 7..3.08 4-...$:22..0 7.