You are on page 1of 31

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 Oracle Cluster Synchronization Service Daemon

OracleCSService

OracleEVMService

Event Manager Daemon


Process Monitor

OraFenceService

Cluster Ready Services Daemon OracleCRSService


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 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

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 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

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 inmemory 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 VIP Listener GSD ONS

Nodeapps

User defined Services ASM Services Internally managed services


Global Cache Service Global Enqueue Service Global Resource Directory

Monitoring Services

You might also like