Title: Oracle10g RAC Service Architecture
1Oracle10g RAC Service Architecture
- Overview of Real Application Cluster Ready
Services, Nodeapps, and User Defined Services
2Overview
- Service Architecture
- Cluster Ready Services (CRS)
- Nodeapps
- User defined Services
- ASM Services
- Internally Managed Services
- Monitoring Services
3RAC 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
4RAC 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
5Cluster Ready Services
- Manage the RAC Cluster
- Several Different Services
- OracleCRSService
- Oracle CSService
- OracleEVMService
- OraFenceService
- Required for RAC installation
- Installed in its own CRS_HOME
6CRS 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
7CRS 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
8CRS Services
- OracleCRSService
- Cluster Ready Services Daemon
- OracleCSService
- Oracle Cluster Synchronization Service Daemon
- OracleEVMService
- Event Manager Daemon
- OraFenceService
- Process Monitor
9Cluster 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
10Oracle 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
11Event Manager DaemonOracleEVMService
- Runs as Administrator user
- Restarts on failure
- Generates Events
- Starts the racgevt thread to invokes Server
Callouts
12Process 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
13RACG
- 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)
14Cluster Ready ServicesManagement
- Log Files
- OracleCRSService
- ORA_CRS_HOME\log\hostname\crsd
- Oracle Cluster Registry (OCR)
- ORA_CRS_HOMElog\hostname\ocr
- OracleEVMService
- ORA_CRS_HOME\log\hostname\evmd
- OracleCSService
- ORA_CRS_HOMElog\hostname\cssd
- RACG
- ORA_CRS_HOMElog\hostname\racg
15Nodeapp 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
16VIP (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
17Global 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.
18Listener
- 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.
19Oracle 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
20ONS 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
21User 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
22User 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
23Automatic 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
24Internally 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
25Global 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).
26Global 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
27Global 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.
28Monitoring RAC Services
- ORA_CRS_HOME\bin\crs_stat
- NAMEora.rac1.gsd
- TYPEapplication
- TARGETONLINE
- STATEONLINE
-
- NAMEora.rac1.oem
- TYPEapplication
- TARGETONLINE
- STATEONLINE
-
- NAMEora.rac1.ons
- TYPEapplication
- TARGETONLINE
- STATEONLINE
29Monitoring 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
30Review
- 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
31Summary
- 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