RAC FAQ's
RAC FAQ's
RAC stands for Real Application cluster. It is a clustering solution from Oracle Corporation that
ensures high availability of databases by providing instance failover, media failover features.
What is RAC and how is it different from non RAC databases?
RAC stands for Real Application Cluster, you have n number of instances running in their own
separate nodes and based on the shared storage. Cluster is the key component and is a collection
of servers operations as one unit. RAC is the best solution for high performance and high
availably. Non RAC databases has single point of failure in case of hardware failure or server
crash.
Give the usage of srvctl :
srvctl start instance -d db_name -i inst_name_list [-o start_options]
srvctl stop instance -d name -i inst_name_list [-o stop_options]
srvctl stop instance -d orcl -i orcl3,orcl4 -o immediate
srvctl start database -d name [-o start_options]
srvctl stop database -d name [-o stop_options]
srvctl start database -d orcl -o mount
Mention the Oracle RAC software components :
Oracle RAC is composed of two or more database instances. They are composed of Memory
structures and background processes same as the single instance database.Oracle RAC instances
use two processes GES(Global Enqueue Service), GCS(Global Cache Service) that enable cache
fusion.Oracle RAC instances are composed of following background processes:
ACMSAtomic Controlfile to Memory Service (ACMS)
GTX0-jGlobal Transaction Process
LMONGlobal Enqueue Service Monitor
LMDGlobal Enqueue Service Daemon
LMSGlobal Cache Service Process
LCK0Instance Enqueue Process
RMSnOracle RAC Management Processes (RMSn)
RSMNRemote Slave Monitor
What is GRD?
GRD stands for Global Resource Directory. The GES and GCS maintains records of the statuses
of each datafile and each cahed block using global resource directory.This process is referred to
as cache fusion and helps in data integrity.
What are the different network components are in 10g RAC?
public, private, and vip components
Private interfaces is for intra node communication. VIP is all about availability of application.
When a node fails then the VIP component fail over to some other node, this is the reason that all
applications should based on vip components means tns entries should have vip entry in the host
list
Give Details on ACMS:
ACMS stands for Atomic Controlfile Memory Service.In an Oracle RAC environment ACMS is
an agent that ensures a distributed SGA memory update(ie)SGA updates are globally committed
on success or globally aborted in event of a failure.
What is Cache Fusion?
Cache fusion is the mechanism to transfer the data block from memory to memory of one node
to the other.If two nodes require the same block for query or update, the block must be transfered
from the cache of one node to the other. RAC system must equipped with low-latency and high
speed inter-connect to make it happen.
Give Details on Cache Fusion:
Oracle RAC is composed of two or more instances. When a block of data is read from datafile by
an instance within the cluster and another instance is in need of the same block,it is easy to get
the block image from the insatnce which has the block in its SGA rather than reading from the
disk. To enable inter instance communication Oracle RAC makes use of interconnects. The
Global Enqueue Service(GES) monitors and Instance enqueue process manages the cahce fusion.
Cache Fusion is essentially a memory-to-memory transfer of data between the nodes in the RAC
environment. Before Cache Fusion, a node was required to write some of the data to disk before
it could be transferred to the next node in the cluster. Cache Fusion does a straight memory-tomemory transfer. In addition, each nodes SGA has a map of what data is contained in the other
nodes data caches.
The performance improvement is phenomenal. Oracle leverages the vendors high speed
interconnects between the nodes to achieve the cache-to-cache data transfers. Before Cache
Fusion, when you added a node to the cluster to increase performance of the application, it didnt
always provide you with the performance improvement that you hoped for. With Cache Fusion,
you can easily cost justify the addition of another node into a RAC cluster to increase the
performance of the application running on it. Oracle sales pitches describe it as near linear
horizontal scalability.
What are the major RAC wait events?
In a RAC environment the buffer cache is global across all instances in the cluster and hence the
processing differs.The most common wait events related to this are gc cr request and gc buffer
busy
GC CR request :the time it takes to retrieve the data from the remote cache
Reason: RAC Traffic Using Slow Connection or Inefficient queries (poorly tuned queries will
increase the amount of data blocks requested by an Oracle session. The more blocks requested
typically means the more often a block will need to be read from a remote instance via the
interconnect.)
GC BUFFER BUSY: It is the time the remote instance locally spends accessing the requested
data block.
Give details on GTX0-j :
The process provides transparent support for XA global transactions in a RAC environment.The
database autotunes the number of these processes based on the workload of XA global
transactions.
Give details on LMON:
This process monitors global enques and resources across the cluster and performs global
enqueue recovery operations.This is called as Global Enqueue Service Monitor.
Give details on LMD:
This process is called as global enqueue service daemon. This process manages incoming remote
resource requests within each instance.
Give details on LMS:
This process is called as Global Cache service process.This process maintains statuses of
datafiles and each cahed block by recording information in a Global Resource
Dectory(GRD).This process also controls the flow of messages to remote instances and manages
global data block access and transmits block images between the buffer caches of different
instances.This processing is a part of cache fusion feature.
Give details on LCK0:
This process is called as Instance enqueue process.This process manages non-cache fusion
resource requests such as libry and row cache requests.
Give details on RMSn:
This process is called as Oracle RAC management process.These pocesses perform managability
tasks for Oracle RAC.Tasks include creation of resources related Oracle RAC when new
instances are added to the cluster.
Give details on RSMN:
This process is called as Remote Slave Monitor.This process manages background slave process
creation andd communication on remote instances. This is a background slave process.This
process performs tasks on behalf of a co-ordinating process running in another instance.
What components in RAC must reside in shared storage?
All datafiles, controlfiles, SPFIles, redo log files must reside on cluster-aware shred storage.
receive FAN events and react immediately.This prevents applications from polling database and
detecting a problem after such a state change.
Why should we have seperate homes for ASm instance?
It is a good practice to have ASM home seperate from the database hom(ORACLE_HOME).This
helps in upgrading and patching ASM and the Oracle database software independent of each
other.Also,we can deinstall the Oracle database software independent of the ASM instance.
What is the advantage of using ASM?
Having ASM is the Oracle recommended storage option for RAC databases as the ASM
maximizes performance by managing the storage configuration across the disks.ASM does this
by distributing the database file across all of the available storage within our cluster database
environment.
What is rolling upgrade?
It is a new ASM feature from Database 11g.ASM instances in Oracle database 11g release(from
11.1) can be upgraded or patched using rolling upgrade feature. This enables us to patch or
upgrade ASM nodes in a clustered environment without affecting database availability.During a
rolling upgrade we can maintain a functional cluster while one or more of the nodes in the cluster
are running in different software versions.
Can rolling upgrade be used to upgrade from 10g to 11g database?
No,it can be used only for Oracle database 11g releases(from 11.1).
State the initialization parameters that must have same value for every instance in an
Oracle RAC database:
Some initialization parameters are critical at the database creation time and must have same
values.Their value must be specified in SPFILE or PFILE for every instance.The list of
parameters that must be identical on every instance are given below:
ACTIVE_INSTANCE_COUNT
ARCHIVE_LAG_TARGET
COMPATIBLE
CLUSTER_DATABASE
CLUSTER_DATABASE_INSTANCE
CONTROL_FILES
DB_BLOCK_SIZE
DB_DOMAIN
DB_FILES
DB_NAME
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZE
DB_UNIQUE_NAME
INSTANCE_TYPE (RDBMS or ASM)
PARALLEL_MAX_SERVERS
REMOTE_LOGIN_passWORD_FILE
UNDO_MANAGEMENT
What is ORA-00603: ORACLE server session terminated by fatal error or ORA-29702:
error occurred in Cluster Group Service operation?
RAC node name was listed in the loopback address
Can the DML_LOCKS and RESULT_CACHE_MAX_SIZE be identical on all instances?
These parameters can be identical on all instances only if these parameter values are set to zero.
What two parameters must be set at the time of starting up an ASM instance in a RAC
environment?
The parameters CLUSTER_DATABASE and INSTANCE_TYPE must be set.
Mention the components of Oracle clusterware:
Oracle clusterware is made up of components like voting disk and Oracle Cluster
Registry(OCR).
What is a CRS resource?
Oracle clusterware is used to manage high-availability operations in a cluster.Anything that
Oracle Clusterware manages is known as a CRS resource.Some examples of CRS resources are
database,an instance,a service,a listener,a VIP address,an application process etc.
What is the use of OCR?
Oracle clusterware manages CRS resources based on the configuration information of CRS
resources stored in OCR(Oracle Cluster Registry).
How does a Oracle Clusterware manage CRS resources?
Oracle clusterware manages CRS resources based on the configuration information of CRS
resources stored in OCR(Oracle Cluster Registry).
Name some Oracle clusterware tools and their uses?
OIFCFG allocating and deallocating network interfaces
OCRCONFIG Command-line tool for managing Oracle Cluster Registry
OCRDUMP Identify the interconnect being used
CVU Cluster verification utility to get status of CRS resources
What are the modes of deleting instances from ORacle Real Application cluster Databases?
We can delete instances using silent mode or interactive mode using DBCA(Database
Configuration Assistant).
How do we remove ASM from a Oracle RAC environment?
We need to stop and delete the instance in the node first in interactive or silent mode.After that
asm can be removed using srvctl tool as follows:
srvctl stop asm -n node_name
srvctl remove asm -n node_name
We can verify if ASM has been removed by issuing the following command:
srvctl config asm -n node_name
How do we verify that an instance has been removed from OCR after deleting an instance?
Issue the following srvctl command:
srvctl config database -d database_name
cd CRS_HOME/bin
./crs_stat
How do we verify an existing current backup of OCR?
We can verify the current backup of OCR using the following command :
ocrconfig -showbackup
What are the performance views in an Oracle RAC environment?
We have v$ views that are instance specific. In addition we have GV$ views called as global
views that has an INST_ID column of numeric data type.GV$ views obtain information from
individual V$ views.
What are the types of connection load-balancing?
There are two types of connection load-balancing:server-side load balancing and client-side load
balancing.
What is the difference between server-side and client-side connection load balancing?
Client-side balancing happens at client side where load balancing is done using listener.In case of
server-side load balancing listener uses a load-balancing advisory to redirect connections to the
instance providing best service.
What are the three greatest benefits that RAC provides?
The three main benefits are availability, scalability, and the ability to use low cost commodity
hardware. RAC allows an application to scale vertically, by adding CPU, disk and memory
resources to an individual server. But RAC also provides horizontal scalability, which is
achieved by adding new nodes into the cluster. RAC also allows an organization to bring these
resources online as they are needed. This can save a small or midsize organization a lot of money
in the early stages of a project.
In a RAC environment, if a node in the cluster fails, the application continues to run on the
surviving nodes contained in the cluster. If your application is configured correctly, most users
wont even know that the node they were running on became unavailable.
What are the major RAC wait events?
In a RAC environment the buffer cache is global across all instances in the cluster and hence the
processing
differs.The most common wait events related to this are gc cr request and gc buffer busy
GC CR request: the time it takes to retrieve the data from the remote cache
Reason: RAC Traffic Using Slow Connection or Inefficient queries (poorly tuned queries will
increase the amount of data blocks
requested by an Oracle session. The more blocks requested typically means the more often a
block will need to be read from a remote instance via the interconnect.)
GC BUFFER BUSY: It is the time the remote instance locally spends accessing the requested
data block.
What are the different network components in Oracle 10g RAC?
We have public, private, and VIP components. Private interfaces is for intra node
communication. VIP is all about availability of application. When a node fails then the VIP
component will fail over to some other node, this is the reason that all applications should be
based on VIP components. This means that tns entries should have VIP entry in the host list.