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