Explain the difference between a hot backup and a cold backup.
A cold backup is done when there is no
user activity going on with the system. Also called as offline backup, is taken
when the database is not running and no users are logged in. all files of the
database are copied and no changes during the copy are made.
A hot backup is taken when the database needs to run all the time. It is
an online backup. All files of the database are copied and there may be changes
to the database during the copy.
How
many memory layers are in the oracle shared pool? Explain them
Oracles shared pool consists of two
layers namely, Library cache and Data dictionary cache.
Library cache: This layer has
information about SQL statements that were parsed, information about cursors
and any plan data.
Data Dictionary cache: this Layer has
information about the accounts of the users, their privileges and segments information.
What
is the cache hit ratio, what impact does it have on performance of an Oracle
database and what is involved in tuning it?
When the cache client like a CPU, web
browser etc finds a successful entry in the cache memory, it is called as a cache
hit. The percentage of these successful cache hits is called as cache hit
ratio. Higher the cache hit ratio better will be the performance because data
read from the cache is faster than the memory.
Explain
the concept of the DUAL table.
On installing Oracle database, DUAL
table Is present by default. It is a special table with just one row. It has a
single column called DUMMY. The data type of this column in VARCHAR2(1). It has
a value “X”. It is most commonly used to select pseudo columns in Oracle like
sysdate.
Select sysdate from dual
What
are the ways tablespaces can be managed and how do
they differ?
Objects can be assigned to a table
space. The related objects can be then grouped together. Table space can also
be managed using extents. Extents consist of a specific
number of contiguous data blocks. For the required extent, the free extent
closest in size is determined.
Explain
what are Oracle Catalog and Oracle Archive log?
Oracle catalog contains tables and
views to get information about the database. It helps user to understand the
available tables, attributes, constraints etc.
Oracle Archive log mode of a database
in Oracle, ensures, the online redo logs are not overwritten before they are
archived. This ensures that recovery is possible.
What
are PCT Free and PCT Used? What is PCT increase
parameter in segment?
PCTFREE is a parameter used to find how
much space should be left in a database block for future updates. This means
that if the PCTFREE = 20, new rows will be added in the block until it is 80%
full.
PCTUSED is a parameter helps Oracle to
find when it should consider a database block to be empty enough to be added to
the freelist. This means that if the PCTFREE = 50, new rows will be not be
added in the block until sufficient rows are deleted from the block so that it
falls below 40% empty.
PCTINCREASE parameter is used to find
how much will the each subsequent segment will grow. This value is in %.
What
is dump destination? What are bdump, cdump and udump?
Trace files for Oracle processes are stored
in dump destination.
Bdump- Oracle writes to the trace log
and creates trace files for background processes in background dump
destination. If this directory becomes full and more files cannot be written,
debugging becomes difficult.
Cdump- Oracle writes core files and
background processes in Core dump destination directory. If this directory
becomes full and more files cannot be written, debugging becomes difficult.
Udump – Oracle creates trace files for
the user processes in the User Dump directory if this directory becomes full
and more files cannot be written, debugging becomes difficult.
How
do you increase the performance of %LIKE operator?
LIKE% works the fastest because it uses
the index to search on the column provided an index is specified on the column.
Using % after LIKE, results in faster results.
Why
use materialized view instead of a table
Materialized views are basically used
to increase query performance since it contains results of a query. They should
be used for reporting instead of a table for a faster execution.
Why
and how the deadlock situation arises
A deadlock situation arises when two or
more users wait for the same resource locked by one anther or two or more
processes wait to update rows which are locked by other processes. Oracle if
detects a deadlock, rolls back the session chosen by the deadlock victim.
What
are standby databases? Difference between Physical and logical standby
databases
A standby database is a replica of the
original database. In order to keep both the database synchronized, archived
redo logs can be used. It is mainly used in disaster protection. It can also be
opened in read only mode which allows it to be used independently for
reporting.
A logical standby database allows new
database objects like tables, indexes to be added to the database. On the other
hand, the physical standby database is a physical or structural copy of primary
database. They can be opened in read only for disaster recovery.
What
is Cache Fusion Technology?
In Cache fusion, multiple buffers join
to act as one. It eliminates disk i/o operaions by making use of a scalable
shared cache. It treats multiple buffer caches as one thereby resolving data
consistency issues. Cash fusion technology can provide more resources and
increases concurrency of users.
What
is the difference between Cloning and Standby databases?
The clone database is a copy of the
database which can be opened in read write mode. It is treated as a separate
copy of the database that is functionally completely separate. The standby
database is a copy of the production database used for disaster protection. In
order to update the standby database; archived redo logs from the production
database can be used. If the primary database is destroyed or its data becomes
corrupted, one can perform a failover to the standby database, in which case
the standby database becomes the new primary database.
RAC QUESTIONS
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
- 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
# 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:
ACMS—Atomic Controlfile to Memory Service (ACMS)
GTX0-j—Global Transaction Process
LMON—Global Enqueue Service Monitor
LMD—Global Enqueue Service Daemon
LMS—Global Cache Service Process
LCK0—Instance Enqueue Process
RMSn—Oracle RAC Management Processes (RMSn)
RSMN—Remote Slave Monitor
GTX0-j—Global Transaction Process
LMON—Global Enqueue Service Monitor
LMD—Global Enqueue Service Daemon
LMS—Global Cache Service Process
LCK0—Instance Enqueue Process
RMSn—Oracle RAC Management Processes (RMSn)
RSMN—Remote 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).
|
orarootagent
|
•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
|
8. 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.
9. How does SCAN works?
- 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
- 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)
- 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.
- 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 4thnode/instance)
as they just using scan IP.
- Same case even in the node deletion.
10. 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.
11. 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:
- 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.
12. 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
|
13. 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
14. List key benefits of Oracle Grid
Infrastructure?
15. List some of the background process that
used in ASM?
Process
|
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
|
16. 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
17. 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.
18. 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 resource–related operations:
- Starting and stopping database instances and services
- Also from 11gR2 manages the cluster resources like
network,vip,disks etc
19. 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
20. 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
21. 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
22. 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).
23. How to find Location of OCR?
- cat /etc/oracle/ocr.loc
ocrconfig_loc=+DATA
local_only=FALSE
- #OCRCHECK (also about OCR integrity)
24. List some background process that used in ASM
Instances?
Process
|
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
|
25. What are types of ASM Mirroring?
Disk
Group Type
|
Supported
MirroringLevels
|
Default
Mirroring Level
|
External
redundancy
|
Unprotected
(None)
|
Unprotected
(None)
|
Normal
redundancy
|
Two-wayThree-wayUnprotected
(None)
|
Two-way
|
High
redundancy
|
Three-way
|
Three-way
|
26. 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 (0–19999)
- Equal to 4 × AU for the next 20,000 extents
(20000–39999)
- 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.
27. 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):
- External redundancy maximum file size is 140 PB.
- Normal redundancy maximum file size is 42 PB.
- High redundancy maximum file size is 15 PB.
28. 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
[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)
37. Describe high level Steps to convert single
instance to RAC?
38. 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
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.
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)
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.
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.
39. 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>
40. 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,
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, We dont have test bed, but thanks to Anji who confirmed it will
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
#!/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
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
Oracle RAC Interview Questions & Answers
1. Where are the Clusterware files
stored on a RAC environment?
The Clusterware is installed on each node (on an Oracle Home) and on the shared disks (the voting disks and the CSR file)
The Clusterware is installed on each node (on an Oracle Home) and on the shared disks (the voting disks and the CSR file)
2. Where are the database software
files stored on a RAC environment?
The base software is
installed on each node of the cluster and the
database storage on the shared disks.
database storage on the shared disks.
3. What kind of storage we can use
for the shared Clusterware files?
- OCFS (Release 1 or 2)
- raw devices
- third party cluster file system such as GPFS or Veritas
- OCFS (Release 1 or 2)
- raw devices
- third party cluster file system such as GPFS or Veritas
4. What kind of storage we can use
for the RAC database storage?
- OCFS (Release 1 or 2)
- ASM
- raw devices
- third party cluster file system such as GPFS or Veritas
- OCFS (Release 1 or 2)
- ASM
- raw devices
- third party cluster file system such as GPFS or Veritas
5. What is a CFS?
A cluster File System (CFS) is a file system that may be accessed (read and write) by all members in a cluster at the same time. This implies that all members of a cluster have the same view.
A cluster File System (CFS) is a file system that may be accessed (read and write) by all members in a cluster at the same time. This implies that all members of a cluster have the same view.
6. What is an OCFS2?
The OCFS2 is the Oracle (version 2) Cluster File System which can be used for the Oracle Real Application Cluster.
The OCFS2 is the Oracle (version 2) Cluster File System which can be used for the Oracle Real Application Cluster.
7. Which files can be placed on an
Oracle Cluster File System?
- Oracle Software installation (Windows only)
- Oracle files (controlfiles, datafiles, redologs, files described by the bfile datatype)
- Shared configuration files (spfile)
- OCR and voting disk
- Files created by Oracle during runtime
- Oracle Software installation (Windows only)
- Oracle files (controlfiles, datafiles, redologs, files described by the bfile datatype)
- Shared configuration files (spfile)
- OCR and voting disk
- Files created by Oracle during runtime
Note: There are some
platform specific limitations.
8. Do you know another Cluster
Vendor?
HP Tru64 Unix, Veritas, Microsoft
HP Tru64 Unix, Veritas, Microsoft
9. How is possible to install a RAC
if we don’t have a CFS?
This is possible by using a raw device.
This is possible by using a raw device.
10. What is a raw device?
A raw device is a disk drive that does not yet have a file system set up. Raw devices are used for Real Application Clusters since they enable the sharing of disks.
A raw device is a disk drive that does not yet have a file system set up. Raw devices are used for Real Application Clusters since they enable the sharing of disks.
11. What is a raw partition?
A raw partition is a portion of a physical disk that is accessed at the lowest possible level. A raw partition is created when an extended partition is created and logical partitions are assigned to it without any formatting. Once formatting is complete, it is called cooked partition.
A raw partition is a portion of a physical disk that is accessed at the lowest possible level. A raw partition is created when an extended partition is created and logical partitions are assigned to it without any formatting. Once formatting is complete, it is called cooked partition.
12. When to use CFS over raw?
A CFS offers:
- Simpler management
- Use of Oracle Managed Files with RAC
- Single Oracle Software installation
- Autoextend enabled on Oracle datafiles
- Uniform accessibility to archive logs in case of physical node failure
- With Oracle_Home on CFS, when you apply Oracle patches CFS guarantees that the updated Oracle_Home is visible to all nodes in the cluster.
A CFS offers:
- Simpler management
- Use of Oracle Managed Files with RAC
- Single Oracle Software installation
- Autoextend enabled on Oracle datafiles
- Uniform accessibility to archive logs in case of physical node failure
- With Oracle_Home on CFS, when you apply Oracle patches CFS guarantees that the updated Oracle_Home is visible to all nodes in the cluster.
Note: This option is
very dependent on the availability of a CFS on your platform.
13. When to use raw over CFS?
- Always when CFS is not available or not supported by Oracle.
- The performance is very, very important: Raw devices offer best performance without any intermediate layer between Oracle and the disk.
Note: Autoextend fails on raw devices if the space is exhausted. However the space could be added online if needed.
- Always when CFS is not available or not supported by Oracle.
- The performance is very, very important: Raw devices offer best performance without any intermediate layer between Oracle and the disk.
Note: Autoextend fails on raw devices if the space is exhausted. However the space could be added online if needed.
14. What CRS is?
Oracle RAC 10g Release 1 introduced Oracle Cluster Ready Services (CRS), a platform-independent set of system services for cluster environments. In Release 2, Oracle has renamed this product to Oracle Clusterware.
Oracle RAC 10g Release 1 introduced Oracle Cluster Ready Services (CRS), a platform-independent set of system services for cluster environments. In Release 2, Oracle has renamed this product to Oracle Clusterware.
15. What is VIP IP used for?
It returns a dead connection IMMIDIATELY, when its primary node fails. Without using VIP IP, the clients have to wait around 10 minutes to receive ORA-3113: “end of file on communications channel”. However, using Transparent Application Failover (TAF) could avoid ORA-3113.
It returns a dead connection IMMIDIATELY, when its primary node fails. Without using VIP IP, the clients have to wait around 10 minutes to receive ORA-3113: “end of file on communications channel”. However, using Transparent Application Failover (TAF) could avoid ORA-3113.
16. Why we need to have configured
SSH or RSH on the RAC nodes?
SSH (Secure Shell,10g+) or RSH (Remote Shell, 9i+) allows “oracle” UNIX account connecting to another RAC node and copy/ run commands as the local “oracle” UNIX account.
SSH (Secure Shell,10g+) or RSH (Remote Shell, 9i+) allows “oracle” UNIX account connecting to another RAC node and copy/ run commands as the local “oracle” UNIX account.
17. Is the SSH, RSH needed for normal
RAC operations?
No. SSH or RSH are needed only for RAC, patch set installation and clustered database creation.
No. SSH or RSH are needed only for RAC, patch set installation and clustered database creation.
18. Do we have to have Oracle RDBMS
on all nodes?
Each node of a cluster that is being used for a clustered database will typically have the RDBMS and RAC software loaded on it, but not actual data files (these need to be available via shared disk).
Each node of a cluster that is being used for a clustered database will typically have the RDBMS and RAC software loaded on it, but not actual data files (these need to be available via shared disk).
19. What are the restrictions on the
SID with a RAC database? Is it limited to 5 characters?
The SID prefix in 10g Release 1 and prior versions was restricted to five characters by install/ config tools so that an ORACLE_SID of up to max of 5+3=8 characters can be supported in a RAC environment. The SID prefix is relaxed up to 8 characters in 10g Release 2, see bug 4024251 for more information.
The SID prefix in 10g Release 1 and prior versions was restricted to five characters by install/ config tools so that an ORACLE_SID of up to max of 5+3=8 characters can be supported in a RAC environment. The SID prefix is relaxed up to 8 characters in 10g Release 2, see bug 4024251 for more information.
20. Does Real Application Clusters
support heterogeneous platforms?
The Real Application Clusters do not support heterogeneous platforms in the same cluster.
The Real Application Clusters do not support heterogeneous platforms in the same cluster.
21. Are there any issues for the interconnect when sharing the same switch as the public network by using VLAN to separate the network?
RAC and Clusterware deployment best practices suggests that the interconnect (private connection) be deployed on a stand-alone, physically separate, dedicated switch. On big network the connections could be instable.
22. What is the Load Balancing
Advisory?
To assist in the balancing of application workload across designated resources, Oracle Database 10g Release 2 provides the Load Balancing Advisory. This Advisory monitors the current workload activity across the cluster and for each instance where a service is active; it provides a percentage value of how much of the total workload should be sent to this instance as well as service quality flag.
To assist in the balancing of application workload across designated resources, Oracle Database 10g Release 2 provides the Load Balancing Advisory. This Advisory monitors the current workload activity across the cluster and for each instance where a service is active; it provides a percentage value of how much of the total workload should be sent to this instance as well as service quality flag.
23. How many nodes are supported in a
RAC Database?
With 10g Release 2, we support 100 nodes in a cluster using Oracle Clusterware, and 100 instances in a RAC database. Currently DBCA has a bug where it will not go beyond 63 instances. There is also a documentation bug for the max-instances parameter. With 10g Release 1 the Maximum is 63.
With 10g Release 2, we support 100 nodes in a cluster using Oracle Clusterware, and 100 instances in a RAC database. Currently DBCA has a bug where it will not go beyond 63 instances. There is also a documentation bug for the max-instances parameter. With 10g Release 1 the Maximum is 63.
24. What is the Cluster Verification
Utiltiy (cluvfy)?
The Cluster Verification Utility (CVU) is a validation tool that you can use to check all the important components that need to be verified at different stages of deployment in a RAC environment.
The Cluster Verification Utility (CVU) is a validation tool that you can use to check all the important components that need to be verified at different stages of deployment in a RAC environment.
25. What versions of the database can
I use the cluster verification utility (cluvfy) with?
The cluster verification utility is release with Oracle Database 10g Release 2 but can also be used with Oracle Database 10g Release 1.
The cluster verification utility is release with Oracle Database 10g Release 2 but can also be used with Oracle Database 10g Release 1.
26. If I am using Vendor Clusterware
such as Veritas, IBM, Sun or HP, do I still need Oracle Clusterware to run
Oracle RAC 10g?
Yes. When certified, you can use Vendor Clusterware however you must still install and use Oracle Clusterware for RAC. Best Practice is to leave Oracle Clusterware to manage RAC. For details see Metalink Note 332257.1 and for Veritas SFRAC see 397460.1.
Yes. When certified, you can use Vendor Clusterware however you must still install and use Oracle Clusterware for RAC. Best Practice is to leave Oracle Clusterware to manage RAC. For details see Metalink Note 332257.1 and for Veritas SFRAC see 397460.1.
27. Is RAC on VMWare supported?
Yes.
Yes.
28. What is hangcheck timer used for
?
The hangcheck timer checks regularly the health of the system. If the system hangs or stop the node will be restarted automatically.
There are 2 key parameters for this module:
-> hangcheck-tick: this parameter defines the period of time between checks of system health. The default value is 60 seconds; Oracle recommends setting it to 30seconds.
-> hangcheck-margin: this defines the maximum hang delay that should be tolerated before hangcheck-timer resets the RAC node.
The hangcheck timer checks regularly the health of the system. If the system hangs or stop the node will be restarted automatically.
There are 2 key parameters for this module:
-> hangcheck-tick: this parameter defines the period of time between checks of system health. The default value is 60 seconds; Oracle recommends setting it to 30seconds.
-> hangcheck-margin: this defines the maximum hang delay that should be tolerated before hangcheck-timer resets the RAC node.
29. Is the hangcheck timer still
needed with Oracle RAC 10g?
Yes.
Yes.
30. What files can I put on Linux
OCFS2?
For optimal performance, you should only put the following files on Linux OCFS2:
- Datafiles
- Control Files
- Redo Logs
- Archive Logs
- Shared Configuration File (OCR)
- Voting File
- SPFILE
For optimal performance, you should only put the following files on Linux OCFS2:
- Datafiles
- Control Files
- Redo Logs
- Archive Logs
- Shared Configuration File (OCR)
- Voting File
- SPFILE
31. Is it possible to use ASM for the
OCR and voting disk?
No, the OCR and voting disk must be on raw or CFS (cluster file system).
No, the OCR and voting disk must be on raw or CFS (cluster file system).
32. Can I change the name of my
cluster after I have created it when I am using Oracle Clusterware?
No, you must properly uninstall Oracle Clusterware and then re-install.
No, you must properly uninstall Oracle Clusterware and then re-install.
33. What the O2CB is?
The O2CB is the OCFS2 cluster stack. OCFS2 includes some services. These services must be started before using OCFS2 (mount/ format the file systems).
The O2CB is the OCFS2 cluster stack. OCFS2 includes some services. These services must be started before using OCFS2 (mount/ format the file systems).
34. What the OCR file is used
for?
OCR is a file that manages the cluster and RAC configuration.
OCR is a file that manages the cluster and RAC configuration.
35. What the Voting Disk file is used
for?
The voting disk is nothing but a file that contains and manages information of all the node memberships.
The voting disk is nothing but a file that contains and manages information of all the node memberships.
36. What is the recommended method to
make backups of a RAC environment?
RMAN to make backups of the database, dd to backup your voting disk and
hard copies of the OCR file.
37. What command would you use to check
the availability of the RAC system?
crs_stat -t -v (-t -v are optional)
38. What is the minimum number of instances you need to have in order to create a RAC?
You can create a RAC with just one server.
39. Name two specific RAC background processes
RAC processes are: LMON, LMDx, LMSn, LKCx and DIAG.
crs_stat -t -v (-t -v are optional)
38. What is the minimum number of instances you need to have in order to create a RAC?
You can create a RAC with just one server.
39. Name two specific RAC background processes
RAC processes are: LMON, LMDx, LMSn, LKCx and DIAG.
40. Can you have many database versions
in the same RAC?
Yes, but Clusterware version must be greater than the greater database version.
Yes, but Clusterware version must be greater than the greater database version.
41. What was RAC previous name
before it was called RAC?OPS:
Oracle Parallel Server
42. What RAC component is used
for communication between instances?Private Interconnect.
43. What is the difference
between normal views and RAC views?A RAC view has the prefix ‘G’. For example, GV$SESSION instead
of V$SESSION
44. Which command will we use
to manage (stop, start) RAC services in command-line mode?
srvctl
srvctl
45. How many alert logs exist
in a RAC environment?
A- One for each instance.
A- One for each instance.
46. 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
47. How do you backup voting disk
#dd
if=voting_disk_name of=backup_file_name
48. How do I identify the
voting disk location
#crsctl query css
votedisk
49. How do I identify the OCR file
location
check
/var/opt/oracle/ocr.loc or /etc/ocr.loc ( depends upon platform)
or
#ocrcheck
or
#ocrcheck
50. 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.
ALL THE BEST
--------------------------------------------------------------------------------------------------------------
This comment has been removed by a blog administrator.
ReplyDelete