4.4 Background processes in RAC

 < Day Day Up > 



In the previous chapter, a single instance configuration of Oracle was explored and the various background processes that Oracle utilizes to perform different functions was also discussed. RAC is an extension of a single instance configuration in the sense that a RAC implementation comprises two or more nodes (instances) accessing a common shared database, (i.e., one database is mounted and opened by multiple instances concurrently). In this case, each instance in this configuration will have all the background process used in a stand-alone configuration.

Each instance has its own SGA and several background processes and each instance runs on a separate node having its own CPU and physical memory. Keeping the configurations in all the nodes identical would be beneficial for load balancing when a failover happens and the processes have an identical environment in which to execute.

click to expand
Figure 4.2: Background processes on multiple instances.

Figure 4.2 shows multiple instances of Oracle accessing a common shared database. Each instance has its own SGA, PGA, and other background processes. These background processes should be familiar, as, in a RAC configuration, each instance will have a set of these background processes.

The following characteristics are unique to a RAC implementation as opposed to a single instance configuration:

  • RAC is a configuration with multiple instances of Oracle running on many nodes.

  • Multiple instances of Oracle share a single physical database.

  • Multiple instances reside on different nodes and communicate with each other via a cluster interconnect.

  • Instances may come and leave the cluster dynamically, provided the number is within the MAX_INSTANCES value defined in the parameter file. Instances share a common database that comprises common data files and control files.

  • Each instance participating the clustered configuration will have individual log files, rollback segments and undo tablespaces.

  • All instances participating the clustered configuration can simulta neously execute transactions against the common shared database.

  • Instances participating in the clustered configuration communicate via the cluster interconnect using a new technology called the cache fusion technology.

RAC does have a few unique background processes that do not play any role in a single instance configuration.

Figure 4.3 defines the additional background processes and their role in a RAC implementation. The functionality of these background processes is described below:

click to expand
Figure 4.3: Background processes in RAC.

LMS  Global cache service processes (LMSn) are processes that, when spawned by Oracle, copy blocks directly from the holding instance's buffer cache and send a read consistent copy of the block to the reques ting foreground process on the requesting instance to be placed into the buffer cache. LMS rolls back any uncommitted transactions for any blocks that are being requested for consistent read by the remote instance.

RAC software provides for up to 10 LMS processes (0–9), depending on the amount of messaging traffic. However, there is, by default, one LMS process per pair of CPUs. In general, the number of LMS processes varies depending on the amount of messaging traffic amongst nodes in the cluster.

Oracle 9i 

New Feature: Global cache services (GCS) were called lock manager services in prior versions of Oracle.

While Oracle has changed the names of several services, the names of these processes have not changed in Oracle 9i.

LMON  The global enqueue service monitor (LMON) is a background process that monitors the entire cluster to manage global resources. By constantly probing the other instances, it checks and manages instance deaths and the associated recovery for GCS. When a node joins or leaves the cluster, it handles reconfiguration of locks and resources. In particular, LMON handles the part of recovery associated with global resources. LMON provided services are also known as cluster group services (CGS).

Oracle 9i 

New Feature: Global enqueue service monitor was called lock manager monitor in previous versions of Oracle.

LMD  The global enqueue service daemon (LMD) is a background agent process that manages requests for resources to control access to blocks and global enqueues. It manages lock manager service requests for GCS resources and sends them to a service queue to be handled by the LMSn process. The LMD process also handles global deadlock detection and remote resource requests (remote resource requests are requests originating from another instance).

GSD  The global service daemon (GSD) is a component that receives requests from the SRVCTL control utility to execute administrative job tasks such as startup or shutdown. The command is executed locally on each node and the results are returned to SRVCTL. The GSD is installed on the nodes by default.

Oracle 9iR2 

New Feature: In Oracle 9i Release 2, Oracle has introduced a new utility called GSDCTL to start and stop the GSD process.

Note 

Please refer to Appendix 1 for a detailed list of SRVCTL commands.

LCK  The lock process (LCK) manages non-cache fusion resource requests such as library and row cache requests and lock requests that are local to the server. LCK process manages instance resource requests and cross-instance call operations for shared resources. It builds a list of invalid lock elements and validates lock elements during recovery. Because the LMS process handles the primary function of lock management, only a single LCK process exists in each instance.

Oracle 9i 

New Feature: Unlike the prior versions of Oracle, there is only one LCK process per instance in RAC.

DIAG  The diagnosability daemon (DIAG) background process monitors the health of the instance and captures diagnostic data about process failures within instances. The operation of this daemon is automated and updates an alert log file to record the activity that it performs.

The following is an extract from the alert log file, showing the various background processes started by Oracle during instance startup.

Fri Jul 26 00:51:36 2002  cluster interconnect IPC version:Oracle UDP/IP  IPC Vendor 1 proto 2 Version 1.0 PMON started with pid =2 DIAG started with pid =3 LMON started with pid =4 LMD0 started with pid =5 LMS0 started with pid =6 LMS1 started with pid =7 DBW0 started with pid =8 DBW1 started with pid =9 LGWR started with pid =10 CKPT started with pid =11 SMON started with pid =12 RECO started with pid =13 CJQ0 started with pid =14 Fri Jul 26 00:51:41 2002



 < Day Day Up > 



Oracle Real Application Clusters
Oracle Real Application Clusters
ISBN: 1555582885
EAN: 2147483647
Year: 2004
Pages: 174

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net