Oracle Real Application Cluster
Oracle Real Application Cluster
Availability
Oracle Real Application Cluster (RAC) is a cluster database. Compared to
traditional shared-nothing architecture of single instance database, oracle Real
Application Cluster has shared cache architecture and also shared-disk approaches to
provide highly available and scalable solution for any business applications.
One of the key components of Oracle enterprise grid architecture by oracle is the Real
application Cluster (RAC)
Oracle RAC is a unique technology that provides high availability and scalability for all
application types. The Oracle RAC infrastructure is also a key component for implementing
the Oracle enterprise grid computing architecture. Having multiple instances access a single
database prevents the server from being a single point of failure. Oracle RAC enables you to
combine smaller commodity servers into a cluster to create scalable environments that
support mission critical business applications. Applications that you deploy on Oracle RAC
databases can operate without code changes.
Unique feature called Fast Application Notification (FAN) configuration in oracle Real
application cluster helps load balancing when available service status change. Available
service status can change during a scheduled outage for patching or any other regular
maintenance task. Service status can also change due to unexpected faults such as node
reboot, database service unavailability etc.
Oracle Real Application Cluster has some cost effective options while scaling up or scaling
down your size of application usage volume. Olden days normally businesses have to pre-
plan the scale of their application few years in advance. Though they did not made use of
the full capacity at the initial stage of deployment, the hardware had to be in place in
anticipation of high growth in the future. This kind of planning did add additional cost to
Businesses in planning their hardware and also software licensing. In case of miscalculation
of capacity, did cost further cost in moving their application to higher capacity servers in
later stages. Once the application is deployed and up and running and if you decide to
migrate to different server, it does cost additional overhead in terms of building servers,
outages, manpower etc etc. So migrating the application is not an easy exercise and if your
business is cost conscious (All business are cost conscious I guess) this type of migration
related to scaling up or scaling down should be avoided.
So what is the cost effective solution to avoid these overheads? That is where Oracle Real
application Cluster comes to your rescue.
1
Why Oracle Real application Cluster?
If your business decides that you need to scale down your application for whatever reason,
you could de-commission some of the servers, without bringing down your database and
while users still accessing the database without any interruption.
What is a Cluster?
Oracle Database 10g Real Application Clusters (RAC) enables the clustering of the Oracle
Database. A RAC database comprises of multiple instances residing on different computers
to access a common database residing on shared storage.
The basic principle behind the Real Application Cluster is greater throughput and scalability
due to the combined power of multiple instances running on multiple servers
1. Oracle Clusterware
2. Oracle Software
In RAC10g Clusterware is called CRS layer which resides below Oracle software layer.
Second layer is the Oracle software itself
2
RAC is the Oracle Database option that provides a single system image for multiple servers
to access one Oracle database. In oracle Real application cluster, each Oracle instance
usually runs on a separate server.
However when it comes to managing and looking after your production Real application
Cluster, it may not be practical to find the commands you needed in the right time and
possibly you don’t want to keep searching for the right command and tips when you have a
major production issue and the users cannot access the database.
This book "Oracle Real Application Cluster Field DBA Admin Handbook" describes how to
administer the Oracle Clusterware and Oracle Real Application Clusters (Oracle RAC)
architecture and provides an overview of these products. Describes services and storage
and how to use RAC scalability features to add and delete instances and nodes in RAC
environments.
This book "Oracle Real Application Cluster Field DBA Admin Handbook" also describes, how
to use the Server Control (SRVCTL) utility to start and stop the database and instances,
manage configuration information, and to delete/add or move instances and services
Troubleshooting section describes how to interpret the content of various RAC-specific log
files, search on Metalink and also useful reference section with relevant Metalink Document
reference and Weblinks
The “Oracle Real Application Cluster Field DBA Admin Handbook” is a practical guide
for Oracle DBA’s who manage and administer the Oracle Real Application Cluster High
availability solution.
This book provides practical steps to administer Oracle Real Application Cluster (RAC). It’s
like a field guide rather than an in depth manual. It’s written for the DBA’s to handle the day
to day challenges faced by DBA’s managing RAC on the job.
Architecture
What is a Cluster
Components of RAC
RAC Storage
ASM
raw device
Cluster File system
Voting Disk and Cluster Registry
3
What is a cluster ?
A cluster comprises of multiple interconnected servers or computers that appear as if they
are one single server to end users and applications.
What is RAC ?
RAC stands for Real Application Clusters. It allows multiple nodes in a clustered system to
mount and open a single database that resides on shared disk storage. Should a single
system fail (node), the database service will still be available on the remaining nodes.
In RAC database, comprises of multiple instances, however there will be only one database.
A non-RAC database is only available on a single system. If that system fails, the database
service will be down (single point of failure).
Oracle Database 10g Real Application Clusters (RAC) enables the clustering of the Oracle
Database. A RAC database comprises of multiple instances residing on different computers
to access a common database residing on shared storage.
The basic principle behind the Real Application Cluster is greater throughput and scalability
due to the combined power of multiple instances running on multiple servers
Real Application Cluster provides high availability and scalability for all application types.
The RAC infrastructure is also a key component for implementing the Oracle enterprise grid
computing architecture. Multiple instances access a single physical database prevents the
server from being a single point of failure. Combining smaller servers into a cluster can be
achieved to create scalable environment that support mission critical business applications.
Real application Cluster uses Oracle Cluster ware for the infrastructure to bind multiple
servers so that they operate as a single system.
Oracle Clusterware is a portable cluster management solution that is integrated with the
Oracle database. The Oracle Clusterware is also a required component for using Real
application Cluster.
In Oracle Database 10g, Oracle Provides you with an integrated software solution that
addresses cluster management, event management, application management, connection
management, storage management, load balancing and availability. These capabilities are
addressed while hiding the complexity through simple-to-use management tools and
automation.
Oracle Real Application Clusters 10g provides an integrated cluster ware layer that delivers
a complete environment for applications.
4
Oracle Real Application Cluster (RAC) uses Oracle Clusterware for the infrastructure to bind
multiple servers so that they operate as a single system
1. Oracle Clusterware
2. Oracle Software
In RAC 10g Clusterware is called CRS layer which resides below Oracle software Layer.
Second layer is the Oracle software itself.
Oracle Real Application Cluster (RAC) is the Oracle Database option that provides a single
system image for multiple servers to access one Oracle database. In RAC, each Oracle
instance usually runs on a separate server.
The Oracle Clusterware comprises several background processes that facilitate cluster
operations such as Cluster Synchronization Service (CSS) and Event Management (EVM).
The main processes involved in Oracle RAC are primarily used to maintain database
coherency among each instance. They manage what is called the global resources.
There are several tools that are used to manage the various resources available on the
cluster at a global level. Some of the tools used are Server Control (SRVCTL), DBCA and
Enterprise Manager.
Oracle Clusterware is a portable cluster management solution that is integrated with the
Oracle database. The Oracle Clusterware enables you to create a clustered pool of storage
to be used by any combination of single-instance and RAC databases.
5
Oracle Clusterware is the only clusterware that you need for most platforms on which RAC
operates. You can also use clusterware from other vendors if the clusterware is certified for
RAC.
The combined processing power of the multiple servers can provide greater throughput and
scalability than is available from a single server. RAC is the Oracle Database option that
provides a single system image for multiple servers to access one Oracle database. In RAC,
each Oracle instance runs on a separate server.
RAC is a unique technology that provides high availability and scalability for all application
types. The RAC infrastructure is also a key component for implementing the Oracle
enterprise grid computing architecture. Having multiple instances access a single database
prevents the server from being a single point of failure. RAC enables you to combine smaller
commodity servers into a cluster to create scalable environments that support mission
critical business applications
What are the Storage Principles for RAC Software and CRS ?
The Oracle Software 10g Real Application Clusters installation is a two-phase installation in
the first Phase, You install CRS. In the second phase, you install the Oracle Database
software with RAC components and create a cluster database.
The oracle home that you use for the CRS software must be different from the one that is
used for the RAC Software. CRS and RAC software is installed on cluster shared storage.
Note:- Cluster Software and Oracle software is usually installed on a regular file system that
is local to each node. This permits online patch upgrades without shutting down the
database and also eliminates the software as a single point of failure.
6
Components of RAC
Components of Real application Cluster
Oracle Real Application Cluster 10g provides you with an integrated software solution that
addresses cluster management, event management, application management, connection
management, storage management, load balancing and availability. These capabilities are
addressed while hiding the complexity through simple-to-use management tools and
automation.
Cluster platforms depend on the cluster management program to track the cluster node
status. Basically there are two types of cluster managers, first one is oracle supplied and
second one is vendor supplied.
In Oracle 10g , oracle provided clusterware can be used independently or on top of the
vendor provided cluster software.
Cluster Ready Service’ (CRS) is Oracle provided portable clusterware, which is portable and
works on all the platforms to implement RAC database solution.
Addition to the background processes found in single instance database, You see few
additional background processes associated with RAC instance. These processes are
primarily used to maintain database coherency among each instance. They manage what is
called the global resources:-
When Oracle Clusterware operates, several platform-specific processes or services will also
be running on each node in the cluster to support Oracle Clusterware.
7
evmd—Event manager daemon. This process also starts the racgevt process to manage
FAN server callouts
ocssd—This process runs as oracle user and manages cluster node membership. Any
failure of this process results in cluster restart
oprocd—Cluster Process monitor. This process only appears on platforms that do not use
vendor clusterware with Oracle Clusterware
Components of Oracle Clusterware
The Oracle Clusterware includes two important components: the voting disk and the Oracle
Cluster Registry (OCR). The voting disk is a file that manages information about node
membership and the OCR is a file that manages cluster and Oracle Real Application Clusters
(Oracle RAC) database configuration information
1. Voting Disk: - Manages cluster membership by way of a health check and arbitrates
cluster ownership among the instances in case of network failures. RAC uses the voting disk
to determine which instances are members of a cluster. The voting disk must reside on
shared disk. For high availability, Oracle recommends that you have multiple voting disks.
The Oracle Clusterware enables multiple voting disks.
Note:- If you define a single voting disk, then you should use external mirroring to provide
redundancy.
2. OCR File :- Cluster configuration information is maintained in Oracle Cluster Registry file.
OCR relies on a distributed shared-cache architecture for optimizing queries against the
cluster repository. Each node in the cluster maintains an in-memory copy of OCR, along with
an OCR process that accesses its OCR cache.
When OCR client application needs to update the OCR, they communicate through their
local OCR process to the OCR process that is performing input/output (I/O) for writing to the
repository on disk.
The OCR client applications are Oracle Universal Installer (OUI), SRVCTL, Enterprise Manger
(EM), Database Configuration Assistant (DBCA), Database Upgrade Assistant(DBUA), NetCA
and Virtual Internet Protocol Configuration assistant (VIPCA). OCR also maintains
dependency and status information for application resources defined within CRS, specifically
databases, instances, services and node applications.
Note:- The name of the configuration file is ocr.loc and the configuration file variable is
ocrconfig.loc
8
Note:- You can replace a failed OCR online, and you can update the OCR through supported
APIs such as Enterprise Manager, the Server Control Utility (SRVCTL), or the Database
Configuration Assistant (DBCA).
Cluster Synchronization Services (CSS) is the cluster manager on all platforms on oracle 10g
CSS - Cluster Synchronization Services - Component responsible for controlling which nodes
are members of the clusters. When node joins or leaves the cluster, CSS notifies the other
nodes of the change in configuration. If this process fails, then the cluster will be restarted.
Under Linux, CSS is implemented by the ocssd daemon, which runs as the root user.
New feature introduced in Oracle10g, Cluster Ready Services (CRS) provides many system
management services and interacts with the vendor clusterware to coordinate cluster
membership information.
CRS - Cluster Ready Services - Manages resources (databases, instances, services, listeners,
VIPs, application processes, GSD, ONS) Configuration is stored in OCR. When status of
resource changes CRS emits an event. CRS will try to restart resource up to 5 times before
giving up. Under Linux, CRS is implemented as the crsd process, which runs with root
privileges. In the event of failure this process restarts automatically.
RAC Storage
Storage in Oracle Real Application Clusters
Storage for Real application cluster databases must be shared. In other words, datafiles
must reside on cluster file system, shared raw devices or Automatic Storage Management
(ASM) disk group.
The shared storage must include datafiles, undo tablespaces for each instance and also
online redo log files. It is highly recommended by oracle to use server parameter file spfile
(SPFILE) instead of parameter file (PFILE).
Storage Area Network (SAN) represents the evolution of data storage technology.
Traditionally, on client server systems, data was stored on devices either inside or directly
attached to the server. Next in the evolution scale came Network Attached Storage (NAS)
9
that took the storage devices away from the server and connected them directly to the
network.
In RAC deployment, choosing the appropriate file system is critical. Because traditional file
systems do not support simultaneous mounting by more than one system, you must store
files in either raw volumes without any file system, or on a file system that supports
concurrent access by multiple systems.
Oracle cluster file system (OCFS) is a shared file system designed specially for oracle Real
Application Cluster
The ASM distributes I/O load across all available resources to optimize performance while
removing the need for manual I/O tuning. ASM facilitates management of dynamic database
environment by allowing DBA’s to increase the database size without having to shut down
the database to adjust the storage allocations.
The ASM can maintain redundant copies of data to provide fault tolerance.
Note:- ASM is the oracle’s strategic and stated direction as to where oracle database files
should be stored. However OCFS will continue to be developed and supported for those who
are using it.
Using CFS
1. Simple management
2. Use of OMF with RAC
3. Single Oracle Software installation
4. Autoextend
Using raw
1. Performance
10
2. Use when CFS not available
3. Cannot be used for archive log files
You can use a cluster file system or place files on raw devices.
ASM
What is Automatic Storage Management
Automatic storage management (ASM) is a new feature in Oracle Database 10g from oracle .
It integrates file system and the Logical Volume Manager (LVM) . In ASM Volume Manager is
specifically built for Oracle database files. The ASM can provide management for single SMP
machines or across multiple nodes of a cluster for Oracle Real Application Clusters support.
Manual I/O tuning can be eliminated while ASM distributes input/output (I/O) load across all
available resources to optimize performance while removing the need for manual I/O tuning.
The ASM has the flexibility of maintaining redundant copies of data to provide fault
tolerance, or it can be built on top of vendor-supplied reliable storage mechanisms. Data
management in ASM is basically done by choosing the desired reliability and performance
characteristics for classes of data rather than with human interaction of per-file basis.
Automated storage management gives the time to DBA’s by increasing their ability to
manage larger databases and more of them with increased efficiency.
11
Automatic Storage Management (ASM) is a feature in Oracle Database 10g/11g that
provides the database administrator with a simple storage management interface that is
consistent across all server and storage platforms. ASM provides the performance of async
I/O with the easy management of a file system.
Striping
Mirroring
Asynchronous I/O
Direct I/O
SAME and Load Balancing
Is automatically installed as part of the base code set
ASM includes striping and mirroring to provide balanced and secure storage. The level of
redundancy and the granularity of the striping can be controlled using templates. The new
ASM functionality can be used in combination with existing raw and cooked file systems,
along with OMF and manually managed files.
Direct I/O
By making use of Direct I/O, higher cache hit ratio can be achieved. Buffered I/O uses most
important resources like CPU and memory. In case of buffered I/O Oracle blocks are cached
both in the SGA and in the file system buffer cache.
Buffered I/O fills up the file system cache with Oracle Data, where as using the Direct I/O
allows non-Oracle data to be cached in the file system much more efficiently.
12
The main components of ASM are disk groups, each of which comprise of several physical
disks that are controlled as a single unit. The physical disks are known as ASM disks, while
the files that reside on the disks are know as ASM files.
The ASM divides a file into pieces and spreads them evenly across all the disks. The ASM
uses an index technique to track the placement of each piece. Traditional striping
techniques use mathematical functions to stripe complete logical volumes. The ASM includes
mirroring protection without the need to purchase a third-party Logical Volume Manager.
One unique advantage of ASM is that mirroring is applied on file basis, rather than on a
volume basis. Therefore, the same disk group can contain a combination of files protected
by mirroring, or not protected at all.
The ASM supports data files, log files, control files, archive logs, Recovery Manager (RMAN)
backup sets, and other Oracle database file types. The ASM supports Real Application
Clusters (RAC) and eliminates the need for a cluster Logical Volume Manager or a cluster file
system.
Note:- ASM is shipped with the database and available as part of base code set and there is
no need to go through a separate installation in the custom tree installation. It is available in
both the Enterprise Edition and Standard Edition installations.
One of the flexible feature of ASM is it does not eliminate any existing database functionality
which uses non ASM files. Existing database are able to operate as they always have been.
New files may be created as ASM files, while existing ones are administered in the old way
or can be migrated to ASM.
In ASM, at the top of the new hierarchy, you can find what are called ASM disk groups. Any
single ASM file is contained in only one disk group. However, a disk group may contain files
belonging to several databases, and a single database may use storage from multiple disk
groups.
ASM files are always spread across all ASM disks in the disk group.
The ASM disks are partitioned in allocation units (AU) of on megabyte each. An AU is the
smallest contiguous disk space that ASM allocates. The ASM does not allow physical blocks
to split across AUs.
To use ASM, you must start a special instance called an ASM instance before you start your
database instance.
ASM instances manage the metadata needed to make ASM files available to ordinary
database instances. Both ASM instances and database instances have access to a common
set of disks call disk group. Database instances access contents of ASM files directly,
communicating with an ASM instance only to get information about the layout of these files.
An ASM instance is like any other database instance except it contains two new background
processes. First one coordinates rebalance activity for disk groups and it is called RBAL. The
13
second one performs the actual rebalance activity for AU movements. At any given time
there can be many of these, and they are called ARB0, ARB1, and so on. An ASM instance
also has most of the same background processes as a ordinary database instance (SMON,
PMON, LGWR, and so on.)
Each database instance using ASM has two new background processes called ASMB and
RBAL. RABL performs global opens of the disks in the disk groups. At database instance
startup, ASMB connects as a foreground process into the ASM instance. All communication
between the database and ASM instances is performed via this bridge. This includes physical
file changes such as data file creation and deletion. Over this connection, periodic messages
are exchanged to update statistics and to verify that both instances are healthy
It is quite possible to cluster ASM instances and run them as RAC, using the existing Global
Cache Services (GCS) infrastructure. There is one ASM instance per node on a cluster.
Storage for RAC databases must be shared. In other words, datafiles must reside in an
Automatic Storage Management (ASM) disk group, on a cluster file system, or on shared raw
devices. This must include space for an undo tablespace for each instance if you are using
automatic undo management. Additionally, for each instance you must create at least two
redo log files that reside on shared storage. Oracle recommends, you can use one shared
server parameter file (SPFILE) with instance-specific entries. Or you can use a local file
system to store client-side parameter files (PFILEs).
If you do not use ASM, if your platform does not support a cluster file system, or if you do
not want to use a cluster file system to store datafiles, then create additional raw devices as
described in your platform-specific Oracle Real Application Clusters installation and
configuration guide.
As in single-instance Oracle databases, To use ASM in RAC, select ASM as your storage
option when you create your database with the Database Configuration Assistant (DBCA).
When you create your database, Oracle creates one ASM instance on each node in your RAC
environment if one does not already exist. Each ASM instance has either an SPFILE or PFILE
type parameter file.
14
The shared disk requirement is the only substantial difference between using ASM in a RAC
database compared to using it in a single-instance Oracle database. ASM automatically re-
balances the storage load after you add or delete a disk or disk group.
In a cluster, each ASM instance manages its node's metadata updates to the disk groups. In
addition, each ASM instance coordinates disk group metadata with other nodes in the
cluster. As in single-instance Oracle databases, you can use Enterprise Manager, DBCA,
SQL*Plus, and the Server Control Utility (SRVCTL) to administer disk groups for ASM in RAC
The main components of ASM are disk groups, each of which comprise of several physical
disks that are controlled as a single unit. The physical disks are known as ASM disks, while
the files that reside on the disks are know as ASM files.
A cluster file system (CFS) is a file system that may be accessed (read and write) by all
members in a cluster at the same time. This implies that all members of a cluster have the
same view.
If your platform supports an Oracle certified cluster file system, you can store the files that
Real Application Clusters requires directly on the cluster file system.
Distributed file system - the generic term for a client/server or "network" file system
where the data isn't locally attached to a host.
Global file system - this refers to the namespace, so that all files have the same name and
path name when viewed from all hosts. This obviously makes it easy to share data across
machines and users in different parts of the organization.
15
OCFS2 (Oracle Cluster File System 2) is a free, open source, general-purpose, extent-based
clustered file system which Oracle developed and contributed to the Linux community, and
accepted into Linux kernel 2.6.16.
Cluster file system - a distributed file system that is not a single server with a set of
clients, but instead a cluster of servers that all work together to provide high performance
service to their clients. To the clients the cluster is transparent - it is just "the file system",
but the file system software deals with distributing requests to elements of the storage
cluster.
The most common type of clustered file system is the shared disk file system, in which two
or more servers are connected to a single shared storage subsystem, such as a stand-alone
RAID array or SAN.
Symmetric file system - A symmetric file system is one in which the clients also run the
metadata manager code; that is, all nodes understand the disk structures.
Asymmetric file system - An asymmetric file system is one in which there are one or more
dedicated metadata managers that maintain the file system and its associated disk
structures.
Another clustered file system approach is to have each node use its own local storage, and
communicate data changes to other nodes via some network or bus. In this case disks are
not shared amongst nodes, but are instead dedicated to a single node and made readable
and writable to other servers
Parallel file system - file systems with support for parallel applications, all nodes may be
accessing the same files at the same time, concurrently reading and writing. Data for a
single file is striped across multiple storage nodes to provide scalable performance to
individual files.
SAN file system - These provide a way for hosts to share Fibre Channel storage, which is
traditionally carved into private chunks bound to different hosts. To provide sharing, a block-
level metadata manager controls access to different SAN devices. A SAN File system mounts
storage natively in only one node, but connects all nodes to that storage and distributes
block addresses to other nodes. Scalability is often an issue because blocks are a low-level
way to share data placing a big burden on the metadata managers and requiring large
network transactions in order to access data.
16
Want to know more about Real Application Cluster Click Oracle Real Application Cluster
The “Oracle Real Application Cluster Field DBA Admin Handbook” is a practical guide
for Oracle DBA’s who manage and administer the Oracle Real Application Cluster High
availability solution.
This book provides practical steps to administer Oracle Real Application Cluster (RAC). It’s
like a field guide rather than an in depth manual. It’s written for the DBA’s to handle the day
to day challenges faced by DBA’s managing RAC on the job.
Figure. 4.6 shows various background processes (as listed following the figure) that
are spawned to execute the database processing.
SMON - System Monitor process recovers after instance failure and monitors
temporary segments and extents. SMON in a non-failed instance can also perform
failed instance recovery for other failed RAC instance.
PMON - Process Monitor process recovers failed process resources. If MTS (also
called Shared Server Architecture) is being utilized. PMON monitors and restarts any
failed dispatcher or server processes. In RAC, PMON’s role as service registration
agent is particularly important.
DBWR - Database Writer or Dirty Buffer Writer process is responsible for writing
dirty buffers from the database block cache to the database data files. Generally,
DBWR only writes blocks back to the data files on commit, or when the cache is full
and space has to be made for more blocks. The possible multiple DBWR processes in
RAC must be coordinated through the locking and global cache processes to ensure
efficient processing is accomplished.
17
LGWR - Log Writer process is responsible for writing the log buffers out to the redo
logs. I n RAC, each RAC instance has its own LGWR process that maintains that
instance’s thread of redo logs.
ARCH - (Optional) Archive process writes filled redo logs to the archive log
location(s). In RAC, the various ARCH processes can be utilized to ensure that copies
of the archived redo logs for each instance are available to the other instances in the
RAC setup should they be needed for recovery.
CKPT - Checkpoint process writes checkpoint information to control files and data
file headers.
Pnnn - (Optional) Parallel Query Slaves are started and stopped as needed to
participate in parallel query operations.
CQJ0 - Job queue controller process wakes up periodically and checks the job log. If
a job is due, it spawns Jnnn processes to handle jobs.
Jnnn - (Optional) Job processes used by the Oracle9i job queues to process internal
Oracle9i jobs. The CQJ0 process controls it automatically.
Snnn - (Optional) Pre-spawned shared server processes are used by the multi-
threaded server (MTS) process to handle connection requests from users, and act as
connection pools for user processes. These user processes also handle disk reads from
database datafiles into the database block buffers.
Dnnn - (Optional) Dispatcher process for shared server (MTS) - It accepts connection
requests and portions them out to the pre-spawned server processes.
Capturing statistics value for SQL objects which have been recently modified
18
MMAN - is used for internal database tasks that manage the automatic shared
memory. MMAN serves as the SGA Memory Broker and coordinates the sizing of the
memory components.
RBAL - This process coordinates rebalance activity for disk groups in an Automatic
Storage Management instance.
FMON - The database communicates with the mapping libraries provided by storage
vendors through an external non-Oracle Database process that is spawned by a
background process called FMON. FMON is responsible for managing the mapping
information. When you specify the FILE_MAPPING initialization parameter for
mapping data files to physical devices on a storage subsystem, then the FMON
process is spawned.
LMON - The Global Enqueue Service Monitor (LMON) monitors the entire cluster to
manage the global enqueues and the resources. LMON manages instance and process
failures and the associated recovery for the Global Cache Service (GCS) and Global
Enqueue Service (GES). In particular, LMON handles the part of recovery associated
with global resources. LMON-provided services are also known as cluster group
services (CGS)
LMDx - The Global Enqueue Service Daemon (LMD) is the lock agent process that
manages enqueue manager service requests for Global Cache Service enqueues to
control access to global enqueues and resources. The LMD process also handles
deadlock detection and remote enqueue requests. Remote resource requests are the
requests originating from another instance.
LMSx - The Global Cache Service Processes (LMSx) are the processes that handle
remote Global Cache Service (GCS) messages. Real Application Clusters software
provides for up to 10 Global Cache Service Processes. The number of LMSx varies
depending on the amount of messaging traffic among nodes in the cluster.
19
The LMSx handles the acquisition interrupt and blocking interrupt requests from the
remote instances for Global Cache Service resources. For cross-instance consistent
read requests, the LMSx will create a consistent read version of the block and send it
to the requesting instance. The LMSx also controls the flow of messages to remote
instances.
The LMSn processes handle the blocking interrupts from the remote instance for the
Global Cache Service resources by:
Managing the resource requests and cross-instance call operations for the shared
resources.
Building a list of invalid lock elements and validating the lock elements during recovery.
Handling the global lock deadlock detection and Monitoring for the lock conversion
timeouts
LCKx - This process manages the global enqueue requests and the cross-instance
broadcast. Workload is automatically shared and balanced when there are multiple
Global Cache Service Processes (LMSx).
DIAG: Diagnosability Daemon – Monitors the health of the instance and captures the
data for instance process failures.
The following shows typical background processes of the RAC instance named
NYDB1.
$ rac-1a:NYDB1:/app/home/oracle >ps -ef | grep ora_
All nodes in an Oracle RAC environment must connect to a Local Area Network (LAN) to
enable users and applications to access the database. Applications should use the Oracle
Database services feature to connect to an Oracle database. Services enable you to define
rules and characteristics to control how users and applications connect to database
instances. These characteristics include a unique name, workload balancing and failover
options, and high availability characteristics. Oracle Net Services enables the load balancing
of application connections across all of the instances in an Oracle RAC database.
Users can access an Oracle RAC database using a client-server configuration or through one
or more middle tiers, with or without connection pooling. Users can be DBAs, developers,
application users, power users, such as data miners who create their own searches, and so
on.
20
Most public networks typically use TCP/IP, but you can use any supported hardware and
software combination. Oracle RAC database instances can be accessed through a database's
defined, default IP address and through VIP addresses.
Note:
Do not to use the interconnect or the private network for user communication because Cache
Fusion uses the private interconnect for inter-instance communications.
In addition to the node's host name and IP address, you must also assign a virtual host name
and an IP address to each node. The virtual host name or VIP should be used to connect to
the database instance. For example, you might enter the virtual host name CRM in the
address list of thetnsnames.ora file.
A virtual IP address is an alternate public address that client connections use instead of the
standard public IP address. To configure VIP addresses, you need to reserve a spare IP
address for each node that uses the same subnet as the public network.
If a node fails, then the node's VIP fails over to another node on which the VIP cannot accept
connections. Generally, VIPs fail over when the node on which a VIP runs fails or if all
interfaces for the VIP fail or are disconnected from the network. Clients that attempt to
connect to the VIP receive a rapidconnection refused error instead of waiting for TCP
connect timeout messages. You configure VIP addresses in the address list for your
database connection definition to enable connectivity. The following section describes the
Oracle RAC software components in more detail.
Each instance has a buffer cache in its System Global Area (SGA). Using Cache Fusion,
Oracle RAC environments logically combine each instance'sbuffer cache to enable the
instances to process data as if the data resided on a logically combined, single cache.
Note:
The SGA size requirements for Oracle RAC are greater than the SGA requirements for single-
instance Oracle databases due to Cache Fusion.
21
o ensure that each Oracle RAC database instance obtains the block that it needs to satisfy a
query or transaction, Oracle RAC instances use two processes, the Global Cache Service
(GCS) and the Global Enqueue Service (GES). The GCS and GES maintain records of the
statuses of each data file and each cached block using a Global Resource Directory (GRD).
The GRD contents are distributed across all of the active instances, which effectively
increases the size of the System Global Area for an Oracle RAC instance.
After one instance caches data, any other instance within the same cluster database can
acquire a block image from another instance in the same database faster than by reading
the block from disk. Therefore, Cache Fusion moves current blocks between instances rather
than re-reading the blocks from disk. When a consistent block is needed or a changed block
is required on another instance, Cache Fusion transfers the block image directly between
the affected instances. Oracle RAC uses the private interconnect for inter-instance
communication and block transfers. The Global Enqueue Service Monitor and the Instance
Enqueue Process manages access to Cache Fusion resources as well as enqueue recovery
processing.
22