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
([Link], [Link])
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=[Link]
TYPE=application
TARGET=ONLINE
STATE=ONLINE
NAME=[Link]
TYPE=application
TARGET=ONLINE
STATE=ONLINE
NAME=[Link]
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
--------------------------------------------------------------------------------------------------
[Link] application ONLINE ONLINE rac1
[Link] application ONLINE ONLINE rac1
[Link] application ONLINE ONLINE rac1
[Link] application ONLINE ONLINE rac1
[Link] application ONLINE ONLINE rac2
[Link] application ONLINE ONLINE rac2
[Link] application ONLINE ONLINE rac2
[Link] 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