You are on page 1of 53

Oracle 11g RAC Interview question and answers

1. What is the major difference between 10g and 11g RAC?


Well, there is not much difference between 10g and 11gR (1) RAC.
But there is a significant difference in 11gR2.
Prior to 11gR1(10g) RAC, the following were managed by Oracle CRS
o

Databases

Instances

Applications

Node Monitoring

Event Services

High Availability

From 11gR2(onwards) its completed HA stack managing and providing the


following resources as like the other cluster software like VCS etc.

Databases

Instances

Applications

Cluster Management

Node Management

Event Services

High Availability

Network Management (provides DNS/GNS/MDNSD services on behalf of other


traditional services) and SCAN Single Access Client Naming method, HAIP

Storage Management (with help of ASM and other new ACFS filesystem)

Time synchronization (rather depending upon traditional NTP)

Removed OS dependent hang checker etc, manages with own additional monitor
process

2. What are Oracle Cluster Components?


Cluster Interconnect (HAIP)

Shared Storage (OCR/Voting Disk)


Clusterware software
3. What are Oracle RAC Components?
VIP, Node apps etc.
4. What are Oracle Kernel Components (nothing but how does Oracle RAC
database differs than Normal single instance database in terms of Binaries and
process)
Basically Oracle kernel need to switched on with RAC On option when you convert to RAC,
that is the difference as it facilitates few RAC bg process like LMON,LCK,LMD,LMS etc.
To turn on RAC
# link the oracle libraries
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk rac_on
# rebuild oracle
$ cd $ORACLE_HOME/bin
$ relink oracle
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
5. What is Clusterware?
Software that provides various interfaces and services for a cluster. Typically, this includes
capabilities that:

Allow the cluster to be managed as a whole

Protect the integrity of the cluster

Maintain a registry of resources across the cluster

Deal with changes to the cluster

Provide a common view of resources

6. What are the background process that exists in 11gr2 and functionality?

Process
Name

Functionality

crsd

The CRS daemon (crsd) manages cluster resources based on configuration


information that is stored in Oracle Cluster Registry (OCR) for each resource.
This includes start, stop, monitor, and failover operations. The crsd process
generates events when the status of a resource changes.

cssd

Cluster Synchronization Service (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 certified
third-party clusterware, then CSS processes interfaces with your clusterware
to manage node membership information. CSS has three separate
processes: the CSS daemon (ocssd), the CSS Agent (cssdagent), and the
CSS Monitor (cssdmonitor). The cssdagent process monitors the cluster and
provides input/output fencing. This service formerly was provided by Oracle
Process Monitor daemon (oprocd), also known as OraFenceService on
Windows. A cssdagent failure results in Oracle Clusterware restarting the
node.

diskmon

Disk Monitor daemon (diskmon): Monitors and performs input/output


fencing for Oracle Exadata Storage Server. As Exadata storage can be added
to any Oracle RAC node at any point in time, the diskmon daemon is always
started when ocssd is started.

evmd

Event Manager (EVM): Is a background process that publishes Oracle


Clusterware events

mdnsd

Multicast domain name service (mDNS): Allows DNS requests. The mDNS
process is a background process on Linux and UNIX, and a service on
Windows.

gnsd

Oracle Grid Naming Service (GNS): Is a gateway between the cluster mDNS
and external DNS servers. The GNS process performs name resolution within
the cluster.

ons

Oracle Notification Service (ONS): Is a publish-and-subscribe service for


communicating Fast Application Notification (FAN) events

oraagent

oraagent: Extends clusterware to support Oracle-specific requirements and


complex resources. It runs server callout scripts when FAN events occur. This
process was known as RACG in Oracle Clusterware 11g Release 1 (11.1).

orarootage
nt

Oracle root agent (orarootagent): Is a specialized oraagent process that


helps CRSD manage resources owned by root, such as the network, and the

Grid virtual IP address

oclskd

Cluster kill daemon (oclskd): Handles instance/node evictions requests that


have been escalated to CSS

gipcd

Grid IPC daemon (gipcd): Is a helper daemon for the communications


infrastructure

ctssd

Cluster time synchronisation daemon(ctssd) to manage the time


syncrhonization between nodes, rather depending on NTP

7. Under which user or owner the process will start?


Component

Name of the Process

Owner

Oracle High Availability Service

ohasd

init, root

Cluster Ready Service (CRS)

Cluster Ready Services

root

Cluster Synchronization Service


(CSS)

ocssd,cssd monitor, cssdagent

grid owner

Event Manager (EVM)

evmd, evmlogger

grid owner

Cluster Time Synchronization


Service (CTSS)

octssd

root

Oracle Notification Service (ONS)

ons, eons

grid owner

Oracle Agent

oragent

grid owner

Oracle Root Agent

orarootagent

root

Grid Naming Service (GNS)

gnsd

root

Grid Plug and Play (GPnP)

gpnpd

grid owner

Multicast domain name service


(mDNS)

mdnsd

grid owner

9. As you said Voting & OCR Disk resides in ASM Diskgroups, but as per startup
sequence OCSSD starts first before than ASM, how is it possible?
How does OCSSD starts if voting disk & OCR resides in ASM Diskgroups?
You might wonder how CSSD, which is required to start the clustered ASM instance, can be
started if voting disks are stored in ASM? This sounds like a chicken-and-egg problem:
without access to the voting disks there is no CSS, hence the node cannot join the cluster.
But without being part of the cluster, CSSD cannot start the ASM instance. To solve this
problem the ASM disk headers have new metadata in 11.2: you can use kfed to read the
header of an ASM disk containing a voting disk. The kfdhdb.vfstart and kfdhdb.vfend fields
tell CSS where to find the voting file. This does not require the ASM instance to be up. Once
the voting disks are located, CSS can access them and joins the cluster.

10. How does SCAN works?

1.

Client Connected through SCAN name of the cluster (remember all three IP addresses
round robin resolves to same Host name (SCAN Name), here in this case our scan name
is cluster01-scan.cluster01.example.com

2.

The request reaches to DNS server in your corp and then resolves to one of the node
out of three. a. If GNS (Grid Naming service or domain is configured) that is a
subdomain configured in the DNS entry for to resolve cluster address the request will be
handover to GNS (gnsd)

3.

Here in our case assume there is no GNS, now the with the help of SCAN listeners
where end points are configured to database listener.

4.
5.

6.

Database Listeners listen the request and then process further.


In case of node addition, Listener 4, client need not to know or need not change any
thing from their tns entry (address of 4th node/instance) as they just using scan IP.
Same case even in the node deletion.

11. What is GNS?


Grid Naming service is alternative service to DNS , which will act as a sub domain in your
DNS but managed by Oracle, with GNS the connection is routed to the cluster IP and
manages internally.
12. What is GPNP?
Grid Plug and Play along with GNS provide dynamic
In previous releases, adding or removing servers in a cluster required extensive manual
preparation.
In Oracle Database 11g Release 2, GPnP allows each node to perform the following tasks
dynamically:
o

Negotiating appropriate network identities for itself

Acquiring additional information from a configuration profile

Configuring or reconfiguring itself using profile data, making host names and
addresses resolvable on the network

For example a domain should contain

Cluster name: cluster01

Network domain: example.com

GPnP domain: cluster01.example.com

To add a node, simply connect the server to the cluster and allow the cluster to configure the
node.
To make it happen, Oracle uses the profile located in
$GI_HOME/gpnp/profiles/peer/profile.xml which contains the cluster resources, for example
disk locations of ASM. etc.
So this profile will be read local or from the remote machine when plugged into cluster and
dynamically added to cluster.
13. What are the file types that ASM support and keep in disk groups?
Control files

Flashback logs

Data Pump
dump sets

Data files

DB SPFILE

Data Guard
configuration

Temporary data
files

RMAN backup
sets

Change
tracking
bitmaps

Online redo
logs

RMAN data file


copies

OCR files

Archive logs

Transport data
files

ASM SPFILE

14. List Key benefits of ASM?

Stripes files rather than logical volumes

Provides redundancy on a file basis

Enables online disk reconfiguration and dynamic rebalancing

Reduces the time significantly to resynchronize a transient failure by tracking


changes while disk is offline

Provides adjustable rebalancing speed

Is cluster-aware

Supports reading from mirrored copy instead of primary copy for extended clusters

Is automatically installed as part of the Grid Infrastructure

15. List key benefits of Oracle Grid Infrastructure?


16. List some of the background process that used in ASM?
Proce
ss

Description

RBAL

Opens all device files as part of discovery


and coordinates the rebalance activity

ARBn

One or more slave processes that do the


rebalance activity

GMON

Responsible for managing the disk-level

activities such as drop or offline and


advancing the ASM disk group compatibility

MARK

Marks ASM allocation units as stale when


needed

Onnn

One or more ASM slave processes forming a


pool of connections to the ASM instance for
exchanging messages

PZ9n

One or more parallel slave processes used


in fetching data on clustered ASM
installation from GV$ views

13. What is node listener?


In 11gr2 the listeners will run from Grid Infrastructure software home

The node listener is a process that helps establish network connections from ASM
clients to the ASM instance.

Runs by default from the Grid $ORACLE_HOME/bin directory

Listens on port 1521 by default

Is the same as a database instance listener

Is capable of listening for all database instances on the same machine in addition to
the ASM instance

Can run concurrently with separate database listeners or be replaced by a separate


database listener

Is named tnslsnr on the Linux platform

15. What is SCAN listener?


A scan listener is something that additional to node listener which listens the incoming db
connection requests from the client which got through the scan IP, it got end points
configured to node listener where it routes the db connection requests to particular node
listener.
16. What is the difference between CRSCTL and SRVCTL?
crsctl manages clusterware-related operations:

Starting and stopping Oracle Clusterware

Enabling and disabling Oracle Clusterware daemons

Registering cluster resources

srvctl manages Oracle resourcerelated operations:

Starting and stopping database instances and services

Also from 11gR2 manages the cluster resources like network,vip,disks etc

17. How to control Oracle Clusterware?


To start or stop Oracle Clusterware on a specific node:
# crsctl stop crs
# crsctl start crs
To enable or disable Oracle Clusterware on a specific node:
# crsctl enable crs
# crsctl disable crs
19. How to check the cluster (all nodes) status?
To check the viability of Cluster Synchronization Services (CSS) across nodes:
$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
20. How to check the cluster (one node) status?
$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
21. How to find Voting Disk location?
To determine the location of the voting disk:
# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
- 1. ONLINE 8c2e45d734c64f8abf9f136990f3daf8 (ASMDISK01) [DATA]
2. ONLINE 99bc153df3b84fb4bf071d916089fd4a (ASMDISK02) [DATA]
3. ONLINE 0b090b6b19154fc1bf5913bc70340921 (ASMDISK03) [DATA]

Located 3 voting disk(s).


22. How to find Location of OCR?

cat /etc/oracle/ocr.loc

ocrconfig_loc=+DATA
local_only=FALSE

#OCRCHECK (also about OCR integrity)

23. List some background process that used in ASM Instances?


Proce
ss

Description

RBAL

Opens all device files as part of discovery


and coordinates the rebalance activity

ARBn

One or more slave processes that do the


rebalance activity

GMON

Responsible for managing the disk-level


activities such as drop or offline and
advancing the ASM disk group compatibility

MARK

Marks ASM allocation units as stale when


needed

Onnn

One or more ASM slave processes forming a


pool of connections to the ASM instance for
exchanging messages

PZ9n

One or more parallel slave processes used


in fetching data on clustered ASM
installation from GV$ views

24. What are types of ASM Mirroring?


Disk Group
Type

Supported
MirroringLevel
s

Default
Mirroring Leve
l

External
redundancy

Unprotected
(None)

Unprotected
(None)

Normal
redundancy

Two-wayThreewayUnprotected
(None)

Two-way

High
redundancy

Three-way

Three-way

25. What is ASM Striping?


ASM can use variable size data extents to support larger files, reduce memory requirements,
and improve performance.
Each data extent resides on an individual disk.
Data extents consist of one or more allocation units.
The data extent size is:

Equal to AU for the first 20,000 extents (019999)

Equal to 4 AU for the next 20,000 extents (2000039999)

Equal to 16 AU for extents above 40,000

ASM stripes files using extents with a coarse method for load balancing or a fine method to
reduce latency.

Coarse-grained striping is always equal to the effective AU size.

Fine-grained striping is always equal to 128 KB.

26. How many ASM Diskgroups can be created under one ASM Instance?
ASM imposes the following limits:

63 disk groups in a storage system

10,000 ASM disks in a storage system

Two-terabyte maximum storage for each ASM disk (non-Exadata)

Four-petabyte maximum storage for each ASM disk (Exadata)

40-exabyte maximum storage for each storage system

1 million files for each disk group

ASM file size limits (database limit is 128 TB):

1.

External redundancy maximum file size is 140 PB.

2.

Normal redundancy maximum file size is 42 PB.

3.

High redundancy maximum file size is 15 PB.

27. How to find the cluster network settings?


To determine the list of interfaces available to the cluster:
$ oifcfg iflist p -n
To determine the public and private interfaces that have been configured:
$ oifcfg getif
eth0 192.0.2.0 global public
eth1 192.168.1.0 global cluster_interconnect
To determine the Virtual IP (VIP) host name, VIP address, VIP subnet mask, and VIP interface
name:
$ srvctl config nodeapps -a
VIP exists.:host01
VIP exists.: /192.0.2.247/192.0.2.247/255.255.255.0/eth0

29. How to change Cluster interconnect in RAC?


On a single node in the cluster, add the new global interface specification:
$ oifcfg setif -global eth2/192.0.2.0:cluster_interconnect
Verify the changes with oifcfg getif and then stop Clusterware on all nodes by running the
following command as root on each node:
# oifcfg getif
# crsctl stop crs
Assign the network address to the new network adapters on all nodes using ifconfig:
#ifconfig eth2 192.0.2.15 netmask 255.255.255.0 broadcast 192.0.2.255
Remove the former adapter/subnet specification and restart Clusterware:
$ oifcfgdelif -global eth1/192.168.1.0
# crsctl start crs
30. Managing or Modifying SCAN in Oracle RAC?
To add a SCAN VIP resource:
$ srvctl add scan -n cluster01-scan
To remove Clusterware resources from SCAN VIPs:
$ srvctl remove scan [-f]

To add a SCAN listener resource:


$ srvctl add scan_listener
$ srvctl add scan_listener -p 1521
To remove Clusterware resources from all SCAN listeners:
$ srvctl remove scan_listener [-f]
31. How to check the node connectivity in Oracle Grid Infrastructure?
$ cluvfy comp nodecon -n all verbose
32. Can I stop all nodes in one command? Meaning that stopping whole cluster ?
In 10g its not possible, where in 11g it is possible
[root@pic1]# crsctl start cluster -all
[root@pic2]# crsctl stop cluster all
33. What is OLR? Which of the following statements regarding the Oracle Local
Registry (OLR) is true?
1.Each cluster node has a local registry for node-specific resources.
2.The OLR should be manually created after installing Grid Infrastructure on each node in
the cluster.
3.One of its functions is to facilitate Clusterware startup in situations where the ASM stores
the OCR and voting disks.
4.You can check the status of the OLR using ocrcheck.
34. What is runfixup.sh script in Oracle Clusterware 11g release 2 installation
With Oracle Clusterware 11g release 2, Oracle Universal Installer (OUI) detects when the
minimum requirements for an installation are not met, and creates shell scripts, called fixup
scripts, to finish incomplete system configuration steps. If OUI detects an incomplete task,
then it generates fixup scripts (runfixup.sh). You can run the fixup script after you click the
Fix and Check Again Button.
The Fixup script does the following:
If necessary sets kernel parameters to values required for successful installation, including:

Shared memory parameters.

Open file descriptor and UDP send/receive parameters.

Sets permissions on the Oracle Inventory (central inventory) directory. Reconfigures primary
and secondary group memberships for the installation owner, if necessary, for the Oracle
Inventory directory and the operating system privileges groups.

Sets shell limits if necessary to required values.

35. How to stop whole cluster with single command

crsctl stop cluster (possible only from 11gr2), please note crsctl commands becomes
global now, if you do not specify node specifically the command executed globally for
example
crsctl stop crs (stops in all crs resource in all nodes)
crsctl stop crs n <ndeoname) (stops only in specified node)
36. CRS is not starting automatically after a node reboot, what you do to make it
happen?
crsctl enable crs (as root)
to disable
crsctl disable crs (as root)
41. What is the difference between TAF and FAN & FCF? at what conditions you
use them?
1) TAF with tnsnames
a feature of Oracle Net Services for OCI8 clients. TAF is transparent application failover
which will move a session to a backup connection if the session fails. With Oracle 10g
Release 2, you can define the TAF policy on the service using dbms_service package. It will
only work with OCI clients. It will only move the session and if the parameter is set, it will
failover the select statement. For insert, update or delete transactions, the application must
be TAF aware and roll back the transaction. YES, you should enable FCF on your OCI client
when you use TAF, it will make the failover faster.
Note: TAF will not work with JDBC thin.
2) FAN with tnsnames with aq notifications true
FAN is a feature of Oracle RAC which stands for Fast Application Notification. This allows the
database to notify the client of any change (Node up/down, instance up/down, database
up/down). For integrated clients, inflight transactions are interrupted and an error message
is returned. Inactive connections are terminated.
FCF is the client feature for Oracle Clients that have integrated with FAN to provide fast
failover for connections. Oracle JDBC Implicit Connection Cache, Oracle Data Provider for
.NET (ODP.NET) and Oracle Call Interface are all integrated clients which provide the Fast
Connection Failover feature.
3) FCF, along with FAN when using connection pools
FCF is a feature of Oracle clients that are integrated to receive FAN events and abort inflight
transactions, clean up connections when a down event is received as well as create new
connections when a up event is received. Tomcat or JBOSS can take advantage of FCF if the
Oracle connection pool is used underneath. This can be either UCP (Universal Connection
Pool for JAVA) or ICC (JDBC Implicit Connection Cache). UCP is recommended as ICC will be
deprecated in a future release.
4) ONS, with clusterware either FAN/FCF
ONS is part of the clusterware and is used to propagate messages both between nodes and
to application-tiers
ONS is the foundation for FAN upon which is built FCF.
RAC uses FAN to publish configuration changes and LBA events. Applications can react as
those published events in two way :
- by using ONS api (you need to program it)
- by using FCF (automatic by using JDBC implicit connection cache on the application server)
you can also respond to FAN event by using server-side callout but this on the server side
(as their name suggests it)

Relationship between FAN/FCF/ONS


ONS > FAN > FCF
ONS -> send/receive messages on local and remote nodes.
FAN -> uses ONS to notify other processes about changes in configuration of service level
FCF -> uses FAN information working with conection pools JAVA and others.
42. Can you add voting disk online? Do you need voting disk backup?
Yes, as per documentation, if you have multiple voting disk you can add online, but if you
have only one voting disk , by that cluster will be down as its lost you just need to start crs
in exclusive mode and add the votedisk using
crsctl add votedisk <path>
43. You have lost OCR disk, what is your next step?
The cluster stack will be down due to the fact that cssd is unable to maintain the integrity,
this is true in 10g, From 11gR2 onwards, the crsd stack will be down, the hasd still up and
running. You can add the ocr back by restoring the automatic backup or import the manual
backup,
Read complete steps here
44. What happens when ocssd fails, what is node eviction? how does node
eviction happens? For all answer will be same.

45. What is virtual IP and how does it works?

46. Describe some rac wait events you experienced?


Oracle RAC Wait events
and this table,

47. Can you modify VIP address after your cluster installation?
Yes
48. How do you interpret AWR report in RAC instances, what sections in awr report for rac
instances are most important?
Read here.
Update 12-May-2013, Some practical questions added here
1. Viewing Contents in OCR/Voting disks
There are three possible ways to view the OCR contents.
a. OCRDUMP (or)
b. crs_stat -p

(or)

c. By using strings.
Voting disk contents are not persistent and are not required to view the contents,
because the voting disk contents will be overwritten. if still need to view, strings
are used.

2. Server pools Read in my blog

3. Verifying Cluster Interconnect

Cluster interconnects can be verified by:


i. oifcfg getif
ii. From AWR Report.
iii. show parameter cluster_interconnect
iv. srvctl config network

4. Does scan IP required or we can disable it

SCAN IP can be disabled if not required. However SCAN IP is mandatory during the
RAC installation. Enabling/disabling SCAN IP is mostly used in oracle apps environment
by the concurrent manager (kind of job scheduler in oracle apps).
To disable the SCAN IP,
i. Do not use SCAN IP at the client end.
ii. Stop scan listener
srvctl stop scan_listener
iii. Stop scan
srvctl stop scan (this will stop the scan vip's)
iv. Disable scan and disable scan listener
srvctl disable scan

5. Migrating to new Diskgroup scenarious


a. Case 1: Migrating disk group from one storage to other with same name
1. Consider the disk group is DATA,
2. Create new disks in DATA pointing towards the new storage (EMC),
a) Partioning provisioning done by storage and they give you the
device name or mapper like /dev/mapper/asakljdlas
3. Add the new disk to diskgroup DATA
a) Alter diskgroup data add disk '/dev/mapper/asakljdlas'
3. drop the old disks from DATA with which rebalancing is done automatically.
If you want you can the rebalance by alter system set asm_power_limit =12 for
full throttle.
alter diskgroup data drop disk 'path to hitachi storage'
Note: you can get the device name in v$asm_disk in path column.
4. Request SAN team to detach the old Storage (HITACHI).

b. Case 2: Migrating disk group from one to another with different diskgroup name.
1) Create the Disk group with new name in the new storage.
2) Create the spfile in new diskgroup and change the parameter scope = spfile
for control files etc.

3) Take a control file backup in format +newdiskgroup


4) Shutdown the db, startup nomount the database
5) restore the control file from backup (now the control will restore to new
diskgroup)
6) Take the RMAN backup as copy of all the databases with new format.
RMAN> backup database as copy format '+newdiskgroup name' ;
3) RMAN> Switch database to copy.
4) Verify dba_data_files,dba_temp_files, v$log that all files are pointing to
new diskgroup name.

c. Case 3: Migrating disk group to new storage but no additional diskgroup given
1) Take the RMAN backup as copy of all the databases with new format and
place it in the disk.
2) Prepare rename commands from v$log ,v$datafile etc (dynamic queries)
3) Take a backup of pfile and modify the following referring to new diskgroup
name
.control_files
.db_create_file_dest
.db_create_online_log_dest_1
.db_create_online_log_dest_2
.db_recovery_file_des
4) stop the database
5) Unmount the diskgroup
asmcmd umount ORA_DATA
6) use asmcmd renamedg (11gr2 only) command to rename to new
diskgroup
renamedg phase=both dgname=ORA_DATA newdgname=NEW_DATA
verbose=true
7)

mount the diskgroup


asmcmd mount NEW_DATA

8) start the database in mount with new pfile taken backup in step 3
9) Run the rename file scripts generated at step2
9) Add the diskgroup to cluster the cluster (if using rac)
srvctl modify database -d orcl -p +NEW_FRA/orcl/spfileorcl.ora
srvctl modify database -d orcl -a "NEW_DATA"
srvctl config database -d orcl
srvctl start database -d orcl
10) Delete the old diskgroup from cluster
crsctl delete resource ora.ORA_DATA.dg
11) Open the database.

7. Database rename in RAC, what could be the checklist for you?


a. Take the outputs of all the services that are running on the databases.
b. set cluster_database=FALSE
c. Drop all the services associated with the database.
d. Stop the database
e. Startup mount
f. Use nid to change the DB Name.
Generic question, If using ASM the usual location for the datafile would be
+DATA/datafile/OLDDBNAME/system01.dbf'
Does NID changes this path too? to reflect the new db name?
Yes it will, by using proper directory structure it will create a links to
original directory structure. +DATA/datafile/NEWDBNAME/system01.dbf'
this has to be tested,
will

We dont have test bed, but thanks to Anji who confirmed it

g. Change the parameters according to the new database name


h. Change the password file.
i. Stop the database.
j. Mount the database
k. Open database with Reset logs
l. Create spfile from pfile.
m. Add database to the cluster.
n. Create the services that are dropped in prior to rename.
o. Bounce the database.

8.How to find the database in which particular service is attached to when you have a large
number of databases running in the server, you cannot check one by one manually
Write a shell script to read the database name from oratab and iterate the loop taking inpt
as DB name in srvctl to get the result.
#!/bin/ksh
ORACLE_HOME=
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=${SAVE_LLP}:${ORACLE_HOME}/lib
export TNS_ADMIN ORACLE_HOME PATH LD_LIBRARY_PATH
for INSTANCE in `cat /etc/oratab|grep -v "^#"|cut -f1 -d: -s`
do
export ORACLE_SID=$INSTANCE
echo `srvctl status service -d $INSTANCE -s $1| grep -i "is running"`
done
9. Difference between OHAS and CRS
OHAS is complete cluster stack which includes some kernel level tasks like managing
network,time synchronization, disks etc, where the CRS has the ability to manage the
resources like database,listeners,applications, etc With both of this Oracle provides the high
availability clustering services rather only affinity to databases.

ORACLE CAREER

Top 30 RAC Interview Questions That


Helped Me. Are You Prepared?
Getting ready for a RAC interview? Make sure to refresh your knowledge by reviewing this list of RAC Interview Questions.

What is cache fusion?


In a RAC environment, it is the combining of data blocks, which are shipped across the interconnect from remote database caches (SGA) to
the local node, in order to fulfill the requirements for a transaction (DML, Query of Data Dictionary).

What is split brain?


When database nodes in a cluster are unable to communicate with each other, they may continue to process and modify the data blocks
independently. If the

same block is modified by more than one instance, synchronization/locking of the data blocks does not take place and blocks may be
overwritten by others in the cluster. This state is called split brain.

What is the difference between Crash recovery and Instance recovery?


When an instance crashes in a single node database on startup a crash recovery takes place. In a RAC enviornment the same recovery for
an instance is performed by the surviving nodes called Instance recovery.

What is the interconnect used for?


It is a private network which is used to ship data blocks from one instance to another for cache fusion. The physical data blocks as well as
data dictionary blocks are shared across this interconnect.

How do you determine what protocol is being used for Interconnect traffic?
One of the ways is to look at the database alert log for the time period when the database was started up.

What methods are available to keep the time synchronized on all nodes in the cluster?
Either the Network Time Protocol(NTP) can be configured or in 11gr2, Cluster Time Synchronization Service (CTSS) can be used.

What files components in RAC must reside on shared storage?


Spfiles, ControlFiles, Datafiles and Redolog files should be created on shared storage.

Where does the Clusterware write when there is a network or Storage missed heartbeat?
The network ping failure is written in $CRS_HOME/log

How do you find out what OCR backups are available?


The ocrconfig -showbackup can be run to find out the automatic and manually run backups.

If your OCR is corrupted what options do have to resolve this?


You can use either the logical or the physical OCR backup copy to restore the Repository.

How do you find out what object has its blocks being shipped across the instance the most?
You can use the dba_hist_seg_stats.

What is a VIP in RAC use for?


The VIP is an alternate Virtual IP address assigned to each node in a cluster. During a node failure the VIP of the failed node moves to the
surviving node and relays to the application that the node has gone down. Without VIP, the application will wait for TCP timeout and then find
out that the session is no longer live due to the failure.

How do we know which database instances are part of a RAC cluster?


You can query the V$ACTIVE_INSTANCES view to determine the member instances of the RAC cluster.

What is OCLUMON used for in a cluster environment?


The Cluster Health Monitor (CHM) stores operating system metrics in the CHM repository for all nodes in a RAC cluster. It stores information
on CPU, memory, process, network and other OS data, This information can later be retrieved and used to troubleshoot and identify any
cluster related issues. It is a default component of the 11gr2 grid install. The data is stored in the master repository and replicated to a
standby repository on a different node.

What would be the possible performance impact in a cluster if a less powerful node (e.g.
slower CPUs) is added to the cluster?
All processing will show down to the CPU speed of the slowest server.

What is the purpose of OLR?


Oracle Local repository contains information that allows the cluster processes to be started up with the OCR being in the ASM storage
ssytem. Since the ASM file system is unavailable until the Grid processes are started up a local copy of the contents of the OCR is required
which is stored in the OLR.

What is the default memory allocation for ASM?


In 10g the default SGA size is 1G in 11g it is set to 256M and in 12c ASM it is set back to 1G.

How do you backup ASM Metadata?


You can use md_backup to restore the ASM diskgroup configuration in-case of ASM diskgroup storage loss.

What files can be stored in the ASM diskgroup?


In 11g the following files can be stored in ASM diskgroups.

Datafiles

Redo logfiles

Spfiles
In 12c the files below can also new be stored in the ASM Diskgroup

Password file

What it the ASM POWER_LIMIT?


This is the parameter which controls the number of Allocation units the ASM instance will try to rebalance at any given time. In ASM versions
less than 11.2.0.3 the default value is 11 however it has been changed to unlimited in later versions.

What is a rolling upgrade?


A patch is considered a rolling if it is can be applied to the cluster binaries without having to shutting down the database in a RAC
environment. All nodes in the cluster are patched in a rolling manner, one by one, with only the node which is being patched unavailable
while all other instance open.

What are some of the RAC specific parameters?


Some of the RAC parameters are:

CLUSTER_DATABASE

CLUSTER_DATABASE_INSTANCE

INSTANCE_TYPE (RDBMS or ASM)

ACTIVE_INSTANCE_COUNT

UNDO_MANAGEMENT

What is the future of the Oracle Grid?


The Grid software is becoming more and more capable of not just supporting HA for Oracle Databases but also other applications including
Oracles applications. With 12c there are more features and functionality built-in and it is easier to deploy these pre-built solutions, available
for common Oracle applications.

What components of the Grid should I back up?


The backups should include OLR, OCR and ASM Metadata.

Is there an easy way to verify the inventory for all remote nodes
You can run the opatch lsinventory -all_nodes command from a single node to look at the inventory details for all nodes in the cluster.

ADDITIONAL RESOURCES

Oracle Interview Questions


To prepare for your Oracle DBA interview here are some additional Oracle questions focusing on other database areas.

Goldengate Interview Questions

Exadata Interview Questions

Related Oracle Articles

Oracle 12c RAC Installation on Oracle Linux 6 using VirtualBox

RAC Blog

RAC/ASM/VOTING DISK Interview Questions & Answer


Q What is SCAN?
Single Client Access Name (SCAN) is s a new Oracle Real Application Clusters (RAC) 11g
Release 2 feature that provides a single name for clients to access an Oracle Database
running in a cluster. The benefit is clients using SCAN do not need to change if you add or
remove nodes in the cluster.

Q what is dynamic remastering ? When will the dynamic remastering happens?


dynamic remastering is ability to move the ownership of resource from one instance to
another instance in RAC. dynamic resource remastering is used to implement for resource

affinity for increased performance. resource affinity optimized the system in situation where
update transactions are being executed in one instance. when activity shift to another
instance the resource affinity correspondingly move to another instance. If activity is not
localized then resource ownership is hashed to the instance.
In 10g dynamic remastering happens in file+object level.the process of remastering is very
stringent. For one instance should touch more than 50 times than the other instance in
particular period(say 10 mints). this touch ratio and time can be tuned by gc_affinity_limit
and _gc_affinity_time parameter.

Q why we required to maintain odd number of voting disks?


Odd number of disk are to avoid split brain, When Nodes in cluster can't talk to each other
they run to lock the Voting disk and whoever lock the more disk will survive, if disk number
are even there are chances that node might lock 50% of disk (2 out of 4) then how to decide
which node to evict.
whereas when number is odd, one will be higher than other and each for cluster to evict the
node with less number

Q How you check the health of Your RAC Database?


'crsctl' command from root or oracle user can be used to check the clusterware health But
for starting or stopping we have to use root user or any privilege user.
[oracle@TEST_NODE1 ~]$ crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy

Q How you check the services in RAC Node?


We can check the service or start the services with 'srvctl' command.load balanced/TAF
service named RAC online.
[oracle@TEST_NODE1 ~]$ srvctl start service -d orcl -s RAC
[oracle@TEST_NODE1 ~]$ crsstat

Q If there is some issue with virtual IP how will you troubleshoot it?How will you
change virtual ip?
To change the VIP (virtual IP) on a RAC node, use the command

[oracle@testnode oracle]$ srvctl modify nodeapps -A new_address

Q How you will backup your RAC Database?


Backup strategy of RAC Database:
An RAC Database consists of
1)OCR
2)Voting disk &
3)Database files, controlfiles, redolog files & Archive log files

Q Do you have any idea of load balancing in application?How load balancing is


done?
http://practicalappsdba.wordpress.com/category/for-master-apps-dbas/

Q What is RAC?
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.

Q 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.

Q 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

Q 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

Q 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.

Q 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

Q 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.

Q 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.

Q 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.

Q 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.

Q Give details on LMD


This process is called as global enqueue service daemon. This process manages incoming
remote resource requests within each instance.

Q 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.

Q 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.

Q 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.

Q How to export and import crs resources while migrating Oracle RAC to new
server.
Below script generate svrctl add script for database, instance, service and 11G listeners
from OCR from current RAC.
Save the result of the script and run it at new RAC.
for DBNAME in $(srvctl config database)
do
# Generate DB resource
srvctl config database -d $DBNAME -a | awk -v dbname="$DBNAME" \
'BEGIN { FS=":" }
$1~/Oracle home/ || $1~/ORACLE_HOME/ {dbhome = "-o" $2}
$1~/Spfile/ || $1~/SPFILE/ {spfile = "-p" $2}
$1~/Disk Groups/ {dg = "-a" $2}
END { if (avail == "-a ") {avail = ""}; printf "%s %s %s %s %s\n", "srvctl add database -d ",
dbname, dbhome, spfile, dg }'

# Generate Instance resource


srvctl status database -d $DBNAME | awk -v dbname="$DBNAME" \
'$4~/running/ { printf "%s %s %s %s %s %s\n", "srvctl add instance -d ",dbname, " -i ", $2 ,"
-n ", $7 }
$5~/running/ { printf "%s %s %s %s %s %s \n", "srvctl add instance -d ",dbname, " -i ", $2 ,"
-n ", $8 }'
# Modify instance for 10G - ASM dependency
if [ $(echo $ORACLE_HOME | grep "1020" | wc -l ) -eq 1 ]
then
srvctl status database -d $DBNAME | awk -v dbname="$DBNAME" \
'$2~/1$/ { printf "%s %s %s %s %s \n", "srvctl modify instance -d ",dbname, " -i ", $2 ," -s
+ASM1" }
$2~/2$/ { printf "%s %s %s %s %s \n", "srvctl modify instance -d ",dbname, " -i ", $2 ," -s
+ASM2" }
$2~/3$/ { printf "%s %s %s %s %s \n", "srvctl modify instance -d ",dbname, " -i ", $2 ," -s
+ASM3" }
$2~/4$/ { printf "%s %s %s %s %s \n", "srvctl modify instance -d ",dbname, " -i ", $2 ," -s
+ASM4" }'
fi
echo "srvctl start database -d $DBNAME"
# Generate Service resource
snamelist=$(srvctl status service -d $DBNAME | awk '{print $2}')
for sname in $snamelist
do
srvctl config service -d $DBNAME -s $sname| awk -v dbname="$DBNAME" -v
sname=$sname \
'BEGIN { FS=":"}
$1~/Preferred instances/ {pref = "-r" $2}
$1~/PREF/ {pref = "-r" $2; sub(/AVAIL/, "", pref) }
$1~/Available instances/ {avail = "-a" $2}
$2~/AVAIL/ {avail = "-a" $3}
$1~/Failover type/ {ft = "-e" $2}
$1~/Failover method/ {fm = "-m" $2}
$1~/Runtime Load Balancing Goal/ {g = "-B" $2}

END { if (avail == "-a ") {avail = ""}; printf "%s %s %s %s %s %s %s %s %s %s\n", "srvctl
add service -d ",dbname, "-s ", sname, pref, avail ,ft, fm,g, "-P BASIC"}'
echo "srvctl start service -d $DBNAME -s $sname"
done
done
# Listener at 11G Home. 10G listener can't ba added with srvctl.

srvctl config listener | awk \


'BEGIN { FS=":"; state = 0; }
$1~/Name/ {lname = "-l" $2; state=1};
$1~/Home/ && state == 1 {ohome = "-o" $2; state=2;}
$1~/End points/ && state == 2 {lport = "-p " $3; state=3;}
state == 3 {if (ohome != "-o ") {printf "%s %s %s %s\n", "srvctl add listener ", lname,
ohome, lport;} state=0;}'

Q 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.

Q What components in RAC must reside in shared storage?


All datafiles, controlfiles, SPFIles, redo log files must reside on cluster-aware shred storage.

Q What is the significance of using cluster-aware shared storage in an Oracle RAC


environment?
All instances of an Oracle RAC can access all the datafiles,control files, SPFILE's, redolog files
when these files are hosted out of cluster-aware shared storage which are group of shared
disks.

Q Give few examples for solutions that support cluster storage


ASM(automatic storage management),raw disk devices,network file system(NFS), OCFS2
and OCFS(Oracle Cluster Fie systems).

Q What is an interconnect network?


An interconnect network is a private network that connects all of the servers in a cluster.
The interconnect network uses a switch/multiple switches that only the nodes in the cluster
can access.

Q How can we configure the cluster interconnect?


Configure User Datagram Protocol(UDP) on Gigabit ethernet for cluster interconnect.On unix
and linux systems we use UDP and RDS(Reliable data socket) protocols to be used by Oracle
Clusterware.Windows clusters use the TCP protocol.

Q Can we use crossover cables with Oracle Clusterware interconnects?


No, crossover cables are not supported with Oracle Clusterware intercnects.

Q What is the use of cluster interconnect?


Cluster interconnect is used by the Cache fusion for inter instance communication.

Q How do users connect to database in an Oracle RAC environment?


Users can access a RAC database using a client/server configuration or through one or more
middle tiers ,with or without connection pooling.Users can use oracle services feature to
connect to database.

Q What is the use of a service in Oracle RAC environment?


Applications should use the services feature to connect to the Oracle database.Services
enable us to define rules and characteristics to control how users and applications connect
to database instances.

Q What are the characteristics controlled by Oracle services feature?


The charateristics include a unique name, workload balancing and failover options,and high
availability characteristics.

Q What enables the load balancing of applications in RAC?


Oracle Net Services enable the load balancing of application connections across all of the
instances in an Oracle RAC database.

Q What is a virtual IP address or VIP?


A virtl IP address or VIP is an alternate IP address that the client connectins use instead of
the standard public IP address. To configureVIP address, we need to reserve a spare IP
address for each node, and the IP addresses must use the same subnet as the public
network.

Q What is the use of VIP?


If a node fails, then the node's VIP address fails over to another node on which the VIP
address can accept TCP connections but it cannot accept Oracle connections.

Q Give situations under which VIP address failover happens


VIP addresses failover happens when the node on which the VIP address runs fails, all
interfaces for the VIP address fails, all interfaces for the VIP address are disconnected from
the network.

Q What is the significance of VIP address failover?


When a VIP address failover happens, Clients that attempt to connect to the VIP address
receive a rapid connection refused error .They don't have to wait for TCP connection timeout
messages.

Q What are the administrative tools used for Oracle RAC environments?
Oracle RAC cluster can be administered as a single image using OEM(Enterprise
Manager),SQL*PLUS,Servercontrol(SRVCTL),clusterverificationutility(cvu),DBCA,NETCA

Q How do we verify that RAC instances are running?


Issue the following query from any one node connecting through SQL*PLUS.
$connect sys/sys as sysdba
SQL>select * from V$ACTIVE_INSTANCES;
The query gives the instance number under INST_NUMBER column,host_:instancename
under INST_NAME column.

Q What is FAN?
Fast application Notification as it abbreviates to FAN relates to the events related to
instances,services and nodes.This is a notification mechanism that Oracle RAc uses to notify
other processes about the configuration and service level information that includes service
status changes such as,UP or DOWN events.Applications can respond to FAN events and
take immediate action.

Q Where can we apply FAN UP and DOWN events?


FAN UP and FAN DOWN events can be applied to instances,services and nodes.
State the use of FAN events in case of a cluster configuration change?
During times of cluster configuration changes,Oracle RAC high availability framework
publishes a FAN event immediately when a state change occurs in the cluster.So

applications can receive FAN events and react immediately.This prevents applications from
polling database and detecting a problem after such a state change.

Q 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.

Q 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.

Q 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.

Q 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).

Q 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

Q What is ORA-00603: ORACLE server session terminated by fatal error or ORA29702: error occurred in Cluster Group Service operation?
RAC node name was listed in the loopback address...

Q 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.

Q Mention the components of Oracle clusterware


Oracle clusterware is made up of components like voting disk and Oracle Cluster
Registry(OCR).

Q 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.

Q 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).

Q 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).

Q 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

Q 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).

Q 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

Q 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

Q 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.

Q 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.

Q 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 won't even know that the node they were running on became unavailable.

Q 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.

Q 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.

Q Tune the following RAC DATABASE (DBNAME=PROD) which is 3 node RAC.


PROD1
CPU 8
32 GB RAM

PROD2
CPU 15
12 GB RAM

PROD3
CPU 8
16 GB RAM

What are you looking for here? What tuning information do you expect?
It is a 3 node cluster with different hardware configuration running RAC.
I would put 20% of the memory for Oracle in each node. So that would mean that the SGA is
different in each of the nodes.

Also since the CPU's are different PROD2 can have more number of max number of
processes as compared to the rest of them.
But as I said this is just configuration, this is not tuning. Question is not clear.

Q Write a sample script for RMAN for the recovery if all the instance are down.
(First explain the procedure how you will restore)
Bring all nodes down.
Start one Node
Restore all datafiles and archive logs.
Recover 1 Node.
Open the database.
bring other nodes up.
Confirm that all nodes are operational.

Q. Clients are performing some operation and suddenly one of the datafile is
experiencing problem what do you do? The cluster is a two node one.
A. Bring the datafile offline recover the datafile.

Q. How can you connect to a specific node in a RAC environment?


A. tnsnames.ora ensure that you have INSTANCE_NAME specified in it.

Q How to move OCR and Voting disk to new storage device?


Moving OCR
==========
You must be logged in as the root user, because root owns the OCR files. Also an ocrmirror
must be in place before trying to replace the OCR device.
Make sure there is a recent backup of the OCR file before making any changes:
ocrconfig showbackup
If there is not a recent backup copy of the OCR file, an export can be taken for the current

OCR file. Use the following command to generate an export of the online OCR file:
In 10.2
# ocrconfig export -s online
In 11g
# ocrconfig -manualbackup
The new OCR disk must be owned by root, must be in the oinstall group, and must have
permissions set to 640. Provide at least 100 MB disk space for the OCR.
On one node as root run:
# ocrconfig -replace ocr
# ocrconfig -replace ocrmirror
Now run ocrcheck to verify if the OCR is pointing to the new file
Moving Voting Disk
==================
Note: crsctl votedisk commands must be run as root
Shutdown the Oracle Clusterware (crsctl stop crs as root) on all nodes before making any
modification to the voting disk. Determine the current voting disk location using:
crsctl query css votedisk
Take a backup of all voting disk:
dd if=voting_disk_name of=backup_file_name
To move a Voting Disk, provide the full path including file name:
crsctl delete css votedisk force
crsctl add css votedisk force
After modifying the voting disk, start the Oracle Clusterware stack on all nodes

# crsctl start crs


Verify the voting disk location using
crsctl query css votedisk

Q What is runfixup.sh script in Oracle Clusterware 11g release 2 installation


With Oracle Clusterware 11g release 2, Oracle Universal Installer (OUI) detects when the
minimum requirements for an installation are not met, and creates shell scripts, called fixup
scripts, to finish incomplete system configuration steps. If OUI detects an incomplete task,
then it generates fixup scripts (runfixup.sh). You can run the fixup script after you click the
Fix and Check Again Button.
The Fixup script does the following:
If necessary sets kernel parameters to values required for successful installation,
including:
Shared memory parameters.
Open file descriptor and UDP send/receive parameters.
Sets permissions on the Oracle Inventory (central inventory) directory.
Reconfigures primary and secondary group memberships for the installation
owner, if necessary, for the Oracle Inventory directory and the operating system
privileges groups.
Sets shell limits if necessary to required values.

Q When exactly during the installation process are clusterware components


created?
After fulfilling the pre-installation requirements, the basic installation steps to follow are:
1. Invoke the Oracle Universal Installer (OUI)
2. Enter the different information for some components like:
- name of the cluster
- public and private node names
- location for OCR and Voting Disks
- network interfaces used for RAC instances
-etc.

3. After the Summary screen, OUI will start copying under the $CRS_HOME (this is the
$ORACLE_HOME for Oracle Clusterware) in the local node the libraries and executables.
- here we will have the daemons and scripts init.* created and configured properly.
Oracle Clusterware is formed of several daemons, each one of which have a special function
inside the stack. Daemons are executed via the init.* scripts (init.cssd, init.crsd and
init.evmd).
- note that for CRS only some client libraries are recreated, but not all the executables (as
for the RDBMS).
4. Later the software is propagated to the rest of the nodes in the cluster and the
oraInventory is updated.
5. The installer will ask to execute root.sh on each node. Until this step the software for
Oracle Clusterware is inside the $CRS_HOME.
Running root.sh will create several components outside the $CRS_HOME:
- OCR and VD will be formated.
- control files (or SCLS_SRC files ) will be created with the correct contents to start Oracle
Clusterware.
These files are used to control some aspects of Oracle Clusterware like:
- enable/disable processes from the CSSD family (Eg. oprocd, oslsvmon)
- stop the daemons (ocssd.bin, crsd.bin, etc).
- prevent Oracle Clusterware from being started when the machine boots.
- etc.
- /etc/inittab will be updated and the init process is notified.
In order to start the Oracle Clusterware daemons, the init.* scripts first need to be run.
These scripts are executed by the daemon init. To accomplish this some entries must be
created in the file /etc/inittab.
- the different processes init.* (init.cssd, init.crsd, etc) will start the daemons (ocssd.bin,
crsd.bin, etc). When all the daemons are running then we can say that the installation was
successful
- On 10.2 and later, running root.sh on the last node in the cluster also will create the
nodeapps (VIP, GSD and ONS). On 10.1, VIPCA is executed as part of the RAC installation.
6. After running root.sh on each node, we need to continue with the OUI session. After
pressing the 'OK' button OUI will include the information for the public and
cluster_interconnect interfaces. Also CVU (Cluster Verification Utility) will be executed.

Q What are Oracle Clusterware processes for 10g on Unix and Linux
Cluster Synchronization Services (ocssd) Manages cluster node membership and runs as
the oracle user; failure of this process results in cluster restart.
Cluster Ready Services (crsd) The crs process manages cluster resources (which could be
a database, an instance, a service, a Listener, a virtual IP (VIP) address, an application
process, and so on) based on the resource's configuration information that is stored in the
OCR. This includes start, stop, monitor and failover operations. This process runs as the root
user
Event manager daemon (evmd) A background process that publishes events that crs
creates.
Process Monitor Daemon (OPROCD) This process 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 Oracle Clusterware restarting the node. OPROCD uses the hangcheck timer on
Linux platforms.
RACG (racgmain, racgimon) Extends clusterware to support Oracle-specific requirements
and complex resources. Runs server callout scripts when FAN events occur.

Q What are Oracle database background processes specific to RAC


LMSGlobal Cache Service Process
LMDGlobal Enqueue Service Daemon
LMONGlobal Enqueue Service Monitor
LCK0Instance Enqueue Process
To 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.

Q What are Oracle Clusterware Components


Voting Disk Oracle RAC uses the voting disk to manage cluster membership by way of a
health check and arbitrates cluster ownership among the instances in case of network
failures. The voting disk must reside on shared disk.

Oracle Cluster Registry (OCR) Maintains cluster configuration information as well as


configuration information about any cluster database within the cluster. The OCR must
reside on shared disk that is accessible by all of the nodes in your cluster

Q How do you troubleshoot node reboot


Please check metalink ...
Note 265769.1 Troubleshooting CRS Reboots
Note.559365.1 Using Diagwait as a diagnostic to get more information for diagnosing Oracle
Clusterware Node evictions.

Q How do you backup the OCR


There is an automatic backup mechanism for OCR. The default location is :
$ORA_CRS_HOME\cdata\"clustername"\
To display backups :
#ocrconfig -showbackup
To restore a backup :
#ocrconfig -restore
With Oracle RAC 10g Release 2 or later, you can also use the export command:
#ocrconfig -export -s online, and use -import option to restore the contents back.
With Oracle RAC 11g Release 1, you can do a manaual backup of the OCR with the
command:
# ocrconfig -manualbackup

Q How do you backup voting disk


#dd if=voting_disk_name of=backup_file_name

Q How do I identify the voting disk location


#crsctl query css votedisk

Q How do I identify the OCR file location


check /var/opt/oracle/ocr.loc or /etc/ocr.loc ( depends upon platform)
or
#ocrcheck

Q Is ssh required for normal Oracle RAC operation ?


"ssh" are not required for normal Oracle RAC operation. However "ssh" should be enabled
for Oracle RAC and patchset installation.

Q What is SCAN?
Single Client Access Name (SCAN) is s a new Oracle Real Application Clusters (RAC) 11g
Release 2 feature that provides a single name for clients to access an Oracle Database
running in a cluster. The benefit is clients using SCAN do not need to change if you add or
remove nodes in the cluster.

Q What is the purpose of Private Interconnect ?


Clusterware uses the private interconnect for cluster synchronization (network heartbeat)
and daemon communication between the the clustered nodes. This communication is based
on the TCP protocol.
RAC uses the interconnect for cache fusion (UDP) and inter-process communication (TCP).
Cache Fusion is the remote memory mapping of Oracle buffers, shared between the caches
of participating nodes in the cluster.

Q Why do we have a Virtual IP (VIP) in Oracle RAC?


Without using VIPs or FAN, clients connected to a node that died will often wait for a TCP
timeout period (which can be up to 10 min) before getting an error. As a result, you don't
really have a good HA solution without using VIPs.
When a node fails, the VIP associated with it is automatically failed over to some other node
and new node re-arps the world indicating a new MAC address for the IP. Subsequent
packets sent to the VIP go to the new node, which will send error RST packets back to the
clients. This results in the clients getting errors immediately

Q What do you do if you see GC CR BLOCK LOST in top 5 Timed Events in AWR
Report?
This is most likely due to a fault in interconnect network.
Check netstat -s
if you see "fragments dropped" or "packet reassemblies failed" , Work with your system
administrator find the fault with network.

Q How many nodes are supported in a RAC Database?


10g Release 2, support 100 nodes in a cluster using Oracle Clusterware, and 100 instances
in a RAC database.

Q Srvctl cannot start instance, I get the following error PRKP-1001 CRS-0215,
however sqlplus can start it on both nodes? How do you identify the problem?
Set the environmental variable SRVM_TRACE to true.. And start the instance with srvctl. Now
you will get detailed error stack.

Q what is the purpose of the ONS daemon?


The Oracle Notification Service (ONS) daemon is an daemon started by the CRS clusterware
as part of the nodeapps. There is one ons daemon started per clustered node.
The Oracle Notification Service daemon receive a subset of published clusterware events via
the local evmd and racgimon clusterware daemons and forward those events to application
subscribers and to the local listeners.
This in order to facilitate:
a. the FAN or Fast Application Notification feature or allowing applications to respond to
database state changes.
b. the 10gR2 Load Balancing Advisory, the feature that permit load balancing accross
different rac nodes dependent of the load on the different nodes. The rdbms MMON is
creating an advisory for distribution of work every 30seconds and forward it via racgimon
and ONS to listeners and applications.

Q How do users connect to database in an Oracle RAC environment?


Users can access a RAC database using a client/server configuration or through one or more
middle tiers, with or without connection pooling. Users can use oracle services feature to
connect to database.

Q What is the use of a service in Oracle RAC environment?


Applications should use the services feature to connect to the Oracle database. Services
enable us to define rules and characteristics to control how users and applications connect
to database instances.

Q What are the characteristics controlled by Oracle services feature?


The characteristics include a unique name, workload balancing and failover options, and
high availability characteristics.

Q What is a voting disk?


A voting disk is a file that manages information about node membership.

Q What are the administrative tasks involved with voting disk?


Following administrative tasks are performed with the voting disk :
1) Backing up voting disks
2) Recovering Voting disks
3) Adding voting disks
4) Deleting voting disks
5) Moving voting disks

Q How do we backup voting disks?


1) Oracle recommends that you back up your voting disk after the initial cluster creation and

after we complete any node addition or deletion procedures.


2) First, as root user, stop Oracle Clusterware (with the crsctl stop crs command) on all
nodes. Then, determine the current voting disk by issuing the following command:
crsctl query votedisk css
3) Then, issue the dd or ocopy command to back up a voting disk, as appropriate.
Give the syntax of backing up voting disks:On Linux or UNIX systems:
dd if=voting_disk_name of=backup_file_name
where,
voting_disk_name is the name of the active voting disk
backup_file_name is the name of the file to which we want to back up the voting disk
contents
On Windows systems, use the ocopy command:
ocopy voting_disk_name backup_file_name

Q What is the Oracle Recommendation for backing up voting disk?


Oracle recommends us to use the dd command to backup the voting disk with a minimum
block size of 4KB.

Q How do you restore a voting disk?


To restore the backup of your voting disk, issue the dd or ocopy command for Linux and
UNIX systems or ocopy for Windows systems respectively.
On Linux or UNIX systems:
dd if=backup_file_name of=voting_disk_name
On Windows systems, use the ocopy command:
ocopy backup_file_name voting_disk_name
where,
backup_file_name is the name of the voting disk backup file
voting_disk_name is the name of the active voting disk

Q How can we add and remove multiple voting disks?


If we have multiple voting disks, then we can remove the voting disks and add them back
into our environment using the following commands, where path is the complete path of the
location where the voting disk resides:
crsctl delete css votedisk path
crsctl add css votedisk path

Q How do we stop Oracle Clusterware?When do we stop it?


Before making any modification to the voting disk, as root user, stop Oracle Clusterware
using the crsctl stop crs command on all nodes.

Q How do we add voting disk?


To add a voting disk, issue the following command as the root user, replacing the path
variable with the fully qualified path name for the voting disk we want to add:
crsctl add css votedisk path -force

Q How do we move voting disks?


To move a voting disk, issue the following commands as the root user, replacing the path
variable with the fully qualified path name for the voting disk we want to move:
crsctl delete css votedisk path -force
crsctl add css votedisk path -force

Q How do we remove voting disks?


To remove a voting disk, issue the following command as the root user, replacing the path
variable with the fully qualified path name for the voting disk we want to remove:
crsctl delete css votedisk path -force

Q What should we do after modifying voting disks?


After modifying the voting disk, restart Oracle Clusterware using the crsctl start crs
command on all nodes, and verify the voting disk location using the following command:
crsctl query css votedisk

Q When can we use -force option?


If our cluster is down, then we can include the -force option to modify the voting disk
configuration, without interacting with active Oracle Clusterware daemons. However, using
the -force option while any cluster node is active may corrupt our configuration.

Oracle RAC Interview questions and answers


What are Oracle Clusterware processes for 10g on Unix and Linux
Cluster Synchronization Services (ocssd) Manages cluster node
membership and runs as the oracle user; failure of this process results in
cluster restart.
Cluster Ready Services (crsd) The crs process manages cluster resources
(which could be a database, an instance, a service, a Listener, a virtual IP
(VIP) address, an application process, and so on) based on the resource's
configuration information that is stored in the OCR. This includes start, stop,
monitor and failover operations. This process runs as the root user
Event manager daemon (evmd) A background process that publishes
events that crs creates.
Process Monitor Daemon (OPROCD) This process 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 Oracle Clusterware
restarting the node. OPROCD uses the hangcheck timer on Linux platforms.
RACG (racgmain, racgimon) Extends clusterware to support Oracle-specific
requirements and complex resources. Runs server callout scripts when FAN
events occur.
What are Oracle database background processes specific to RAC

LMSGlobal Cache Service Process


LMDGlobal Enqueue Service Daemon
LMONGlobal Enqueue Service Monitor
LCK0Instance Enqueue Process
To 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.
What are Oracle Clusterware Components
Voting Disk Oracle RAC uses the voting disk to manage cluster
membership by way of a health check and arbitrates cluster ownership
among the instances in case of network failures. The voting disk must reside
on shared disk.
Oracle Cluster Registry (OCR) Maintains cluster configuration information
as well as configuration information about any cluster database within the
cluster. The OCR must reside on shared disk that is accessible by all of the
nodes in your cluster
How do you troubleshoot node reboot
Please check metalink ...
Note 265769.1 Troubleshooting CRS Reboots
Note.559365.1 Using Diagwait as a diagnostic to get more information for
diagnosing Oracle Clusterware Node evictions.
How do you backup the OCR
There is an automatic backup mechanism for OCR. The default location is :
$ORA_CRS_HOME\cdata\"clustername"\
To display backups :
#ocrconfig -showbackup
To restore a backup :
#ocrconfig -restore

With Oracle RAC 10g Release 2 or later, you can also use the export
command:
#ocrconfig -export -s online, and use -import option to restore the contents
back.
With Oracle RAC 11g Release 1, you can do a manaual backup of the OCR
with the command:
# ocrconfig -manualbackup
How do you backup voting disk
#dd if=voting_disk_name of=backup_file_name
How do I identify the voting disk location
#crsctl query css votedisk
How do I identify the OCR file location
check /var/opt/oracle/ocr.loc or /etc/ocr.loc ( depends upon platform)
or
#ocrcheck
Is ssh required for normal Oracle RAC operation ?
"ssh" are not required for normal Oracle RAC operation. However "ssh"
should be enabled for Oracle RAC and patchset installation.
What is SCAN?
Single Client Access Name (SCAN) is s a new Oracle Real Application
Clusters (RAC) 11g Release 2 feature that provides a single name for clients
to access an Oracle Database running in a cluster. The benefit is clients
using SCAN do not need to change if you add or remove nodes in the
cluster.
Click here for more details from Oracle
What is the purpose of Private Interconnect ?
Clusterware uses the private interconnect for cluster synchronization
(network heartbeat) and daemon communication between the the clustered
nodes. This communication is based on the TCP protocol.
RAC uses the interconnect for cache fusion (UDP) and inter-process

communication (TCP). Cache Fusion is the remote memory mapping of


Oracle buffers, shared between the caches of participating nodes in the
cluster.
Why do we have a Virtual IP (VIP) in Oracle RAC?
Without using VIPs or FAN, clients connected to a node that died will often
wait for a TCP timeout period (which can be up to 10 min) before getting an
error. As a result, you don't really have a good HA solution without using
VIPs.
When a node fails, the VIP associated with it is automatically failed over to
some other node and new node re-arps the world indicating a new MAC
address for the IP. Subsequent packets sent to the VIP go to the new node,
which will send error RST packets back to the clients. This results in the
clients getting errors immediately.
What do you do if you see GC CR BLOCK LOST in top 5 Timed Events
in AWR Report?
This is most likely due to a fault in interconnect network.
Check netstat -s
if you see "fragments dropped" or "packet reassemblies failed" , Work with
your system administrator find the fault with network.
How many nodes are supported in a RAC Database?
10g Release 2, support 100 nodes in a cluster using Oracle Clusterware, and
100 instances in a RAC database.
Srvctl cannot start instance, I get the following error PRKP-1001
CRS-0215, however sqlplus can start it on both nodes? How do you
identify the problem?
Set the environmental variable SRVM_TRACE to true.. And start the instance
with srvctl. Now you will get detailed error stack.
what is the purpose of the ONS daemon?
The Oracle Notification Service (ONS) daemon is an daemon started by the
CRS clusterware as part of the nodeapps. There is one ons daemon started
per clustered node.
The Oracle Notification Service daemon receive a subset of published
clusterware events via the local evmd and racgimon clusterware daemons
and forward those events to application subscribers and to the local

listeners.
This in order to facilitate:
a. the FAN or Fast Application Notification feature or allowing applications to
respond to database state changes.
b. the 10gR2 Load Balancing Advisory, the feature that permit load
balancing accross different rac nodes dependent of the load on the different
nodes. The rdbms MMON is creating an advisory for distribution of work
every 30seconds and forward it via racgimon and ONS to listeners and
applications.
Labels: Oracle RAC Interview questions
http://dbaanswers.blogspot.com/2007/06/sroracle-dba-racdatagaurd-interview.html

You might also like