Oracle 官方建议在安装Oracle Grid Infrastructure前运行此脚本,来检查各个节点是否满足GI安装的官方要求.
在部署Grid Infrastructure的过程中使用,我们不光要学会怎么用这个脚本,更应该明白其中的一些原理。
runcluvfy.sh将功能在shell中实现,并和GI的安装介质一起提供给用户,使得用户在数据库和CLUSTER安装之前就可以利用这个工具的功能。
先看一下脚本的基本用法
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
语法说明:
-pre: 该选项主要检查是否满足安装的需要。
-post:该选择主要检查安装后组件是否正常。
-n:该选项用于指定节点列表,这里指定了2个节点。
-verbose:该选项用于输出详细的验证信息。
-fixup:这是Oracle 11gR2中新增加的一个参数。利用这个参数,可以产生一个名为runfixup.sh的脚本。
runfixup.sh脚本中包含一系列的操作系统命令,利用这个脚本可以对操作系统进行一定的修改,使其满足安装条件。
完成系统进行校验之后,以root用户的身份执行脚本runfixup.sh,就可以解决操作系统中一些尚不满足安装条件的情况。
附一个我的测试库的输出结果
crmdb1:/oracle@grid> ./runcluvfy.sh stage -pre crsinst -n crmdb1,crmdb2 -verbose
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node "crmdb1"
Destination Node Reachable?
------------------------------------ ------------------------
crmdb2 yes
crmdb1 yes
Result: Node reachability check passed from node "crmdb1"
Checking user equivalence...
Check: User equivalence for user "oracle"
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Result: User equivalence check passed for user "oracle"
Checking node connectivity...
Checking hosts config file...
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Verification of the hosts config file successful
Interface information for node "crmdb2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.5 192.168.1.0 0.0.0.0 132.64.196.1 78:58:60:B1:26:38 1500
eth1 132.64.196.45 132.64.196.0 0.0.0.0 132.64.196.1 9C:37:F4:01:02:06 1500
Interface information for node "crmdb1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.4 192.168.1.0 0.0.0.0 132.64.196.1 78:58:60:B1:26:04 1500
eth1 132.64.196.44 132.64.196.0 0.0.0.0 132.64.196.1 E4:35:C8:7C:03:AB 1500
Check: Node connectivity of subnet "192.168.1.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb2[192.168.1.5] crmdb1[192.168.1.4] yes
Result: Node connectivity passed for subnet "192.168.1.0" with node(s) crmdb2,crmdb1
Check: TCP connectivity of subnet "192.168.1.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb1:192.168.1.4 crmdb2:192.168.1.5 passed
Result: TCP connectivity check passed for subnet "192.168.1.0"
Check: Node connectivity of subnet "132.64.196.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb2[132.64.196.45] crmdb1[132.64.196.44] yes
Result: Node connectivity passed for subnet "132.64.196.0" with node(s) crmdb2,crmdb1
Check: TCP connectivity of subnet "132.64.196.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb1:132.64.196.44 crmdb2:132.64.196.45 passed
Result: TCP connectivity check passed for subnet "132.64.196.0"
Interfaces found on subnet "132.64.196.0" that are likely candidates for VIP are:
crmdb2 eth4:132.64.196.45
crmdb1 eth4:132.64.196.44
Interfaces found on subnet "192.168.1.0" that are likely candidates for a private interconnect are:
crmdb2 eth0:192.168.1.5
crmdb1 eth0:192.168.1.4
Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.1.0".
Subnet mask consistency check passed for subnet "132.64.196.0".
Subnet mask consistency check passed.
Result: Node connectivity check passed
Checking multicast communication...
Checking subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0" passed.
Checking subnet "132.64.196.0" for multicast communication with multicast group "230.0.1.0"...
PRVG-11134 : Interface "132.64.196.44" on node "crmdb1" is not able to communicate with interface "132.64.196.45" on node "crmdb2"
Checking subnet "132.64.196.0" for multicast communication with multicast group "224.0.0.251"...
Check of subnet "132.64.196.0" for multicast communication with multicast group "224.0.0.251" passed.
Check of multicast communication passed.
Checking ASMLib configuration.
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Result: Check for ASMLib configuration passed.
Check: Total memory <
在部署Grid Infrastructure的过程中使用,我们不光要学会怎么用这个脚本,更应该明白其中的一些原理。
runcluvfy.sh将功能在shell中实现,并和GI的安装介质一起提供给用户,使得用户在数据库和CLUSTER安装之前就可以利用这个工具的功能。
先看一下脚本的基本用法
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
语法说明:
-pre: 该选项主要检查是否满足安装的需要。
-post:该选择主要检查安装后组件是否正常。
-n:该选项用于指定节点列表,这里指定了2个节点。
-verbose:该选项用于输出详细的验证信息。
-fixup:这是Oracle 11gR2中新增加的一个参数。利用这个参数,可以产生一个名为runfixup.sh的脚本。
runfixup.sh脚本中包含一系列的操作系统命令,利用这个脚本可以对操作系统进行一定的修改,使其满足安装条件。
完成系统进行校验之后,以root用户的身份执行脚本runfixup.sh,就可以解决操作系统中一些尚不满足安装条件的情况。
附一个我的测试库的输出结果
crmdb1:/oracle@grid> ./runcluvfy.sh stage -pre crsinst -n crmdb1,crmdb2 -verbose
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node "crmdb1"
Destination Node Reachable?
------------------------------------ ------------------------
crmdb2 yes
crmdb1 yes
Result: Node reachability check passed from node "crmdb1"
Checking user equivalence...
Check: User equivalence for user "oracle"
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Result: User equivalence check passed for user "oracle"
Checking node connectivity...
Checking hosts config file...
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Verification of the hosts config file successful
Interface information for node "crmdb2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.5 192.168.1.0 0.0.0.0 132.64.196.1 78:58:60:B1:26:38 1500
eth1 132.64.196.45 132.64.196.0 0.0.0.0 132.64.196.1 9C:37:F4:01:02:06 1500
Interface information for node "crmdb1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.4 192.168.1.0 0.0.0.0 132.64.196.1 78:58:60:B1:26:04 1500
eth1 132.64.196.44 132.64.196.0 0.0.0.0 132.64.196.1 E4:35:C8:7C:03:AB 1500
Check: Node connectivity of subnet "192.168.1.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb2[192.168.1.5] crmdb1[192.168.1.4] yes
Result: Node connectivity passed for subnet "192.168.1.0" with node(s) crmdb2,crmdb1
Check: TCP connectivity of subnet "192.168.1.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb1:192.168.1.4 crmdb2:192.168.1.5 passed
Result: TCP connectivity check passed for subnet "192.168.1.0"
Check: Node connectivity of subnet "132.64.196.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb2[132.64.196.45] crmdb1[132.64.196.44] yes
Result: Node connectivity passed for subnet "132.64.196.0" with node(s) crmdb2,crmdb1
Check: TCP connectivity of subnet "132.64.196.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
crmdb1:132.64.196.44 crmdb2:132.64.196.45 passed
Result: TCP connectivity check passed for subnet "132.64.196.0"
Interfaces found on subnet "132.64.196.0" that are likely candidates for VIP are:
crmdb2 eth4:132.64.196.45
crmdb1 eth4:132.64.196.44
Interfaces found on subnet "192.168.1.0" that are likely candidates for a private interconnect are:
crmdb2 eth0:192.168.1.5
crmdb1 eth0:192.168.1.4
Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.1.0".
Subnet mask consistency check passed for subnet "132.64.196.0".
Subnet mask consistency check passed.
Result: Node connectivity check passed
Checking multicast communication...
Checking subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0" passed.
Checking subnet "132.64.196.0" for multicast communication with multicast group "230.0.1.0"...
PRVG-11134 : Interface "132.64.196.44" on node "crmdb1" is not able to communicate with interface "132.64.196.45" on node "crmdb2"
Checking subnet "132.64.196.0" for multicast communication with multicast group "224.0.0.251"...
Check of subnet "132.64.196.0" for multicast communication with multicast group "224.0.0.251" passed.
Check of multicast communication passed.
Checking ASMLib configuration.
Node Name Status
------------------------------------ ------------------------
crmdb2 passed
crmdb1 passed
Result: Check for ASMLib configuration passed.
Check: Total memory <