Oracle RAC

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.

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 Architecture
Background Processes

Oracle RAC Prerequisite Steps

Oracle RAC Installation Steps
Oracle Grid Infrastructure Install
Step-1 Download Software Updates & Apply
Step-2 Installation Option

Step-3 Installation Type


Step-4 Product Languages

Step-5 Grid Plug and Play

Step-6 Cluster Node Information


Step-7 Network Interface usage


Step-8 Storage option


Step-9 Create ASM Disk Group


Step-10 ASM Password

Step-11 Failure Isolation


Step-12 Operating System Groups


Step-13 Installation Location


Step-14 Create Inventory


Step-15 Prerequisite Checks


Step-16 Summary


Step-17 Install Product


Step-18 Finish (post execution scripts from root user)


Oracle RAC Post Installation Steps

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

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

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

how does Oracle RAC database differs than Normal single instance database in terms of Binaries and process

To turn on RAC
# link the oracle libraries
$ cd $ORACLE_HOME/rdbms/lib
$ make -f 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

RAC 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 availability.

Non RAC databases has single point of failure in case of hardware failure or server crash.

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?

crsd – Cluster Ready Service

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

 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.
CSS has three separate processes
1.) CSS daemon (ocssd):- The cssdagent process monitors the cluster and provides input/output fencing
2.) CSS Agent (cssdagent)
3.) CSS Monitor (cssdmonitor)
A cssdagent failure results in Oracle Clusterware restarting the node.

diskmon – Disk Monitor daemon
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
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 – 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
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
Is a helper daemon for the communications infrastructure

ctssd – Cluster time synchronization daemon
to manage the time syncrhonization between nodes, rather depending on NTP

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





/* Style Definitions */
{mso-style-name:”Table Normal”;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-fareast-font-family:”Times New Roman”;
mso-bidi-font-family:”Times New Roman”;


Name of the Process


Oracle High Availability Service


init, root

Cluster Ready Service (CRS)

Cluster Ready Services


Cluster Synchronization Service (CSS)

ocssd,cssd monitor, cssdagent

grid owner

Event Manager (EVM)

evmd, evmlogger

grid owner

Cluster Time Synchronization Service (CTSS)



Oracle Notification Service (ONS)

ons, eons

grid owner

Oracle Agent


grid owner

Oracle Root Agent



Grid Naming Service (GNS)



Grid Plug and Play (GPnP)


grid owner

Multicast domain name service (mDNS)


grid owner

8. What is startup sequence in Oracle 11g RAC? 11g RAC startup sequence?

Oracle Clusterware Sequenece Diagram

Grid Stack

This is about to understand the startup sequence of Grid Infrastructure daemons and its resources in 11gR2 RAC
OHASD Phase:-

•OHASD (Oracle High Availability Server Daemon) starts Firsts and it will start

OHASD Agent Phase:-

•OHASD Agent starts and in turn this will start


Grid interprocess communication daemon, used for monitoring cluster interconnect


Multicast DNS service It resolves DNS requests on behalf of GNS


The Grid Naming Service (GNS), a gateway between DNS and mdnsd, resolves DNS requests


Grid Plug and Play Daemon, Basically a profile similar like OCR contents stored in XML format in $GI_HOME/gpnp/profiles/<peer> etc., this is where used by OCSSD also to read the ASM disk locations to start up with out having ASM to be up, moreover this also provides the plug and play profile where this can be distributed across nodes to cluster



Evm service will be provided by evmd daemon, which is a information about events happening in cluster, stop node,start node, start instance etc.

  • cssdagent (cluster synchronization service agent), in turn starts


Cluster synchronization service daemon which manages node membership in the cluster


If cssd found that ocssd is down, it will reboot the node to protect the data integrity.

  • cssdmonitor (cluster synchronization service monitor), replaces oprocd and provides I/O fencing
  • OHASD orarootagent starts and in turn starts


Cluster ready services, which manages high availability of cluster resources , like stopping , starting, failing over etc.


disk monitor (diskdaemon monitor) provides I/O fencing for exadata storage


Cluster synchronization time services , provides Network time protocol services but manages its own rather depending on OS

CRSD Agent Phase:- crsd.bin starts two more agents

crsd orarootagent(Oracle root agent) starts and in turn this will start


Grid interprocess communication daemon, used for monitoring cluster interconnect

gns vip

Multicast DNS service It resolves DNS requests on behalf of GNS


Monitor the additional networks to provide HAIP to cluster interconnects

Scan vip

Monitor the scan vip, if found fail or unreachable failed to other node

Node vip

Monitor the node vip, if found fail or unreachable failed to other node

crsd oraagent(Oracle Agent) starts and in turn it will start (the same functionality in 11gr1 and 10g managed by racgmain and racgimon background process) which is now managed by crs Oracle agent itself.


ASM & disk groups

Start & monitor local asm instance


FAN feature, provides notification to interested client


FAN feature, provides notification to interested client

SCAN Listener

Start & Monitor scan listener

Node Listener

Start & monitor the node listener (rdbms?)

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?

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?

how 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

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.Database Listeners listen the request and then process further.

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

6.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:
◦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:
•–GPnP domain:

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


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


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 some of the background process that used in ASM?




Opens all device files as part of discovery and coordinates the rebalance activity


One or more slave processes that do the rebalance activity


Responsible for managing the disk-level activities such as drop or offline and advancing the ASM disk group compatibility


Marks ASM allocation units as stale when needed


One or more ASM slave processes forming a pool of connections to the ASM instance for exchanging messages


One or more parallel slave processes used in fetching data on clustered ASM installation from GV$ views

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

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

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

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

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

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

23. How to find Voting Disk location?

•To determine the location of the voting disk:

 cd $ORA_CRS_HOME/bin
 ./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).

24. How to find Location of OCR?

•cat /etc/oracle/ocr.loc


•#OCRCHECK (also about OCR integrity)

25. What are types of ASM Mirroring?

Disk Group Type

Supported Mirroring Levels

Default Mirroring Level

External redundancy

Unprotected (None)

Unprotected (None)

Normal redundancy

Two-wayThree-wayUnprotected (None)


High redundancy



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):

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.

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 global public
eth1 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.: /

29. How to change Public or VIP Address in RAC Cluster?

30. How to change Cluster interconnect in RAC?

On a single node in the cluster, add the new global interface specification:

$ oifcfg setif -global eth2/

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 netmask broadcast

Remove the former adapter/subnet specification and restart Clusterware:

$ oifcfgdelif -global eth1/
# crsctl start crs

31. 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]

32. How to check the node connectivity in Oracle Grid Infrastructure?

$ cluvfy comp nodecon -n all –verbose

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

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

35. What is 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 ( 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.

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. What are server pools in 11gr2?

38. What is policy managed databases in RAC?
39. What is Load balancing & how does it work?

40. Describe high level Steps to convert single instance to RAC?

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

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,

case study

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?

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.

The goal is application availability with the shortest disruption time possible.

When a node fails, the VIP associated with it is automatically failed over to some other node. When this occurs, the following things happen. Vip resources in CRS (

(1) VIP detects public network failure which generates a FAN event.  ( A FAN event is an fast application notification event and ONS captures and publishes to the subscriber in RAC the subscriber can be listener)

(2) the new node re-arps (see arpa)  the world indicating a new MAC address for the IP.

(3) connected clients subscribing to FAN immediately receive ORA-3113 error or equivalent. Those not subscribing to FAN will eventually time out.

4) New connection requests rapidly traverse the tnsnames.ora address list skipping over the dead nodes, instead of having to wait on TCP-IP timeouts (default 10 mins)

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 and FAN. The easiest way to use FAN is to use an integrated client with Fast Connection Failover (FCF) such as JDBC, OCI, or ODP.NET.

46. Describe some rac wait events you experienced?

Events that start with “GCS%” and “gc%” are Cache Fusion-related waits.
In other word, they have to do with waits experienced in shipping current or
consistent-read versions of blocks across instances in a RAC cluster

Events that start with “ges%’ are related to Global Enqueue Services

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.


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

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

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

51. What kind of storage we can use for the shared clusterware files?

OCFS (Release 1 or 2)
– raw devices (In 11g It’s not supported)
– third party cluster filesystem such as GPFS or Veritas

52. What kind of storage we can use for the RAC database storage?
OCFS (Release 1 or 2)
– raw devices
– third party cluster filesystem such as GPFS or Veritas

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

54. What is an OCFS2?
The OCFS2 is the Oracle (version 2) Cluster File System which can be used for the Oracle Real Application Cluster.

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

Note: There are some platform specific limitations.

56. Do you know another Cluster Vendor?
HP Tru64 Unix, Veritas, Microsoft

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

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

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

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

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

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

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

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

65. 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 instables.

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

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

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

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

70. 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 ceritifed, 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.

71. 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 hung delay that should be tolerated before hangcheck-timer resets the RAC node.

72. Is the hangcheck timer still needed with Oracle RAC 10g?

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

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

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

75. What command would you use to check the availability of the RAC system?
crs_stat -t -v (-t -v are optional)

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

77. Name two specific RAC background processes
RAC processes are: LMON, LMDx, LMSn, LKCx and DIAG.

78. Can you have many database versions in the same RAC?
Yes, but Clusterware version must be greater than the greater database version.

79.What was RAC previous name before it was called RAC?
OPS: Oracle Parallel Server

80. What RAC component is used for communication between instances?
Private Interconnect.

81. What is the difference between normal views and RAC views?
RAC views has the prefix ‘G’. For example, GV$SESSION instead of V$SESSION

82. Which command will we use to manage (stop, start…) RAC services in command-line mode?

83. How many alert logs exist in a RAC environment?
One for each instance.

84. Which process is responsible for cache fusion mechanism?
Global cache service(GCS)

A read request from an instance for a block that was modified by another instance and not yet written to disk can be a request for either the current version of the block or for a read-consistent version. In either case, the Global Cache Service Processes (LMSn) transfer the block from the holding instance's cache to the requesting instance's cache over the interconnect.

85. If we perform a DML acivity in a 2 node RAC environment,if that node disconnect due to some reason,What will be the result?
The DML statement will execute successfully since Database is there on the shared device.

We neeed to write the callout functions using FAST APPLICATION NOTIFICATION (FAN) Notifications FOR RAC.The callout can be written in OCI, for example JAVA for dml failover to work.

If you are using TAF (Transparent Application failover) with RAC Than only: session(alter session is not) failover,select failover,pre-connect and Basic Failover are supported.

In Oracle 11g rel2:

Click to access app-failover-oracle-database-11g-173323.pdf

86. How do we backup OCR and Voting disk?


To make a backup copy of the voting disk, use the Linux dd command.

Perform this operation on every voting disk as needed where voting_disk_name is the name of the active voting disk and backup_file_name is the name of the file to which you want to back up the voting disk contents:

$dd if=voting_disk_name of=backup_file_name

If your voting disk is stored on a raw device, use the device name in place of voting_disk_name

For example:

dd if=/dev/sdd1 of=/tmp/voting.dmp

When you use the dd command for making backups of the voting disk,
the backup can be performed while the Cluster Ready Services (CRS) process is active; you do not need to stop the crsd.bin process before taking a backup of the voting disk


Viewing Available OCR Backups
To find the most recent backup of the OCR, on any node in the cluster, use the following command:

$ocrconfig -showbackup

Backing Up the OCR
Because of the importance of OCR information
Oracle recommends that you use the ocrconfig tool to make copies of the automatically created backup files at least once a day.

In addition to using the automatically created OCR backup files,
you should also export the OCR contents to a file before and after making significant configuration changes,
such as adding or deleting nodes from your environment, modifying Oracle Clusterware resources, or creating a database.
Exporting the OCR contents to a file lets you restore the OCR if your configuration changes cause errors.

For example, if you have unresolvable configuration problems, or if you are unable to restart your cluster database after such changes, then you can restore your configuration by importing the saved OCR content from the valid configuration

To export the contents of the OCR to a file
use the following command, where backup_file_name is the name of the OCR backup file you want to create:

$ocrconfig -export backup_file_name

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

88. What is Voting disk?

Voting Disk is shared disk component. Manage information of shared storage and node membership information .
Oracle Clusterware uses the voting disk to determine which instances are members of a cluster. For high availability,
Oracle recommends that you have a minimum of three voting disks.

If you configure a single voting disk, then you should use external mirroring to provide redundancy. You can have up
to 32 voting disks in your cluster.It is accessed by the all nodes during cluster operations. Every node pings Voting
Disk, if will fail then the node is evicted from cluster.

89. voting disk administration.

view voting disk location

crsctl query css votedisk

To add a voting disk:
crsctl add css votedisk path

To remove a voting disk:
crsctl delete css votedisk path

Backing Up Voting Disks
dd if=voting_disk_name of=backup_file_name

dd if=/dev/sdd1 of=/tmp/voting.dmp

Recovering Voting Disks

If a voting disk is damaged, and no longer usable by Oracle Clusterware,
you can recover the voting disk if you have a backup file.
Run the following command to recover a voting disk where backup_file_name
is the name of the voting disk backup file and voting_disk_name is the name of the active voting disk:

dd if=backup_file_name of=voting_disk_name

90. What is OCR?

OCR means Oracle Cluster Registry. Manages cluster and Oracle RAC database configuration information.

It is also shared disk component. It must be accessed by all nodes in cluster environment

It also keeps information of Which database instance run on which nodes and which service runs on which database.

The daemon OCSSd manages the configuration info in OCR and maintains the changes to cluster in the registry.

Oracle RAC environments do not support more than two OCRs, a primary OCR and a secondary OCR.(Mirroring)

91. OCR Administration

To find the most recent backup of the OCR, on any node in the cluster, use the following command:
ocrconfig -showbackup

ocrconfig -export backup_file_name

Review the contents
$ ocrdump -backupfile file_name

As a root user
# crsctl stop crs
# ocrconfig -restore file_name
# crsctl start crs

Recovering the OCR from an OCR Export File
#crsctl stop crs
#ocrconfig -import file_name
#crsctl start crs

92. What is SCAN?

Single Client Access Name (SCAN) is 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.

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

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

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

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

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

97. Do you have any idea of load balancing in application?How load balancing is done?

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

98. What is GRD?

GRD stands for Global Resource Directory.
The GES and GCS maintains records of the statuses of each datafile and each cached block using global resource directory.
This process is referred to as cache fusion and helps in data integrity.

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

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

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

102. Give details on LMON
This process monitors global enqueue and resources across the cluster and performs global enqueue recovery operations.
This is called as Global Enqueue Service Monitor.

103. Give details on LMD
This process is called as global enqueue service daemon.
This process manages incoming remote resource requests within each instance.

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

105. Give details on LCK0
This process is called as Instance enqueue process.
This process manages non-cache fusion resource requests such as library and row cache requests.

106. Give details on RMSn
This process is called as Oracle RAC management process.
These processes perform manageability tasks for Oracle RAC.
Tasks include creation of resources related Oracle RAC when new instances are added to the cluster.

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

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

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

110. Can we use crossover cables with Oracle Clusterware interconnects?
No, crossover cables are not supported with Oracle Clusterware intercnects.

111. What is the use of cluster interconnect?
Cluster interconnect is used by the Cache fusion for inter instance communication.

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

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

114. What are the characteristics controlled by Oracle services feature?
The charateristics include a
unique name,
workload balancing and
failover options,and
high availability characteristics.

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

116. What is a virtual IP address or VIP?
A virtual IP address or
VIP is an alternate IP address that the client connections use instead of the standard public IP address.
To configure VIP 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.

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

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

119. What are the administrative tools used for Oracle RAC environments?
Oracle RAC cluster can be administered as a
single image using OEM(Enterprise Manager),

120. 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
The query gives the instance number under INST_NUMBER column,host_:instancename under INST_NAME column.

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

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

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

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

125. 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:


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

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

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

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

129. When configuring the NIC cards and switch for a GigE Interconnect should it be set to FULL or Half duplex in Oracle RAC?
You must use Full Duplex for all network communication. Half Duplex means you can only either send OR receive at a time.

130. I want to use rconfig to convert a single instance to Oracle RAC but I am using raw devices in Oracle RAC. Does rconfig support RAW ?
No. rconfig supports ASM and shared file system only.

131. How many NICs do I need to implement Oracle RAC?
At minimum you need 2: external (public), interconnect (private).
When storage for Oracle RAC is provided by Ethernet based networks (e.g. NAS/nfs or iSCSI),
you will need a third interface for I/O so a minimum of 3.
Anything else will cause performance and stability problems under load.
From an HA perspective, you want these to be redundant, thus needing a total of 6.

132. Can I run Oracle RAC 10g with Oracle RAC 11g?
Yes. The Oracle Clusterware should always run at the highest level.
With Oracle Clusterware
11g, you can run both Oracle RAC 10g and Oracle RAC 11g databases. If you are using ASM
for storage, you can use either Oracle Database 10g ASM or Oracle Database 11g ASM
however to get the 11g features, you must be running Oracle Database 11g ASM. It is
recommended to use Oracle Database 11g ASM.

133. How do I check for network problems on my interconect?
1. Confirm that full duplex is set correctly for all interconnect links on all interfaces on both ends. Do not rely on auto negotiation.
2. ifconfig -a will give you an indication of collisions/errors/overuns and dropped packets
3. netstat -s will give you a listing of receive packet discards, fragmentation and reassembly errors for IP and UDP.
4. Set the udp buffers correctly
5. Check your cabling
Note: If you are seeing issues with RAC, RAC uses UDP as the protocol. Oracle Clusterware uses TCP/IP.

134. How do I use DBCA in silent mode to set up RAC and ASM?
If you already have an ASM instance/diskgroup then the following creates a RAC database
on that diskgroup (run as the Oracle user):

$ORACLE_HOME/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc –
gdbName $SID -sid $SID -sysPassword $PASSWORD -systemPassword $PASSWORD –
sysmanPassword $PASSWORD -dbsnmpPassword $PASSWORD -emConfiguration LOCAL –
storageType ASM -diskGroupName $ASMGROUPNAME -datafileJarLocation $ORACLE_HOME/
assistants/dbca/templates -nodeinfo $NODE1,$NODE2 -characterset WE8ISO8859P1 –
obfuscatedPasswords false -sampleSchema false -oratabLocation /etc/oratab

The following will create a ASM instance & 1 diskgroup (run as the ASM/Oracle user)

$ORA_ASM_HOME/bin/dbca -silent -configureASM -gdbName NO -sid NO -emConfiguration
NONE -diskList $ASM_DISKS -diskGroupName $ASMGROUPNAME -nodeinfo
$NODE1,$NODE2 -obfuscatedPasswords false -oratabLocation /etc/oratab -asmSysPassword
where ASM_DISKS = ‘/dev/sda1,/dev/sdb1′ and ASMREDUNDANCY=’NORMAL’

135. Does Sun Solaris have a multipathing solution ?
Sun Solaris includes an inherent Multipathing tool: MPXIO – this is part of Solaris.
You need to have the SanFoundation Kit installed (newest version).
Please, be aware that the machines are installed following the EIS-standard.
This is a quality assurance standard introduced by Sun that mainly takes care that you always have the newest patches.
MPXIO is free of charge and comes with Solaris 8,9,10.
BTW, if you have a Sun LVM, it would use this feature indirectly. Therefore, Sun confirmed that MPXIO will work with RAWs.

136. What is the maximum number of nodes I can have in my cluster if I am using OCFS2?
Theroetically you can have up to 255 however it has been tested with up to 16 nodes.

136. How do I protect the OCR and Voting in case of media failure?
In Oracle Database 10g Release 1 the OCR and Voting device are not mirrored within
Oracle,hence both must be mirrored via a storage vendor method, like RAID 1.

Starting with Oracle Database 10g Release 2 Oracle Clusterware will multiplex the OCR and
Voting Disk (two for the OCR and three for the Voting).

137. Is it possible to use ASM for the OCR and voting disk?
Yes. As of Oracle Real Application Clusters 11g Release 2, the OCR and Voting Disks can be
stored in ASM. This is the recommended best practice for this release.

For releases prior to 11g Release 2, the OCR and voting disk must be on RAW devices or
CFS (cluster filesystem).

RAW devices (or block devices on Linux) is the best practice for Oracle RAC 10g or Oracle
RAC 11g Release 1.

138. How much I/O activity should the voting disk have?
Approximately 2 read + 1 write per second per node.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.