Oracle Clusterware

From Wikipedia, the free encyclopedia

Oracle Clusterware is the portable clusterware, which is required to run the real application clusters options. It provides the basic clustering support at the operating system level and enables Oracle software to run in clustering mode. In earlier versions of Oracle (version 9i and below), RAC required a vendor supplied clusterware like Sun Cluster or Veritas Cluster Server with the exception of Linux and Windows.

[edit] Oracle Clusterware Components

Oracle Clusterware is the software, which enables the nodes to communicate each other, and forms the cluster and makes the nodes as single logical server. Oracle Clusterware is run by Cluster Ready Services using two key components. They are [Oracle Cluster Registry] (OCR), which records and maintains the cluster and node membership information. The other component is voting disk, which acts a tiebreaker during communication failures. Consistent heartbeat information from all the nodes is sent to voting disk when the cluster is running. CRS service has four components namely OPROCd, CRS Daemon (crsd), Oracle Cluster Synchronization Service Daemon (OCSSD) and Event Volume Manager Daemon (evmd) and each handles a variety of functions. Failure or death of the CRS daemon can cause the node failure and it automatically reboots the nodes to avoid the data corruption because of the possible communication failure between the nodes. The CRS daemon runs as the super user ‘root’ in the UNIX platforms and runs as a service in the windows platforms.


The following functionalities are covered by Oracle Cluster Ready Services

  • CRS is installed and run from a different oracle home known as ORA_CRS_HOME, which is independent from ORACLE_HOME.
  • CRSd manages the resources like starting and stopping the services and failovers the application resources. It spawns separate processes to manage application resources
  • CRS daemon has two modes of running. During startup and after a shutdown. During planned clusterware start it is started as ‘reboot’ mode. It is started as ‘restart’ mode after unplanned shutdown.
  • In reboot mode it ‘auto’ starts all the resources under its management. In restart mode it prevails the previous state and brings back the resources to it previous state before shutdown
  • Manages the Oracle Cluster Registry and stores the current known state in the Oracle Cluster Registry
  • Runs as ‘root’ on Unix and ‘LocalSystem’ on windows and automatically restarts in case of failure.
  • CRS requires the public interface, private interface and the Virtual IP (VIP) for the operation all these interfaces should be up and running, should be ping able to each other before starting CRS Installation. Without the above network infrastructure CRS cannot be installed.

Oracle Cluster Synchronization Services Daemon (ocssd) is the component, which provides the synchronization services between the nodes. OCSSD provides the access to the node membership. It also enables basic cluster services including cluster group services and cluster locking. It can also run without integration with vendor clusterware. Failure of ocssd causes the machine reboot to avoid split-brain situation. This is also requires in the single instance if Automatic Storage Management (ASM) is used. Automatic Storage management is the new feature in oracle database 10g. Ocssd run as ‘oracle’ user. The following functionalities are covered by CSS daemon

  • CSS provides basic ‘group services’ support. Group Services is a distributed group membership system that provides the functionality to allow the applications to coordinate activities to archive a common result.
  • ’Group services’ use vendor clusterware group services when vendor clusterware is available. But it is capable of working independently in there is no vendor clusterware group services is available
  • ‘Lock services’ is another service from the CSS daemon. Lock services provide the basic cluster wide serialization locking functions. It uses FIFO mechanism to manage locking
  • Node Services is the third service produced by the CSSD. It uses OCR to store the data and updates the information during re configuration. It also manages the OCR data, which is static otherwise.

The third component in OCS is called Event Management Logger. Event Management logger also runs as daemon process ‘evmd’. The daemon process ‘evmd’spawns a permanent child process called ‘evmlogger’ and generates the events when things happen (!). EVMD child process ‘evmlogger’ spawns new children processes on demand and scans the callout directory to invoke callouts. It will restart automatically on failures and death of the evmd process does not halt the instance. Evmd runs as ‘oracle’ user. Oprocd provides the I/O Fencing solution for the Oracle Clusterware. It is the process monitor for the oracle clusterware and it uses the hang check timer or watchdog timer (depending on the implementation) for the cluster integrity. Orpocd is locked in the memory and runs as a real time process. This sleeps for a fixed time and runs as ‘root’ user. Failure of the Oprocd process causes the node to restart.

[edit] External links