Voting files manage information about node membership. OCR is a system that manages cluster and Oracle Real Application Clusters (Oracle RAC) database configuration information. A quorum failure group is a special type of failure group and disks in these failure groups do not contain user data. A quorum failure group is not considered when determining redundancy requirements in respect to storing user data. However, a quorum failure group counts when mounting a disk group.

A special type of failure group has been introduced in ASM 11.2, and it’s called a quorum failure
This type of failure group is used in the context of extended distance clusters, when the voting
Files are deployed in ASM. A quorum failure group does not contain user data, and it does not count for
Disk group redundancy requirements with stretched clusters, we need at least three voting files, one on each site plus a third that is normally acting via NFS.

Our ASM Diskgroups consist of only 2 ASM Disks respectively only 2 failgroups like with Extended RAC! Therefore, the new quorum failgroup clause was introduced:

In addition, OCR is stored in the form of asmfile in the DG, votedisk in the DG can not find the real documents

# ./crsctl query css votedisk
## STATE File Universal Id File Name Disk group
------- ----------------- --------- ---------
1. ONLINE 64a6332cd1ad4fd3bfce95ca38bf18f8 (ORCL: ASMDISK1)

experiment procedure:

SQL> CREATE DISKGROUP DATA2 NORMAL REDUNDANCY
FAILGROUP fg1 DISK 'ORCL: ASMDISK3'
FAILGROUP fg2 DISK 'ORCL: ASMDISK4'
QUORUM FAILGROUP fg3 DISK 'ORCL: ASMDISK5'
ATTRIBUTE 'compatible.asm' = '11 .2.0.0.0 ';

The failgroup fg3 above needs only one small Disk (300 MB should be on the safe side here, since the Voting File is only about 280 MB in size) to keep one Mirror of the Voting File. fg1 and fg2 will contain each one Voting File and all the other stripes of the Database Area as well, but fg3 will only get that one Voting File.

I created through the graphical interface, where the order is restored.

SQL> select a.GROUP_NUMBER, b.name group_name, a.DISK_NUMBER, a.PATH, a.TOTAL_MB, a.FREE_MB, a.failgroup_type
from v$asm_disk a, v$asm_diskgroup b where a.group_number = b.group_number and a.group_number = 1;

GROUP_NUMBER GROUP_NAME DISK_NUMBER PATH TOTAL_MB FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- ------------ -------- -------- --------------
1 DATA2 0 ORCL:ASMDISK3 2047 1952 REGULAR
1 DATA2 1 ORCL:ASMDISK4 2047 1952 REGULAR
1 DATA2 2 ORCL:ASMDISK5 2047 2045 QUORUM
# ./crsctl replace votedisk +DATA2
Successful addition of voting disk 64a6332cd1ad4fd3bfce95ca38bf18f8.
Successful addition of voting disk 3d3a807e0fa14ff2bf6b6609788e1d1a.
Successful addition of voting disk b030035ea4894fc0bfba8f6b76ae5513.
Successful deletion of voting disk 1e137cab54294f6bbfe173e129f744b2.
Successfully replaced voting disk group with +DATA2.
CRS-4266: Voting file (s) successfully replaced
# ./crsctl query css votedisk
## STATE File Universal Id File Name Disk group
------- ----------------- --------- ---------
1. ONLINE 64a6332cd1ad4fd3bfce95ca38bf18f8 (ORCL: ASMDISK5)
2. ONLINE 3d3a807e0fa14ff2bf6b6609788e1d1a (ORCL: ASMDISK3)
3. ONLINE b030035ea4894fc0bfba8f6b76ae5513 (ORCL: ASMDISK4)
Located 3 voting disk (s).
SQL> select a.GROUP_NUMBER, b.name group_name, a.DISK_NUMBER, a.PATH, a.TOTAL_MB, a.FREE_MB, a.failgroup_type
from v$asm_disk a, v$asm_diskgroup b where a.group_number = b.group_number and a.group_number = 1;

GROUP_NUMBER GROUP_NAME DISK_NUMBER PATH TOTAL_MB FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- ------------ -------- -------- --------------
1 DATA2 0 ORCL:ASMDISK3 2047 1952 REGULAR
1 DATA2 1 ORCL:ASMDISK4 2047 1952 REGULAR
1 DATA2 2 ORCL:ASMDISK5 2047 2013 QUORUM

Leave a Reply

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