在安装rac之前,可以通过Oracle提供的一个工具进行cluster环境验证,这个工具叫做cluvfy(Cluster Verification Utility)。
一、CVU程序的位置
OTN下载: http://otn.oracle.com/RAC
Oracle DVD
–clusterware/cluvfy/runcluvfy.sh
–clusterware/rpm/cvuqdisk-1.0.1-1.rpm (linuxonly)
CRS Home (如果已安装CRS软件)
–/bin/cluvfy
–/cv/rpm/cvuqdisk-1.0.1-1.rpm (linuxonly)
Oracle Home (如果已安装RAC数据库软件)
–$ORACLE_HOME/bin/cluvfy
二、CVU特点
1、CVU使用户可以在硬件的设置、clusterware的安装、数据库软件的安装、增加节点等各个阶段来检查cluster.
2、具有可扩展的结构(平台独立,包含对存储和网络设备等的检查)
3、CVU是没有损害的检查
4、命令行方式
5、即使检查失败也不会做任何修正
6、CVU不涉及任何性能调整和监控
7、不做任何cluster或RAC方面的操作(例如,不会去起动或关闭CRS)
8、不去检查cluster database或cluster的内在关系(如CRS与database的关系等)
三、CVU命令用法
[oracle@zhh1 ~]$ cluvfy
USAGE:
cluvfy [ -help ]
cluvfy stage { -list | -help }
cluvfy stage {-pre|-post}[-verbose]
cluvfy comp { -list | -help }
cluvfy comp[-verbose]
[oracle@zhh1 ~]$ which cluvfy
/usr/oracle/product/10.2.0/db_1/bin/cluvfy
cluvfy只安装在本地节点,会在运行时根据需要自动部署到其它节点上。
主要用法:
阶段检查(Stage Verification)
10g RAC的部署(安装)可以逻辑性的分为几个部分,每个部分就叫做一个‘阶段’。
例如:硬件和操作系统的建立、CFS的建立、CRS软件的安装、数据库软件的安装、数据库的配置等
每个阶段又包含一系列的操作并且分为安装前和安装后检查等两种方式.
部件检查(Component Verification)
检查cluster部件的可用性、完整性、健康性
例如:共享存储设备的可用性、空间可用性、节点通达性、CFS的完整性、Cluster的完整性、CRS的完整性等
1、stage
[oracle@zhh1 ~]$ cluvfy stage -list
USAGE:
cluvfy stage {-pre|-post}[-verbose]
Valid stage options and stage names are:
-post hwos : post-check for hardware and operating system
-pre cfs : pre-check for CFS setup
-post cfs : post-check for CFS setup
-pre crsinst : pre-check for CRS installation
-post crsinst : post-check for CRS installation
-pre dbinst : pre-check for database installation
-pre dbcfg : pre-check for database configuration
有效的选项和阶段名称如下:
-post hwos:硬件和操作系统安装后的检查
-pre cfs: CFS建立之前的检查
-post cfs: CFS建立之后的检查
-pre crsinst: CRS安装之前的检查
-post crsinst: CRS安装之后的检查
-pre dbinst:数据库软件安装之前的检查
-pre dbcfg:数据库配置之前的检查
2、component
[oracle@zhh1 ~]$ cluvfy comp -list
USAGE:
cluvfy comp[-verbose]
Valid components are:
nodereach : checks reachability between nodes
nodecon : checks node connectivity
cfs : checks CFS integrity
ssa : checks shared storage accessibility
space : checks space availability
sys : checks minimum system requirements
clu : checks cluster integrity
clumgr : checks cluster manager integrity
ocr : checks OCR integrity
crs : checks CRS integrity
nodeapp : checks node applications existence
admprv : checks administrative privileges
peer : compares properties with peers
有效的部件名称如下:
nodereach:检查节点之间的通达性
nodecon:检查节点之间的的连通性
cfs:检查CFS的完整性
ssa:检查共享存储的可访问性
space :检查空间的可用性
sys :检查最小的系统需求
clu:检查cluster的完整性
clumgr:检查cluster manager的完整性
ocr:检查OCR的完整性
crs:检查CRS的完整性
nodeapp:检查nodeapp是否存在
admprv:检查管理权限
peer :比较同等属性(即节点差异)
3、使用stage还是component
a、阶段模式-在安装CRS和RAC期间使用CVU阶段模式
在阶段模式中正确使用安装前和安装后检查方式
例如:
安装CRS软件之前:
运行DVD上或从OTN下载的CVU命令runcluvfy.sh
$cluvfy stage -pre crsinst -n zhh1,zhh2 -verbose | tee /tmp/cluvfy_preinst.log
安装RAC软件之前:
运行安装在CRS Home的bin目录下的cluvfy
$ cluvfy stage -pre dbinst -n zhh1,zhh2 -verbose | tee /tmp/cluvfy_dbinst.log
b、部件模式-在CRS或数据库运行过程中如果需要检查某个特殊部件或为了隔离一个cluster子系统做诊断时,使用适当的部件模式.
例如:
诊断网络问题
$ cluvfy comp nodecon -n zhh1,zhh2 -verbose
将检查network interface(eth0,eth1,etc)、public IP、private IP等
诊断共享磁盘问题
$ cluvfy comp ssa -n zhh1,zhh2 -s /dev/sdb1 -verbose
将检查所列的存储设备是否在所有节点间共享
[oracle@zhh1 ~]$ cd /usr/oracle/soft/clusterware/
cluvfy/ install/ rootpre/ runInstaller upgrade/
doc/ response/ rpm/ stage/ welcome.html
[oracle@zhh1 ~]$ cd /usr/oracle/soft/clusterware/cluvfy/
[oracle@zhh1 cluvfy]$ ll
total 30996
-rwxr-xr-x 1 oracle dba 10326112 Oct 23 2005 cvupack.zip
-rwxr-xr-x 1 oracle dba 21356849 Oct 23 2005 jrepack.zip
-rwxr-xr-x 1 oracle dba 3107 Oct 23 2005 runcluvfy.sh
就是这个runcluvfy.sh,主要命令的使用方法都已经列出了。
[oracle@zhh1 cluvfy]$ ./runcluvfy.sh
USAGE:
cluvfy [ -help ]
cluvfy stage { -list | -help }
cluvfy stage {-pre|-post} [-verbose]
cluvfy comp { -list | -help }
cluvfy comp [-verbose]
[oracle@zhh1 ~]$ cluvfy stage -pre crsinst -n zhh1
Performing pre-checks for cluster services setup
Checking node reachability…
Node reachability check passed from node “zhh1”.
Checking user equivalence…
User equivalence check passed for user “oracle”.
Checking administrative privileges…
User existence check passed for “oracle”.
Group existence check failed for “oinstall”.
Check failed on nodes:
zhh1
Administrative privileges check failed.
Checking node connectivity…
Node connectivity check passed for subnet “192.168.5.0” with node(s) zhh1.
Node connectivity check passed for subnet “10.0.0.0” with node(s) zhh1.
Suitable interfaces for the private interconnect on subnet “192.168.5.0”:
zhh1 eth0:192.168.5.235 eth0:192.168.5.233
Suitable interfaces for the private interconnect on subnet “10.0.0.0”:
zhh1 eth1:10.0.0.100
ERROR:
Could not find a suitable set of interfaces for VIPs.
Node connectivity check failed.
Checking system requirements for ‘crs’…
Total memory check passed.
Free disk space check passed.
Swap space check passed.
System architecture check passed.
Kernel version check passed.
Package existence check passed for “binutils-2.15.92.0.2-13”.
Group existence check passed for “dba”.
Group existence check failed for “oinstall”.
Check failed on nodes:
zhh1
User existence check passed for “nobody”.
System requirement failed for ‘crs’
Pre-check for cluster services setup was unsuccessful on all the nodes.
可以看到检查结果,就可以根据这些检查结果来进行有的放矢地修改了。
reference: http://hi.baidu.com/dba_hui/blog/item/99248378e3b2e51a29388ace.html