Guenadi N Jilevski's Oracle BLOG

Oracle RAC, DG, EBS, DR and HA DBA BLOG

Fresh Oracle 11.2.0.2 Grid Infrastructure Installation PRVF-5150 PRVF-5184

Fresh Oracle 11.2.0.2 Grid Infrastructure Installation PRVF-5150 PRVF-5184

Oracle 11gR2 Grid Infrastructure installation version 11.2.0.1 is covered here. Linux installation is covered here. The prerequisites for the Oracle 11gR2 installation are described here. Setting up a VMware clusters for Oracle 11gR2 installation is covered here.

The article will not cover a detail step-by-step installation of 11.2.0.2 GI installation as it is similar to 11.2.0.1. Using runcluvfy confirmed that the prerequisites for Oracle GI and RAC are met. Using the OUI from GI 11.2.0.1 also confirmed that the installation prerequisites checks. For the output of the runcluvfy output see the Annex.

However, during a fresh installation of 11.2.0.2 Oracle GI following the 11.2.0.1 document the following errors were encountered, that is, PRVF-5150 and PRVF-5184 while executing the prerequisites checks.

If I use /dev/oracleasm/DISK* instead of ORCL:DISK* as a search patch I get the following error PRVF-5184.

Apparently there is something with the OUI/cluvfy in regards to Udev that is buggy or not documented.

The Oracle® Database Readme 11g Release 2 (11.2) suggests a bug 10044507.

I skipped the prerequisite checks selecting Ignore All check box and pressing Install button. Following the concepts for the 11.2.0.1 install the Oracle GI 11.2.0.2 installation succeeded.

MOS shed some light as well: PRVF-5449 : Check of Voting Disk location “ORCL:(ORCL:)” failed [ID 1267569.1] See Johan Westerduin comment.

Annex


[oracle@raclinux1 grid]$ ./runcluvfy.sh stage -pre crsinst -n raclinux1,raclinux2

Performing pre-checks for cluster services setup

Checking node reachability...
Node reachability check passed from node "raclinux1"
Checking user equivalence...
User equivalence check passed for user "oracle"

Checking node connectivity...

Checking hosts config file...

Verification of the hosts config file successful

Node connectivity passed for subnet "10.0.2.0" with node(s) raclinux2,raclinux1

ERROR:
PRVF-7617 : Node connectivity between "raclinux1 : 10.0.2.15" and "raclinux2 : 10.0.2.15" failed
TCP connectivity check failed for subnet "10.0.2.0"

Node connectivity passed for subnet "192.168.56.0" with node(s) raclinux2,raclinux1
TCP connectivity check passed for subnet "192.168.56.0"

Node connectivity passed for subnet "10.10.20.0" with node(s) raclinux2,raclinux1
TCP connectivity check passed for subnet "10.10.20.0"

Node connectivity passed for subnet "192.168.20.0" with node(s) raclinux2,raclinux1
TCP connectivity check passed for subnet "192.168.20.0"
Interfaces found on subnet "10.0.2.0" that are likely candidates for VIP are:
raclinux2 eth0:10.0.2.15
raclinux1 eth0:10.0.2.15

Interfaces found on subnet "192.168.56.0" that are likely candidates for a private interconnect are:
raclinux2 eth1:192.168.56.102
raclinux1 eth1:192.168.56.101

Node connectivity check failed
Checking ASMLib configuration.
Check for ASMLib configuration passed.
Total memory check passed
Available memory check passed
Swap space check passed
Free disk space check passed for "raclinux2:/tmp"
Free disk space check passed for "raclinux1:/tmp"
Check for multiple users with UID value 1100 passed
User existence check passed for "oracle"
Group existence check passed for "oinstall"
Group existence check passed for "dba"
Membership check for user "oracle" in group "oinstall" [as Primary] passed
Membership check for user "oracle" in group "dba" passed
Run level check passed
Hard limits check passed for "maximum open file descriptors"
Soft limits check passed for "maximum open file descriptors"
Hard limits check passed for "maximum user processes"
Soft limits check passed for "maximum user processes"
System architecture check passed
Kernel version check passed
Kernel parameter check passed for "semmsl"
Kernel parameter check passed for "semmns"
Kernel parameter check passed for "semopm"
Kernel parameter check passed for "semmni"
Kernel parameter check passed for "shmmax"
Kernel parameter check passed for "shmmni"
Kernel parameter check passed for "shmall"
Kernel parameter check passed for "file-max"
Kernel parameter check passed for "ip_local_port_range"
Kernel parameter check passed for "rmem_default"
Kernel parameter check passed for "rmem_max"
Kernel parameter check passed for "wmem_default"
Kernel parameter check passed for "wmem_max"
Kernel parameter check passed for "aio-max-nr"
Package existence check passed for "make-3.81( x86_64)"
Package existence check passed for "binutils-2.17.50.0.6( x86_64)"
Package existence check passed for "gcc-4.1.2 (x86_64)( x86_64)"
Package existence check passed for "libaio-0.3.106 (x86_64)( x86_64)"
Package existence check passed for "glibc-2.5-24 (x86_64)( x86_64)"
Package existence check passed for "compat-libstdc++-33-3.2.3 (x86_64)( x86_64)"
Package existence check passed for "elfutils-libelf-0.125 (x86_64)( x86_64)"

WARNING:
PRVF-7584 : Multiple versions of package "elfutils-libelf-devel" found on node raclinux1: elfutils-libelf-devel-0.137-3.el5 (x86_64),elfutils-libelf-devel-0.137-3.el5 (i386)
Package existence check passed for "elfutils-libelf-devel-0.125( x86_64)"
Package existence check passed for "glibc-common-2.5( x86_64)"
Package existence check passed for "glibc-devel-2.5 (x86_64)( x86_64)"
Package existence check passed for "glibc-headers-2.5( x86_64)"
Package existence check passed for "gcc-c++-4.1.2 (x86_64)( x86_64)"
Package existence check passed for "libaio-devel-0.3.106 (x86_64)( x86_64)"
Package existence check passed for "libgcc-4.1.2 (x86_64)( x86_64)"
Package existence check passed for "libstdc++-4.1.2 (x86_64)( x86_64)"
Package existence check passed for "libstdc++-devel-4.1.2 (x86_64)( x86_64)"
Package existence check passed for "sysstat-7.0.2( x86_64)"
Package existence check passed for "ksh-20060214( x86_64)"
Check for multiple users with UID value 0 passed
Current group ID check passed

Starting Clock synchronization checks using Network Time Protocol(NTP)...

NTP Configuration file check started...
No NTP Daemons or Services were found to be running

Clock synchronization check using Network Time Protocol(NTP) passed

Core file name pattern consistency check passed.

User "oracle" is not part of "root" group. Check passed
Default user file creation mask check passed
Checking consistency of file "/etc/resolv.conf" across nodes

File "/etc/resolv.conf" does not have both domain and search entries defined
domain entry in file "/etc/resolv.conf" is consistent across nodes
search entry in file "/etc/resolv.conf" is consistent across nodes
The DNS response time for an unreachable node is within acceptable limit on all nodes

File "/etc/resolv.conf" is consistent across nodes

Time zone consistency check passed

Starting check for Huge Pages Existence ...

Check for Huge Pages Existence passed

Starting check for Hardware Clock synchronization at shutdown ...

Check for Hardware Clock synchronization at shutdown passed

Pre-check for cluster services setup was unsuccessful.
Checks did not pass for the following node(s):
raclinux1 : 10.0.2.15
[oracle@raclinux1 grid]$
[oracle@raclinux1 grid]$ ./runcluvfy.sh stage -pre crsinst -n raclinux1,raclinux2 -verbose

Performing pre-checks for cluster services setup

Checking node reachability...

Check: Node reachability from node "raclinux1"
Destination Node                      Reachable?
------------------------------------  ------------------------
raclinux1                             yes
raclinux2                             yes
Result: Node reachability check passed from node "raclinux1"
Checking user equivalence...

Check: User equivalence for user "oracle"
Node Name                             Comment
------------------------------------  ------------------------
raclinux2                             passed
raclinux1                             passed
Result: User equivalence check passed for user "oracle"

Checking node connectivity...

Checking hosts config file...
Node Name     Status                    Comment
------------  ------------------------  ------------------------
raclinux2     passed
raclinux1     passed

Verification of the hosts config file successful
Interface information for node "raclinux2"
Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0   10.0.2.15       10.0.2.0        0.0.0.0         10.0.2.2        08:00:27:9C:41:1A 1500
eth1   192.168.56.102  192.168.56.0    0.0.0.0         10.0.2.2        08:00:27:3A:50:B2 1500
eth2   10.10.20.22     10.10.20.0      0.0.0.0         10.0.2.2        08:00:27:CA:35:14 1500
eth3   192.168.20.22   192.168.20.0    0.0.0.0         10.0.2.2        08:00:27:B1:72:31 1500
Interface information for node "raclinux1"
Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0   10.0.2.15       10.0.2.0        0.0.0.0         10.0.2.2        08:00:27:97:73:42 1500
eth1   192.168.56.101  192.168.56.0    0.0.0.0         10.0.2.2        08:00:27:A8:70:2A 1500
eth2   192.168.20.21   192.168.20.0    0.0.0.0         10.0.2.2        08:00:27:BF:C3:12 1500
eth3   10.10.20.21     10.10.20.0      0.0.0.0         10.0.2.2        08:00:27:68:35:9F 1500

Interface information for node "raclinux1"
Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0   10.0.2.15       10.0.2.0        0.0.0.0         10.0.2.2        08:00:27:97:73:42 1500
eth1   192.168.56.101  192.168.56.0    0.0.0.0         10.0.2.2        08:00:27:A8:70:2A 1500
eth2   192.168.20.21   192.168.20.0    0.0.0.0         10.0.2.2        08:00:27:BF:C3:12 1500
eth3   10.10.20.21     10.10.20.0      0.0.0.0         10.0.2.2        08:00:27:68:35:9F 1500
Check: Node connectivity of subnet "10.0.2.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux2[10.0.2.15]            raclinux1[10.0.2.15]            yes
Result: Node connectivity passed for subnet "10.0.2.0" with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet "10.0.2.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux1:10.0.2.15             raclinux2:10.0.2.15             failed

ERROR:
PRVF-7617 : Node connectivity between "raclinux1 : 10.0.2.15" and "raclinux2 : 10.0.2.15" failed
Result: TCP connectivity check failed for subnet "10.0.2.0"
Check: Node connectivity of subnet "192.168.56.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux2[192.168.56.102]       raclinux1[192.168.56.101]       yes
Result: Node connectivity passed for subnet "192.168.56.0" with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet "192.168.56.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux1:192.168.56.101        raclinux2:192.168.56.102        passed
Result: TCP connectivity check passed for subnet "192.168.56.0"
Check: Node connectivity of subnet "10.10.20.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux2[10.10.20.22]          raclinux1[10.10.20.21]          yes
Result: Node connectivity passed for subnet "10.10.20.0" with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet "10.10.20.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux1:10.10.20.21           raclinux2:10.10.20.22           passed
Result: TCP connectivity check passed for subnet "10.10.20.0"
Check: Node connectivity of subnet "192.168.20.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux2[192.168.20.22]        raclinux1[192.168.20.21]        yes
Result: Node connectivity passed for subnet "192.168.20.0" with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet "192.168.20.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ----------------
raclinux1:192.168.20.21         raclinux2:192.168.20.22         passed
Result: TCP connectivity check passed for subnet "192.168.20.0"
Interfaces found on subnet "10.0.2.0" that are likely candidates for VIP are:
raclinux2 eth0:10.0.2.15
raclinux1 eth0:10.0.2.15

Interfaces found on subnet "192.168.56.0" that are likely candidates for a private interconnect are:
raclinux2 eth1:192.168.56.102
raclinux1 eth1:192.168.56.101

Result: Node connectivity check failed
Checking ASMLib configuration.
Node Name                             Comment
------------------------------------  ------------------------
raclinux2                             passed
raclinux1                             passed
Result: Check for ASMLib configuration passed.

Check: Total memory
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     2.8773GB (3017016.0KB)    1.5GB (1572864.0KB)       passed
raclinux1     2.8773GB (3017016.0KB)    1.5GB (1572864.0KB)       passed
Result: Total memory check passed

Check: Available memory
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     2.71GB (2841676.0KB)      50MB (51200.0KB)          passed
raclinux1     2.6299GB (2757680.0KB)    50MB (51200.0KB)          passed
Result: Available memory check passed

Check: Swap space
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     4.8437GB (5079032.0KB)    2.8773GB (3017016.0KB)    passed
raclinux1     4.8437GB (5079032.0KB)    2.8773GB (3017016.0KB)    passed
Result: Swap space check passed

Check: Free disk space for "raclinux2:/tmp"
Path              Node Name     Mount point   Available     Required      Comment
----------------  ------------  ------------  ------------  ------------  ------------
/tmp              raclinux2     /             366.0488GB    1GB           passed
Result: Free disk space check passed for "raclinux2:/tmp"

Check: Free disk space for "raclinux1:/tmp"
Path              Node Name     Mount point   Available     Required      Comment
----------------  ------------  ------------  ------------  ------------  ------------
/tmp              raclinux1     /             356.672GB     1GB           passed
Result: Free disk space check passed for "raclinux1:/tmp"

Check: User existence for "oracle"
Node Name     Status                    Comment
------------  ------------------------  ------------------------
raclinux2     exists(1100)              passed
raclinux1     exists(1100)              passed

Checking for multiple users with UID value 1100
Result: Check for multiple users with UID value 1100 passed
Result: User existence check passed for "oracle"

Check: Group existence for "oinstall"
Node Name     Status                    Comment
------------  ------------------------  ------------------------
raclinux2     exists                    passed
raclinux1     exists                    passed
Result: Group existence check passed for "oinstall"

Check: Group existence for "dba"
Node Name     Status                    Comment
------------  ------------------------  ------------------------
raclinux2     exists                    passed
raclinux1     exists                    passed
Result: Group existence check passed for "dba"

Check: Membership of user "oracle" in group "oinstall" [as Primary]
Node Name         User Exists   Group Exists  User in Group  Primary       Comment
----------------  ------------  ------------  ------------  ------------  ------------
raclinux2         yes           yes           yes           yes           passed
raclinux1         yes           yes           yes           yes           passed
Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed

Check: Membership of user "oracle" in group "dba"
Node Name         User Exists   Group Exists  User in Group  Comment
----------------  ------------  ------------  ------------  ----------------
raclinux2         yes           yes           yes           passed
raclinux1         yes           yes           yes           passed
Result: Membership check for user "oracle" in group "dba" passed

Check: Run level
Node Name     run level                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     5                         3,5                       passed
raclinux1     5                         3,5                       passed
Result: Run level check passed

Check: Hard limits for "maximum open file descriptors"
Node Name         Type          Available     Required      Comment
----------------  ------------  ------------  ------------  ----------------
raclinux2         hard          65536         65536         passed
raclinux1         hard          65536         65536         passed
Result: Hard limits check passed for "maximum open file descriptors"

Check: Soft limits for "maximum open file descriptors"
Node Name         Type          Available     Required      Comment
----------------  ------------  ------------  ------------  ----------------
raclinux2         soft          65536         1024          passed
raclinux1         soft          65536         1024          passed
Result: Soft limits check passed for "maximum open file descriptors"

Check: Hard limits for "maximum user processes"
Node Name         Type          Available     Required      Comment
----------------  ------------  ------------  ------------  ----------------
raclinux2         hard          16384         16384         passed
raclinux1         hard          16384         16384         passed
Result: Hard limits check passed for "maximum user processes"

Check: Soft limits for "maximum user processes"
Node Name         Type          Available     Required      Comment
----------------  ------------  ------------  ------------  ----------------
raclinux2         soft          16384         2047          passed
raclinux1         soft          16384         2047          passed
Result: Soft limits check passed for "maximum user processes"

Check: System architecture
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     x86_64                    x86_64                    passed
raclinux1     x86_64                    x86_64                    passed
Result: System architecture check passed

Check: Kernel version
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     2.6.18-194.el5            2.6.18                    passed
raclinux1     2.6.18-194.el5            2.6.18                    passed
Result: Kernel version check passed

Check: Kernel parameter for "semmsl"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     250                       250                       passed
raclinux1     250                       250                       passed
Result: Kernel parameter check passed for "semmsl"

Check: Kernel parameter for "semmns"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     32000                     32000                     passed
raclinux1     32000                     32000                     passed
Result: Kernel parameter check passed for "semmns"

Check: Kernel parameter for "semopm"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     100                       100                       passed
raclinux1     100                       100                       passed
Result: Kernel parameter check passed for "semopm"

Check: Kernel parameter for "semmni"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     128                       128                       passed
raclinux1     128                       128                       passed
Result: Kernel parameter check passed for "semmni"

Check: Kernel parameter for "shmmax"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     1544712192                1544712192                passed
raclinux1     1544712192                1544712192                passed
Result: Kernel parameter check passed for "shmmax"

Check: Kernel parameter for "shmmni"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     4096                      4096                      passed
raclinux1     4096                      4096                      passed
Result: Kernel parameter check passed for "shmmni"

Check: Kernel parameter for "shmall"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     2097152                   2097152                   passed
raclinux1     2097152                   2097152                   passed
Result: Kernel parameter check passed for "shmall"

Check: Kernel parameter for "file-max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     6815744                   6815744                   passed
raclinux1     6815744                   6815744                   passed
Result: Kernel parameter check passed for "file-max"

Check: Kernel parameter for "ip_local_port_range"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     between 9000 & 65500      between 9000 & 65500      passed
raclinux1     between 9000 & 65500      between 9000 & 65500      passed
Result: Kernel parameter check passed for "ip_local_port_range"

Check: Kernel parameter for "rmem_default"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     262144                    262144                    passed
raclinux1     262144                    262144                    passed
Result: Kernel parameter check passed for "rmem_default"

Check: Kernel parameter for "rmem_max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     4194304                   4194304                   passed
raclinux1     4194304                   4194304                   passed
Result: Kernel parameter check passed for "rmem_max"

Check: Kernel parameter for "wmem_default"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     262144                    262144                    passed
raclinux1     262144                    262144                    passed
Result: Kernel parameter check passed for "wmem_default"

Check: Kernel parameter for "wmem_max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     1048586                   1048576                   passed
raclinux1     1048586                   1048576                   passed
Result: Kernel parameter check passed for "wmem_max"

Check: Kernel parameter for "aio-max-nr"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     1048576                   1048576                   passed
raclinux1     1048576                   1048576                   passed
Result: Kernel parameter check passed for "aio-max-nr"

Check: Package existence for "make-3.81( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     make-3.81-3.el5           make-3.81( x86_64)        passed
raclinux1     make-3.81-3.el5           make-3.81( x86_64)        passed
Result: Package existence check passed for "make-3.81( x86_64)"

Check: Package existence for "binutils-2.17.50.0.6( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6( x86_64)  passed
raclinux1     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6( x86_64)  passed
Result: Package existence check passed for "binutils-2.17.50.0.6( x86_64)"

Check: Package existence for "gcc-4.1.2 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     gcc-4.1.2-48.el5 (x86_64)  gcc-4.1.2 (x86_64)( x86_64)  passed
raclinux1     gcc-4.1.2-48.el5 (x86_64)  gcc-4.1.2 (x86_64)( x86_64)  passed
Result: Package existence check passed for "gcc-4.1.2 (x86_64)( x86_64)"

Check: Package existence for "libaio-0.3.106 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     libaio-0.3.106-5 (x86_64)  libaio-0.3.106 (x86_64)( x86_64)  passed
raclinux1     libaio-0.3.106-5 (x86_64)  libaio-0.3.106 (x86_64)( x86_64)  passed
Result: Package existence check passed for "libaio-0.3.106 (x86_64)( x86_64)"

Check: Package existence for "glibc-2.5-24 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     glibc-2.5-49 (x86_64)     glibc-2.5-24 (x86_64)( x86_64)  passed
raclinux1     glibc-2.5-49 (x86_64)     glibc-2.5-24 (x86_64)( x86_64)  passed
Result: Package existence check passed for "glibc-2.5-24 (x86_64)( x86_64)"

Check: Package existence for "compat-libstdc++-33-3.2.3 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     compat-libstdc++-33-3.2.3-61 (x86_64)  compat-libstdc++-33-3.2.3 (x86_64)( x86_64)  passed
raclinux1     compat-libstdc++-33-3.2.3-61 (x86_64)  compat-libstdc++-33-3.2.3 (x86_64)( x86_64)  passed
Result: Package existence check passed for "compat-libstdc++-33-3.2.3 (x86_64)( x86_64)"

Check: Package existence for "elfutils-libelf-0.125 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     elfutils-libelf-0.137-3.el5 (x86_64)  elfutils-libelf-0.125 (x86_64)( x86_64)  passed
raclinux1     elfutils-libelf-0.137-3.el5 (x86_64)  elfutils-libelf-0.125 (x86_64)( x86_64)  passed
Result: Package existence check passed for "elfutils-libelf-0.125 (x86_64)( x86_64)"

Check: Package existence for "elfutils-libelf-devel-0.125( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     elfutils-libelf-devel-0.137-3.el5  elfutils-libelf-devel-0.125( x86_64)  passed
raclinux1     elfutils-libelf-devel-0.137-3.el5  elfutils-libelf-devel-0.125( x86_64)  passed

WARNING:
PRVF-7584 : Multiple versions of package "elfutils-libelf-devel" found on node raclinux1: elfutils-libelf-devel-0.137-3.el5 (x86_64),elfutils-libelf-devel-0.137-3.el5 (i386)
Result: Package existence check passed for "elfutils-libelf-devel-0.125( x86_64)"

Check: Package existence for "glibc-common-2.5( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     glibc-common-2.5-49       glibc-common-2.5( x86_64)  passed
raclinux1     glibc-common-2.5-49       glibc-common-2.5( x86_64)  passed
Result: Package existence check passed for "glibc-common-2.5( x86_64)"

Check: Package existence for "glibc-devel-2.5 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     glibc-devel-2.5-49 (x86_64)  glibc-devel-2.5 (x86_64)( x86_64)  passed
raclinux1     glibc-devel-2.5-49 (x86_64)  glibc-devel-2.5 (x86_64)( x86_64)  passed
Result: Package existence check passed for "glibc-devel-2.5 (x86_64)( x86_64)"

Check: Package existence for "glibc-headers-2.5( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     glibc-headers-2.5-49      glibc-headers-2.5( x86_64)  passed
raclinux1     glibc-headers-2.5-49      glibc-headers-2.5( x86_64)  passed
Result: Package existence check passed for "glibc-headers-2.5( x86_64)"

Check: Package existence for "gcc-c++-4.1.2 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     gcc-c++-4.1.2-48.el5 (x86_64)  gcc-c++-4.1.2 (x86_64)( x86_64)  passed
raclinux1     gcc-c++-4.1.2-48.el5 (x86_64)  gcc-c++-4.1.2 (x86_64)( x86_64)  passed
Result: Package existence check passed for "gcc-c++-4.1.2 (x86_64)( x86_64)"

Check: Package existence for "libaio-devel-0.3.106 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     libaio-devel-0.3.106-5 (x86_64)  libaio-devel-0.3.106 (x86_64)( x86_64)  passed
raclinux1     libaio-devel-0.3.106-5 (x86_64)  libaio-devel-0.3.106 (x86_64)( x86_64)  passed
Result: Package existence check passed for "libaio-devel-0.3.106 (x86_64)( x86_64)"

Check: Package existence for "libgcc-4.1.2 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     libgcc-4.1.2-48.el5 (x86_64)  libgcc-4.1.2 (x86_64)( x86_64)  passed
raclinux1     libgcc-4.1.2-48.el5 (x86_64)  libgcc-4.1.2 (x86_64)( x86_64)  passed
Result: Package existence check passed for "libgcc-4.1.2 (x86_64)( x86_64)"

Check: Package existence for "libstdc++-4.1.2 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     libstdc++-4.1.2-48.el5 (x86_64)  libstdc++-4.1.2 (x86_64)( x86_64)  passed
raclinux1     libstdc++-4.1.2-48.el5 (x86_64)  libstdc++-4.1.2 (x86_64)( x86_64)  passed
Result: Package existence check passed for "libstdc++-4.1.2 (x86_64)( x86_64)"

Check: Package existence for "libstdc++-devel-4.1.2 (x86_64)( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     libstdc++-devel-4.1.2-48.el5 (x86_64)  libstdc++-devel-4.1.2 (x86_64)( x86_64)  passed
raclinux1     libstdc++-devel-4.1.2-48.el5 (x86_64)  libstdc++-devel-4.1.2 (x86_64)( x86_64)  passed
Result: Package existence check passed for "libstdc++-devel-4.1.2 (x86_64)( x86_64)"

Check: Package existence for "sysstat-7.0.2( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     sysstat-7.0.2-3.el5       sysstat-7.0.2( x86_64)    passed
raclinux1     sysstat-7.0.2-3.el5       sysstat-7.0.2( x86_64)    passed
Result: Package existence check passed for "sysstat-7.0.2( x86_64)"

Check: Package existence for "ksh-20060214( x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     ksh-20100202-1.el5        ksh-20060214( x86_64)     passed
raclinux1     ksh-20100202-1.el5        ksh-20060214( x86_64)     passed
Result: Package existence check passed for "ksh-20060214( x86_64)"

Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed

Check: Current group ID
Result: Current group ID check passed

Starting Clock synchronization checks using Network Time Protocol(NTP)...

NTP Configuration file check started...
Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle Cluster Time Synchronization Service(CTSS) can be used instead of NTP for time synchronization on the cluster nodes
No NTP Daemons or Services were found to be running

Result: Clock synchronization check using Network Time Protocol(NTP) passed

Checking Core file name pattern consistency...
Core file name pattern consistency check passed.

Checking to make sure user "oracle" is not in "root" group
Node Name     Status                    Comment
------------  ------------------------  ------------------------
raclinux2     does not exist            passed
raclinux1     does not exist            passed
Result: User "oracle" is not part of "root" group. Check passed

Check default user file creation mask
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
raclinux2     0022                      0022                      passed
raclinux1     0022                      0022                      passed
Result: Default user file creation mask check passed
Checking consistency of file "/etc/resolv.conf" across nodes

Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
search entry in file "/etc/resolv.conf" is consistent across nodes
Checking DNS response time for an unreachable node
Node Name                             Status
------------------------------------  ------------------------
raclinux2                             passed
raclinux1                             passed
The DNS response time for an unreachable node is within acceptable limit on all nodes

File "/etc/resolv.conf" is consistent across nodes

Check: Time zone consistency
Result: Time zone consistency check passed

Starting check for Huge Pages Existence ...

Check for Huge Pages Existence passed

Starting check for Hardware Clock synchronization at shutdown ...

Check for Hardware Clock synchronization at shutdown passed

Pre-check for cluster services setup was unsuccessful.
Checks did not pass for the following node(s):
raclinux1 : 10.0.2.15
[oracle@raclinux1 grid]$

October 3, 2010 Posted by | oracle | 12 Comments

Oracle RAC and Oracle ONE NODE RAC 11.2.0 and Transparent Application Failover (TAF)

Oracle RAC and Oracle ONE NODE RAC 11.2.0 and Transparent Application Failover (TAF)

In this article we will look at Transparent Application Failover (TAF) setup with RAC. The TAF concept is tested with Oracle RAC and will use it to test with Oracle ONE NODE RAC. We will setup a tnsnames.ora entry for TAF and verify the TAF failover while migrating with Omotion the instance to another node. Managing Oracle ONE NODE RAC was a subject of an earlier article. The tnanames.ora entry RUPTAF is in the ANNEX. We will run a query as shown in the ANNEX in testtaf.sql and monitor the fail over while the ONE NODE RAC instance is moved to another node of the cluster. Before and after the query execution we will check the failover_method , failover_type and failed_over from v$session. We will connect to RUP database (instance RUP_1 on raclinux2) and will use Omotion to move it to raclinux1 node.

  1. How is defined RUPTAF

RUPTAF=

  (DESCRIPTION =

  (ENABLE=BROKEN)

  (LOAD_BALANCE = OFF)

  (FAILOVER = ON)

    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux1-vip)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux2-vip)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = RUP)

      (FAILOVER_MODE =

         (TYPE=SELECT)

         (METHOD=BASIC)

         (BACKUP=RUP)

      )

    )

  )

2.   Setup RAC ONE NODE
 

We looked at managing Oracle ONE NODE RAC here. We will setup Oracle RAC ONE NODE database and will verify it.


[oracle@raclinux2 ~]$ raconeinit

Candidate Databases on this cluster:

 #      Database        RAC One Node    Fix Required

===     ========        ============    ============

[1]         RAC0             NO              N/A

[2]         RONE             NO              N/A

[3]          RUP             NO              N/A

Enter the database to initialize [1]: 3

Database RUP is now running on server raclinux2

Candidate servers that may be used for this DB: raclinux1 

Enter the names of additional candidate servers where this DB may run (space delimited): raclinux1

Please wait, this may take a few minutes to finish.......

Database configuration modified.

[oracle@raclinux2 ~]$

[oracle@raclinux2 ~]$ raconestatus

RAC One Node databases on this cluster:

  Database UP Fix Required        Current Server                    Candidate Server Names

  ======== == ============ ==============================  ========================================

       RUP  Y       N                           raclinux2                       raclinux2 raclinux1  

Available Free Servers: 

[oracle@raclinux2 ~]$

3.    Start a SQL statement and migrate the database with Omotion as in step 4


[oracle@raclinux2 admin]$ sqlplus system/sys1@ruptaf

SQL*Plus: Release 11.2.0.1.0 Production on Thu Sep 30 13:47:32 2010

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> @/u03/testtaf.sql

 SID   SERIAL# FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER

---- --------- ------------- --------------- -----------

  49       685 SELECT        BASIC           NO

INSTANCE_NAME

----------------

RUP_1

  COUNT(*)

----------

    623183

 SID   SERIAL# FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER

---- --------- ------------- --------------- -----------

  49         2 SELECT        BASIC           YES

INSTANCE_NAME

----------------

RUP_2

  COUNT(*)

----------

    623183

SQL>

4.     Migrate with Omotion the RUP database while the SQL query in step 3 is running


[oracle@raclinux2 ~]$ Omotion -v

RAC One Node databases on this cluster:

 #      Database                    Server                      Fix Required

===     ========        ==============================          ============

[1]          RUP                             raclinux2                N

Enter number of the database to migrate [1]: 1

Specify maximum time in minutes for migration to complete (max 30) [30]:

RUP Database is administrator managed .

RUP database is running in RUP server pool.

Current Running instance: RUP_1

Current Active Server       : raclinux2

Available Target Server(s) :

 #            Server            Available

===     ==================      =========

[1]              raclinux1          Y

Enter number of the target node [1]: 1

Omotion Started...

Starting target instance on raclinux1...

Migrating sessions...

Stopping source instance on raclinux2...

Omotion Completed...

=== Current Status ===

Database RUP is running on node raclinux1

[oracle@raclinux2 ~]$

[oracle@raclinux2 ~]$ Omotion

RAC One Node databases on this cluster:

 #      Database                    Server                      Fix Required

===     ========        ==============================          ============

[1]          RUP                             raclinux1                N

Enter number of the database to migrate [1]: 1

Specify maximum time in minutes for migration to complete (max 30) [30]: 30

Available Target Server(s) :

 #            Server            Available

===     ==================      =========

[1]              raclinux2          Y

Enter number of the target node [1]: 1

Omotion Started...

Starting target instance on raclinux2...

Migrating sessions...

Stopping source instance on raclinux1...

Omotion Completed...

=== Current Status ===

Database RUP is running on node raclinux2

[oracle@raclinux2 ~]$

Summary

We configured a TAF tnsnames.ora entry and used Omotion to move the RUP database to another node of the cluster. Using the defined RUPTAF connect string we confirmed that the session fails over to the second instance started by Omotion using the defined failover attributes.

Annex

The RUPTAF tnsnames.ora entry and the test script follows.


# in tnsnames.ora

RUPTAF=

  (DESCRIPTION =

  (ENABLE=BROKEN)

  (LOAD_BALANCE = OFF)

  (FAILOVER = ON)

    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux1-vip)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux2-vip)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = RUP)

      (FAILOVER_MODE =

         (TYPE=SELECT)

         (METHOD=BASIC)

         (BACKUP=RUP)

      )

    )

  )

[oracle@raclinux2 admin]$ cat /u03/testtaf.sql

        col sid format 999

        col serial# format 99999999

        col failover_type format a13

        col failover_method format a15

        col failed_over format a11

        select sid, serial#, failover_type, failover_method, failed_over from v$session where username ='SYSTEM';

        select instance_name from v$instance;

        select count(*) from

        (

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source

        );

        col sid format 999

        col serial# format 99999999

        col failover_type format a13

        col failover_method format a15

        col failed_over format a11

        select sid, serial#, failover_type, failover_method, failed_over from v$session where username ='SYSTEM';

        select instance_name from v$instance;

        select count(*) from

        (

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source union

         select * from dba_source

        );

[oracle@raclinux2 admin]$

October 3, 2010 Posted by | oracle | 1 Comment

Multiple OCRs and vote disks on ASM in Oracle 11gR2

Multiple OCRs and vote disks on ASM in Oracle 11gR2

Edited: 3-August-2012

Oracle Clusterware used to provide installation option for multiple locations for the OCR and vote disks prior to 11gR2. In Oracle 11gR2 ASM disk groups are used to store the OCR and vote disks. While we can use the mirroring capabilities of ASM disk groups we still can manually add additional OCR disks in Oracle 11gR2 on ASM disk groups to provide redundancy and High Availability. Here in this post we will look at adding additional OCR disks to new ASM disks groups and moving the vote disk to a disk group with high redundancy.

Initially we have Oracle GI installed on a disk group DATA with external redundancy. We created a disk group dgdup1 high redundancy with 5 disks and a disk group dgdup2 with external redundancy.

Make sure that Oracle GI is running


[root@raclinux2 ~]# cd /u01/app/11.2.0.2/grid

[root@raclinux2 grid]# cd bin

[root@raclinux2 bin]# ./crsctl check cluster -all

**************************************************************

raclinux1:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

**************************************************************

raclinux2:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

**************************************************************

[root@raclinux2 bin]#

Vote disks

Let’s move the vote disk to a high redundancy group.

 


[root@raclinux2 bin]#

[root@raclinux2 bin]# ./crsctl query css votedisk

##  STATE    File Universal Id                File Name Disk group

--  -----    -----------------                --------- ---------

1. ONLINE   7b7f9d9ae9484f2cbf7e62c164aa221b (/dev/oracleasm/disks/DISK1) [DATA]

Located 1 voting disk(s).

[root@raclinux2 bin]# ./crsctl replace  votedisk +dgdup1

Successful addition of voting disk 786515d3e2cc4fa7bfc5fd0b6e87cfeb.

Successful addition of voting disk afe5c0e3da484f62bfcc36b1c0eb4aa4.

Successful addition of voting disk 1ec83edcf92b4f55bfdc9711c49e0ddd.

Successful addition of voting disk 97278bb3f36f4f84bf5965682efe87d2.

Successful addition of voting disk 46021fd53e394fb8bf0f476f1fa210dc.

Successful deletion of voting disk 7b7f9d9ae9484f2cbf7e62c164aa221b.

Successfully replaced voting disk group with +dgdup1.

CRS-4266: Voting file(s) successfully replaced

[root@raclinux2 bin]# ./crsctl query css votedisk

##  STATE    File Universal Id                File Name Disk group

--  -----    -----------------                --------- ---------

1. ONLINE   786515d3e2cc4fa7bfc5fd0b6e87cfeb (/dev/oracleasm/disks/DISK11) [DGDUP1]

2. ONLINE   afe5c0e3da484f62bfcc36b1c0eb4aa4 (/dev/oracleasm/disks/DISK12) [DGDUP1]

3. ONLINE   1ec83edcf92b4f55bfdc9711c49e0ddd (/dev/oracleasm/disks/DISK13) [DGDUP1]

4. ONLINE   97278bb3f36f4f84bf5965682efe87d2 (/dev/oracleasm/disks/DISK14) [DGDUP1]

5. ONLINE   46021fd53e394fb8bf0f476f1fa210dc (/dev/oracleasm/disks/DISK15) [DGDUP1]

Located 5 voting disk(s).

[root@raclinux2 bin]#

[root@raclinux2 bin]# ./crsctl add css votedisk +data

CRS-4671: This command is not supported for ASM diskgroups.

CRS-4000: Command Add failed, or completed with errors.

[root@raclinux2 bin]# ./crsctl add css votedisk /u03/vote_acfs.dsk

CRS-4258: Addition and deletion of voting files are not allowed because the voting files are on ASM

[root@raclinux2 bin]#

As seen from above we can move a vote disk to a high redundancy disk group dgdup1 and benefit from the High Redundancy of the group. We cannot use the ‘crsctl add css votedisk’ to add a vote disk on ASM disk group or ACFS file system.
OCR disks

While we can benefit from the redundancy that the disk group storing the OCR provides we still can manually add OCR to different disk groups.

 


[root@raclinux2 bin]# cat /etc/oracle/ocr.loc

#Device/file  getting replaced by device +dgdup2

ocrconfig_loc=+DATA

local_only=false

[root@raclinux2 bin]# ./ocrcheck

Status of Oracle Cluster Registry is as follows :

Version                  :          3

Total space (kbytes)     :     262120

Used space (kbytes)      :       3380

Available space (kbytes) :     258740

ID                       : 1332773503

Device/File Name         :      +DATA

Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

[root@raclinux2 bin]#

[root@raclinux2 bin]# ./ocrconfig -h

Name:

ocrconfig - Configuration tool for Oracle Cluster/Local Registry.

Synopsis:

ocrconfig [option]

option:

[-local] -export

- Export OCR/OLR contents to a file

[-local] -import          - Import OCR/OLR contents from a file

[-local] -upgrade [ []]

- Upgrade OCR from previous version

-downgrade [-version ]

- Downgrade OCR to the specified version

[-local] -backuploc        - Configure OCR/OLR backup location

[-local] -showbackup [auto|manual]  - Show OCR/OLR backup information

[-local] -manualbackup              - Perform OCR/OLR backup

[-local] -restore         - Restore OCR/OLR from physical backup

-replace -replacement

- Replace a OCR device/file <filename1> with <filename2>

-add                      - Add a new OCR device/file

-delete                   - Remove a OCR device/file

-overwrite                          - Overwrite OCR configuration on disk

-repair -add | -delete | -replace -replacement

- Repair OCR configuration on the local node

-help                               - Print out this help information

Note:

* A log file will be created in

$ORACLE_HOME/log//client/ocrconfig_.log. Please ensure

you have file creation privileges in the above directory before

running this tool.

* Only -local -showbackup [manual] is supported.

* Use option '-local' to indicate that the operation is to be performed on the Oracle Local Registry.

[root@raclinux2 bin]#

[root@raclinux2 bin]#

[root@raclinux2 bin]# ./ocrconfig -add +dgdup2

[root@raclinux2 bin]# ./ocrconfig -add +dgdup1

[root@raclinux2 bin]# ./ocrcheck

Status of Oracle Cluster Registry is as follows :

Version                  :          3

Total space (kbytes)     :     262120

Used space (kbytes)      :       3380

Available space (kbytes) :     258740

ID                       : 1332773503

Device/File Name         :      +DATA

Device/File integrity check succeeded

Device/File Name         :    +dgdup2

Device/File integrity check succeeded

Device/File Name         :    +dgdup1

Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

[root@raclinux2 bin]#

[root@raclinux2 bin]# cat /etc/oracle/ocr.loc

#Device/file  getting replaced by device +dgdup1

ocrconfig_loc=+DATA

ocrmirrorconfig_loc=+dgdup2

ocrconfig_loc3=+dgdup1

local_only=false[root@raclinux2 bin]#

Summary:

While we benefit from the redundancy a disk group provides we can add multiple OCR on a different disk groups. We can move the VOTE disk to a disk group with high redundancy.

To be precise vote disk in ASM has the following specifics.

No file in ASM spans a disk group including a vote file corresponding to the vote disks. Difference is that vote file is not mirrored and stripped like any other files (data, redo, control, OCR etc…) and has a fixed assignment to a failure group in a disk. Vote disk can be accessed even if ASM is not up whereas another file cannot be accessed if ASM is not up and running.

You cannot mix vote files on ASM and vote files on non-ASM. Instead you can dedicate either one ASM DG for all you cluster vote disk files or you can use non-ASM but never both except for initial migration to 11.2 when previous versions were on non-ASM storage.

For vote files you need a special number of failure groups in a disk groups as indicated below

  1. For External redundancy DG you need 1 failure group for one Vote disk file
  2. For Normal redundancy DG you need 3 failure groups for 3 vote disk file
  3. For High redundancy DG you need 5 failure groups for 5 vote disk files


October 3, 2010 Posted by | oracle | 16 Comments

   

Follow

Get every new post delivered to your Inbox.

Join 779 other followers