Wednesday, January 14, 2009

Oracle RAC Components

Oracle RAC Components
http://youngcow.net/doc/oracle10g/rac.102/b14197/admcon.htm

The Oracle Clusterware Architecture and Oracle Clusterware Processing

The Oracle Clusterware is software that when installed on servers running the same operating system, enables the servers to be bound together to operate as if they were one server. The Oracle Clusterware requires two clusterware components: a voting disk to record node membership information and the Oracle Cluster Registry (OCR) to record cluster configuration information. The voting disk and the OCR must reside on shared storage. The Oracle Clusterware requires that each node be connected to a private network by way of a private interconnect.

The private interconnect that the Oracle Clusterware requires is a separate network that you configure between the cluster nodes. This interconnect, which is required by RAC, can be the same network that the clusterware uses, but the interconnect should not be accessible by nodes that are not part of the cluster.

Oracle recommends that you configure a redundant interconnect to prevent the interconnect from being a single point of failure. Oracle also recommends that you use User Datagram Protocol (UDP) on a Gigabit Ethernet for your cluster interconnect. Crossover cables are not supported for use with the Oracle Clusterware or RAC databases.

The Oracle Clusterware manages node membership and prevents split brain syndrome in which two or more instances attempt to control the database. This can occur in cases where there is a break in communication between nodes through the interconnect.

The Oracle Clusterware architecture supports high availability by automatically restarting stopped components. In a RAC environment, all Oracle processes are under the control of the Oracle clusterware. The Oracle Clusterware also provides an application programming interface (API) that enables you to control other Oracle processes with the Oracle Clusterware.

Oracle Clusterware Software Component Processing Details

The Oracle Clusterware comprises several background processes that facilitate cluster operations. The Cluster Synchronization Service (CSS), Event Management (EVM), and Oracle Cluster components communicate with other cluster component layers in the other instances within the same cluster database environment. These components are also the main communication links between the Oracle Clusterware high availability components and the Oracle Database. In addition, these components monitor and manage database operations.


See Also:

Chapter 14, "Making Applications Highly Available Using the Oracle Clusterware" for more detailed information about the Oracle Clusterware API

The following list describes the functions of some of the major Oracle Clusterware components. This list includes these components which are processes on Unix and Linux operating systems or services on Windows.


Note:

On Windows-based operating systems, many of the components are threads of the Oracle process instead of separate processes.

  • Cluster Synchronization Services (CSS)—Manages the cluster configuration by controlling which nodes are members of the cluster and by notifying members when a node joins or leaves the cluster. If you are using third-party clusterware, then the css process interfaces with your clusterware to manage node membership information.

  • Cluster Ready Services (CRS)—The primary program for managing high availability operations within a cluster. Anything that the crs process manages is known as a cluster resource which could be a database, an instance, a service, a Listener, a virtual IP (VIP) address, an application process, and so on. The crs process manages cluster resources based on the resource's configuration information that is stored in the OCR. This includes start, stop, monitor and failover operations. The crs process generates events when a resource status changes. When you have installed RAC, crs monitors the Oracle instance, Listener, and so on, and automatically restarts these components when a failure occurs. By default, the crs process makes five attempts to restart a resource and then does not make further restart attempts if the resource does not restart.

  • Event Management (EVM)—A background process that publishes events that crs creates.

  • Oracle Notification Service (ONS)—A publish and subscribe service for communicating Fast Application Notification (FAN) events.

  • RACG—Extends clusterware to support Oracle-specific requirements and complex resources. Runs server callout scripts when FAN events occur.

  • Process Monitor Daemon (OPROCD)—This process is locked in memory to monitor the cluster and provide I/O fencing. OPROCD performs its check, stops running, and if the wake up is beyond the expected time, then OPROCD resets the processor and reboots the node. An OPROCD failure results in the Oracle Clusterware restarting the node. OPROCD uses the hangcheck timer on Linux platforms.

In the following table, if a process has a (r) beside it, then the process runs as the root user. Otherwise the process runs as the oracle user.

Table 1-1 List of Processes and Windows Services associated with Oracle Clusterware

Oracle Clusterware Component Linux/Unix Process Windows Services Windows Processes

Process Monitor Daemon

oprocd (r)

OraFenceService


RACG

racgmain, racgimon


racgmain.exe racgimon.exe

Oracle Notification Service (ONS)

ons


ons.exe

Event Manager

evmd (r), evmd.bin, evmlogger

OracleEVMService

evmlogger.exe, evmd.exe

Cluster Ready

crsd.bin (r)

OracleCRSService

crsd.exe

Cluster Synchronization Services

init.cssd (r), ocssd (r), ocssd.bin

OracleCSService

ocssd.exe


The Oracle Clusterware Software Components

When the Oracle Clusterware operates, several platform-specific processes or services will also be running on each node in the cluster to support the Oracle Clusterware. The Oracle Clusterware platform-specific UNIX-based processes and Windows-based services are described under the following headings:

Oracle Clusterware Processes on UNIX-Based Systems

The Oracle Clusterware processes on UNIX-based systems are:

  • crsd—Performs high availability recovery and management operations such as maintaining the OCR and managing application resources. This process runs as the root user, or by a user in the admin group on Mac OS X-based systems. This process restarts automatically upon failure.

  • evmd—Event manager daemon. This process also starts the racgevt process to manage FAN server callouts.

  • ocssd—Manages cluster node membership and runs as the oracle user; failure of this process results in cluster restart.

  • oprocd—Process monitor for the cluster. Note that this process only appears on platforms that do not use vendor clusterware with the Oracle Clusterware.


Note:

RAC on Linux platforms can have multiple threads that appear as separate processes with separate process identifiers.

Oracle Clusterware Services on Windows-Based Systems

The Oracle Clusterware services on Windows-based systems are:

  • OracleCRService—Performs high availability recovery and management operations such as maintaining the OCR and managing application resources. This process runs as the root user, or by a user in the admin group on Mac OS X-based systems. This process restarts automatically upon failure.

  • OracleCSService—Manages cluster node membership and runs as oracle user; failure of this process results in cluster restart.

  • OracleEVMService—Event manager daemon. This process also starts the racgevt process to manage FAN server callouts.

  • OraFenceService—Process monitor for the cluster. Note that this process only appears on platforms that do not use vendor clusterware with the Oracle

No comments: