Voting Disk Management in RAC

What is voting disk ?

Voting disk is a file that manages information about node membership.

It is located on the shared cluster system or a shared raw device file.

Its primary purpose is to help in a situation where the private network communication fails.

CSS (Cluster Synchronization Service) is the service that determines which nodes in the cluster are available via communication through a dedicated private network and with a voting disk used as a secondary communication mechanism. CSS service is sending heartbeat messages through network and voting disk.

In a situation, when due to private network failure, nodes are not able to synchronize I/O to the shared disks, Therefore some of the nodes will be go to offline stage. At this time VOTING DISK used to communicate the node and trace information, which nodes is in offline stage.

Without the voting disk, it’s difficult to know, whether nodes are facing network problem or nodes are no longer available.

If we are not using voting disk, then due to network failure, nodes are neither able to communicate with each other nor synchronize with database, this situation is called as cluster SPLIT-BRAIN problem.

When any node is not able to send heartbeat to voting disk, then it will reboot itself.

To list currently configured voting disk

Go to $ORA_CRS_HOME/bin directory

[oracle@rac1 bin]$ ./crsctl query css votedisk

0.     0    /apps/oracle/oradata/votingdisk

located 1 votedisk(s).

Backup voting disk :

Run the following command to back up a voting disk. 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

[oracle@rac1 bin]$ dd if=/apps/oracle/oradata/votingdisk  of=/home/oracle/vote/vote.dmp bs=4k

1309289+1 records in

1309289+1 records out

( vote.dmp is the name of backup file of voting disk)

Recovering Voting Disks

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

[oracle@rac1 bin]$ dd if=/home/oracle/vote/vote.dmp  of=/apps/oracle/oradata/votingdisk bs=4k

1309289+1 records in

1309289+1 records out

Management of voting disk:

If you have multiple voting disks, then you can remove the voting disks and add them back into your environment using the crsctl delete css votedisk path and crsctl add css votedisk path commands respectively, where path is the complete path of the location on which the voting disk resides.

Changing the Voting Disk Configuration after Installing Real Application Clusters

You can dynamically add and remove voting disks after installing Real Application Clusters.Run the following command as the root user to add a voting disk:

crsctl add css <new_voting_disk_path> path

Run the following command as the root user to remove a voting disk:

crsctl delete css votedisk <old_voting_disk_path>

Note: If oracle clusterware is down on all nodes, then use –force option.

#crsctl add css votedisk <new_voting_disk_path>  -force

#crsctl delete css votedisk <old_voting_disk_path> -force

About the Author Brijesh

I'm 10gR2 RAC Oracle certified professional, working from last 6 year in the field of database.

Leave a Comment:

12 comments
Frank says July 8, 2009

You can use this for Windows platforms as well:

%ORACLE_HOME%\bin\ocopy.exe \\.\votedsk# %FILES_LOC%\votedisk1_%HOST%_%YYYYMMDD%%HHSS%.bak >> %IND_LOG%\%HOST%_vd_backup_%YYYYMMDD%.log

Reply
Blogroll Report 03/07/2009 – 10/07/2006 « Coskan’s Approach to Oracle says July 10, 2009

[…] Brijesh Dubey – Voting Disk Management in RAC […]

Reply
Maheswara Rao says July 15, 2009

Great. Very clearly explained on Voting Disk.

Reply
Bill Shi says August 20, 2009

Hi Brijesh Dubey,

Thanks for your great explanation on RAC voting disk.

I think there might a very little typo in your post:

“Run the following command as the root user to add a voting disk:

crsctl add css path”

I think it should be:
“crsctl add css votedisk “.

Best Regards,
Bill

Reply
Ram says August 26, 2009

Hello Brijesh,

Do we need to bring down cluster services while taking backup of voting disk and ocr files.

Thanks
Ram

Reply
Brijesh says August 27, 2009

Hi! Ram

For voting disk backup, you no need to bring down the node. You can take hot backup of votedisk using dd command.
Old backup of voting disk will work fine,until you are not going to make any changes in RAC architecture.

For OCR , you have to shutdown clusterware services before taking external backup using “export ” command, otherwise you can take copy of OCR file, which is created automatically.

To know more about OCR backup, you can refer another article:
http://onlineappsdba.com/index.php/2009/06/09/backup-and-recovery-of-oracle-clusterware/

Reply
Sam says September 18, 2009

Hello Brijesh,
Great article. I’m just wondering why the use of dd? If the files are on OCFS2 is dd still required?
thanks
Sam

Reply
MarcoV says February 11, 2010

cp is sufficient on OCFS2 to backup your voting disk as well as OCR file

Reply
Suresh says June 1, 2011

Hi Brijesh,

Thanks for the post and good explanantion.

I have a couple of doubts that were sitting in my mind for a long time.

1.What happens if I lost OCR or Voting disk when my cluster is running?
2.Does the entire cluster need to be down to restore the OCR and Voting disk?

Thanks,
Suresh

Reply
asif Khan says May 30, 2012

Brijesh – Thank you for taking time out and posting such a good informative post

Reply
kapil Goyal says October 14, 2015

Clearly explained .Easy to understand in one go

Reply
Thareesha says March 12, 2019

How can I identify when the voting disk has got offline

Reply
Add Your Reply

Not found