Cluster Verification Utilit(CVU)是Oracle所推荐的一种集群检验工具。该检验工具帮助用户在Cluter部署的各个阶段验证集群的重要组件,这些阶段包括硬件搭建、Clusterware的安装、RDBMS的安装、存储等等。我们既可以在Cluster安装之前使用CVU来帮我们检验所配置的环境正确可用,也可以在软件安装完成后使用CVU来做对集群的验收。
1.获取集群验证工具cluvfy的帮助信息
grid@rac1:/home/grid>cluvfy -help
USAGE:
cluvfy [ -help ]
cluvfy stage { -list | -help }
cluvfy stage {-pre|-post} [-verbose]
cluvfy comp { -list | -help }
cluvfy comp [-verbose]
2 本文主要介绍stage 的使用,RAC的实际部署可以被逻辑地区分为多个操作阶段,这些阶段被称作是”stage”,在实际的部署过程中每一个stage由一系列的操作组成。每一个stage的都有自身的预检查(pre-check)和验收检查(post-check)
grid@rac1:/home/grid/software/grid>cluvfy stage -list
USAGE:
cluvfy stage {-pre|-post} [-verbose]
有效的阶段选项和阶段名称为:
-post hwos : 后期检查硬件和操作系统
-pre cfs : 预检查 CFS 设置
-post cfs : 后期检查 CFS 设置
-pre crsinst : 预检查 CRS 安装
-post crsinst : 后期检查 CRS 安装
-pre hacfg : 预检查 HA 配置
-post hacfg : 后期检查 HA 配置
-pre dbinst : 预检查数据库安装
-pre acfscfg : 预检查 ACFS 配置。
-post acfscfg : 后期检查 ACFS 配置。
-pre dbcfg : 预检查数据库配置
-pre nodeadd : 预检查添加节点。
-post nodeadd : 后期检查添加节点。
-post nodedel : 后期检查节点删除。
3 使用实例:
进行预检查 CRS 安装
grid@rac1:/home/grid/software/grid>cluvfy stage -pre crsinst -n all -verbose
执行 集群服务设置 的预检查
正在检查节点的可访问性...
检查: 节点 "rac1" 的节点可访问性
目标节点 是否可访问?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:节点 "rac1" 的节点可访问性检查已通过
正在检查等同用户...
检查: 用户 "grid" 的等同用户
节点名 注释
------------------------------------ ------------------------
rac2 通过
rac1 通过
结果:用户 "grid" 的等同用户检查已通过
正在检查节点的连接性...
正在检查主机配置文件...
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 通过
rac1 通过
主机配置文件的验证成功
节点 "rac2" 的接口信息
名称 IP 地址 子网 网关 默认网关 HW 地址 MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 10.250.7.120 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:0B:9C 1500
eth0 10.250.7.121 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:0B:9C 1500
eth1 10.10.10.20 10.10.10.0 0.0.0.0 10.250.7.254 00:50:56:8F:78:DE 1500
节点 "rac1" 的接口信息
名称 IP 地址 子网 网关 默认网关 HW 地址 MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 10.250.7.110 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth0 10.250.7.111 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth0 10.250.7.200 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth1 10.10.10.10 10.10.10.0 0.0.0.0 10.250.7.254 00:50:56:8F:59:3E 1500
检查: 子网 "10.250.7.0" 的节点连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac2:eth0 rac2:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
结果:含有节点 rac2,rac1 的子网 "10.250.7.0" 的节点连接性检查已通过
检查: 子网 "10.250.7.0" 的 TCP 连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac1:10.250.7.110 rac2:10.250.7.120 通过
rac1:10.250.7.110 rac2:10.250.7.121 通过
rac1:10.250.7.110 rac1:10.250.7.111 通过
rac1:10.250.7.110 rac1:10.250.7.200 通过
结果:子网 "10.250.7.0" 的 TCP 连接性检查通过
检查: 子网 "10.10.10.0" 的节点连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac2:eth1 rac1:eth1 是
结果:含有节点 rac2,rac1 的子网 "10.10.10.0" 的节点连接性检查已通过
检查: 子网 "10.10.10.0" 的 TCP 连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac1:10.10.10.10 rac2:10.10.10.20 通过
结果:子网 "10.10.10.0" 的 TCP 连接性检查通过
在子网 "10.250.7.0" 上找到的很可能是用于 VIP 的候选接口的接口为:
rac2 eth0:10.250.7.120 eth0:10.250.7.121
rac1 eth0:10.250.7.110 eth0:10.250.7.111 eth0:10.250.7.200
在子网 "10.10.10.0" 上找到的很可能是用于专用互连的候选接口的接口为:
rac2 eth1:10.10.10.20
rac1 eth1:10.10.10.10
结果:节点的连接性检查已通过
检查: 内存总量
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 3.86GB (4044720.0KB) 1.5GB (1572864.0KB) 通过
rac1 3.86GB (4044720.0KB) 1.5GB (1572864.0KB) 通过
结果:内存总量 检查已通过
检查: 可用内存
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2.26GB (2372844.0KB) 50MB (51200.0KB) 通过
rac1 1.61GB (1683396.0KB) 50MB (51200.0KB) 通过
结果:可用内存 检查已通过
检查: 交换空间
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4GB (4192956.0KB) 3.86GB (4044720.0KB) 通过
rac1 4GB (4192956.0KB) 3.86GB (4044720.0KB) 通过
结果:交换空间 检查已通过
检查: "rac2:/tmp" 的 空闲磁盘空间
路径 节点名 装载点 可用 必需 注释
---------------- ------------ ------------ ------------ ------------ ------------
/tmp rac2 / 79.14GB 1GB 通过
结果:"rac2:/tmp" 的 空闲磁盘空间 检查已通过
检查: "rac1:/tmp" 的 空闲磁盘空间
路径 节点名 装载点 可用 必需 注释
---------------- ------------ ------------ ------------ ------------ ------------
/tmp rac1 / 72.87GB 1GB 通过
结果:"rac1:/tmp" 的 空闲磁盘空间 检查已通过
检查: "grid" 的 用户存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"grid" 的 用户存在性 检查已通过
检查: "oinstall" 的 组存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"oinstall" 的 组存在性 检查已通过
检查: "dba" 的 组存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"dba" 的 组存在性 检查已通过
检查: 组 "oinstall" 中用户 "grid" 的成员资格 [作为 主]
节点名 用户存在 组存在 组中的用户 主 注释
---------------- ------------ ------------ ------------ ------------ ------------
rac2 是 是 是 是 通过
rac1 是 是 是 是 通过
结果:组 "oinstall" 中用户 "grid" 的成员资格检查 [作为 主] 已通过
检查: 组 "dba" 中用户 "grid" 的成员资格
节点名 用户存在 组存在 组中的用户 注释
---------------- ------------ ------------ ------------ ----------------
rac2 是 是 是 通过
rac1 是 是 是 通过
结果:组 "dba" 中用户 "grid" 的成员资格检查已通过
检查: 运行级别
节点名 运行级别 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 5 3,5 通过
rac1 5 3,5 通过
结果:运行级别 检查已通过
检查: "打开的文件描述符的最大数" 的 硬性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 硬性 65536 65536 通过
rac1 硬性 65536 65536 通过
结果:"打开的文件描述符的最大数" 的 硬性限制 检查已通过
检查: "打开的文件描述符的最大数" 的 软性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 软性 1024 1024 通过
rac1 软性 1024 1024 通过
结果:"打开的文件描述符的最大数" 的 软性限制 检查已通过
检查: "最大用户进程数" 的 硬性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 硬性 16384 16384 通过
rac1 硬性 16384 16384 通过
结果:"最大用户进程数" 的 硬性限制 检查已通过
检查: "最大用户进程数" 的 软性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 软性 2047 2047 通过
rac1 软性 2047 2047 通过
结果:"最大用户进程数" 的 软性限制 检查已通过
检查: 系统体系结构
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 x86_64 x86_64 通过
rac1 x86_64 x86_64 通过
结果:系统体系结构 检查已通过
检查: 内核版本
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2.6.18-128.el5 2.6.9 通过
rac1 2.6.18-128.el5 2.6.9 通过
结果:内核版本 检查已通过
检查: "semmsl" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 250 250 通过
rac1 250 250 通过
结果:"semmsl" 的 内核参数 检查已通过
检查: "semmns" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 32000 32000 通过
rac1 32000 32000 通过
结果:"semmns" 的 内核参数 检查已通过
检查: "semopm" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 200 100 通过
rac1 200 100 通过
结果:"semopm" 的 内核参数 检查已通过
检查: "semmni" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 200 128 通过
rac1 200 128 通过
结果:"semmni" 的 内核参数 检查已通过
检查: "shmmax" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 48719476736 536870912 通过
rac1 48719476736 536870912 通过
结果:"shmmax" 的 内核参数 检查已通过
检查: "shmmni" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4096 4096 通过
rac1 4096 4096 通过
结果:"shmmni" 的 内核参数 检查已通过
检查: "shmall" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2097152 2097152 通过
rac1 2097152 2097152 通过
结果:"shmall" 的 内核参数 检查已通过
检查: "file-max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 6815744 6815744 通过
rac1 6815744 6815744 通过
结果:"file-max" 的 内核参数 检查已通过
检查: "ip_local_port_range" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 between 9000 & 65500 between 9000 & 65500 通过
rac1 between 9000 & 65500 between 9000 & 65500 通过
结果:"ip_local_port_range" 的 内核参数 检查已通过
检查: "rmem_default" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 262144 262144 通过
rac1 262144 262144 通过
结果:"rmem_default" 的 内核参数 检查已通过
检查: "rmem_max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4194304 4194304 通过
rac1 4194304 4194304 通过
结果:"rmem_max" 的 内核参数 检查已通过
检查: "wmem_default" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 262144 262144 通过
rac1 262144 262144 通过
结果:"wmem_default" 的 内核参数 检查已通过
检查: "wmem_max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 1048586 1048576 通过
rac1 1048586 1048576 通过
结果:"wmem_max" 的 内核参数 检查已通过
检查: "aio-max-nr" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 1048576 1048576 通过
rac1 1048576 1048576 通过
结果:"aio-max-nr" 的 内核参数 检查已通过
检查: "make-3.80" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 make-3.81-3.el5 make-3.80 通过
rac1 make-3.81-3.el5 make-3.80 通过
结果:"make-3.80" 的 包存在性 检查已通过
检查: "binutils-2.15.92.0.2" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 binutils-2.17.50.0.6-9.el5 binutils-2.15.92.0.2 通过
rac1 binutils-2.17.50.0.6-9.el5 binutils-2.15.92.0.2 通过
结果:"binutils-2.15.92.0.2" 的 包存在性 检查已通过
检查: "gcc-3.4.6" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 gcc-4.1.2-44.el5 gcc-3.4.6 通过
rac1 gcc-4.1.2-44.el5 gcc-3.4.6 通过
结果:"gcc-3.4.6" 的 包存在性 检查已通过
检查: "libaio-0.3.105 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 通过
rac1 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 通过
结果:"libaio-0.3.105 (i386)" 的 包存在性 检查已通过
检查: "libaio-0.3.105 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 通过
rac1 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 通过
结果:"libaio-0.3.105 (x86_64)" 的 包存在性 检查已通过
检查: "glibc-2.3.4-2.41 (i686)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-2.5-34 (i686) glibc-2.3.4-2.41 (i686) 通过
rac1 glibc-2.5-34 (i686) glibc-2.3.4-2.41 (i686) 通过
结果:"glibc-2.3.4-2.41 (i686)" 的 包存在性 检查已通过
检查: "glibc-2.3.4-2.41 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-2.5-34 (x86_64) glibc-2.3.4-2.41 (x86_64) 通过
rac1 glibc-2.5-34 (x86_64) glibc-2.3.4-2.41 (x86_64) 通过
结果:"glibc-2.3.4-2.41 (x86_64)" 的 包存在性 检查已通过
检查: "compat-libstdc++-33-3.2.3 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 通过
rac1 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 通过
结果:"compat-libstdc++-33-3.2.3 (i386)" 的 包存在性 检查已通过
检查: "compat-libstdc++-33-3.2.3 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 通过
rac1 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 通过
结果:"compat-libstdc++-33-3.2.3 (x86_64)" 的 包存在性 检查已通过
检查: "elfutils-libelf-0.97 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 通过
rac1 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 通过
结果:"elfutils-libelf-0.97 (x86_64)" 的 包存在性 检查已通过
检查: "elfutils-libelf-devel-0.97" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 通过
rac1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 通过
结果:"elfutils-libelf-devel-0.97" 的 包存在性 检查已通过
检查: "glibc-common-2.3.4" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-common-2.5-34 glibc-common-2.3.4 通过
rac1 glibc-common-2.5-34 glibc-common-2.3.4 通过
结果:"glibc-common-2.3.4" 的 包存在性 检查已通过
检查: "glibc-devel-2.3.4 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-devel-2.5-34 (x86_64) glibc-devel-2.3.4 (x86_64) 通过
rac1 glibc-devel-2.5-34 (x86_64) glibc-devel-2.3.4 (x86_64) 通过
结果:"glibc-devel-2.3.4 (x86_64)" 的 包存在性 检查已通过
检查: "glibc-headers-2.3.4" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-headers-2.5-34 glibc-headers-2.3.4 通过
rac1 glibc-headers-2.5-34 glibc-headers-2.3.4 通过
结果:"glibc-headers-2.3.4" 的 包存在性 检查已通过
检查: "gcc-c++-3.4.6" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 gcc-c++-4.1.2-44.el5 gcc-c++-3.4.6 通过
rac1 gcc-c++-4.1.2-44.el5 gcc-c++-3.4.6 通过
结果:"gcc-c++-3.4.6" 的 包存在性 检查已通过
检查: "libaio-devel-0.3.105 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 通过
rac1 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 通过
结果:"libaio-devel-0.3.105 (i386)" 的 包存在性 检查已通过
检查: "libaio-devel-0.3.105 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 通过
rac1 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 通过
结果:"libaio-devel-0.3.105 (x86_64)" 的 包存在性 检查已通过
检查: "libgcc-3.4.6 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libgcc-4.1.2-44.el5 (i386) libgcc-3.4.6 (i386) 通过
rac1 libgcc-4.1.2-44.el5 (i386) libgcc-3.4.6 (i386) 通过
结果:"libgcc-3.4.6 (i386)" 的 包存在性 检查已通过
检查: "libgcc-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libgcc-4.1.2-44.el5 (x86_64) libgcc-3.4.6 (x86_64) 通过
rac1 libgcc-4.1.2-44.el5 (x86_64) libgcc-3.4.6 (x86_64) 通过
结果:"libgcc-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "libstdc++-3.4.6 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-4.1.2-44.el5 (i386) libstdc++-3.4.6 (i386) 通过
rac1 libstdc++-4.1.2-44.el5 (i386) libstdc++-3.4.6 (i386) 通过
结果:"libstdc++-3.4.6 (i386)" 的 包存在性 检查已通过
检查: "libstdc++-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-4.1.2-44.el5 (x86_64) libstdc++-3.4.6 (x86_64) 通过
rac1 libstdc++-4.1.2-44.el5 (x86_64) libstdc++-3.4.6 (x86_64) 通过
结果:"libstdc++-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "libstdc++-devel-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-devel-4.1.2-44.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 通过
rac1 libstdc++-devel-4.1.2-44.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 通过
结果:"libstdc++-devel-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "sysstat-5.0.5" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 sysstat-7.0.2-11.el5 sysstat-5.0.5 通过
rac1 sysstat-7.0.2-11.el5 sysstat-5.0.5 通过
结果:"sysstat-5.0.5" 的 包存在性 检查已通过
检查: "unixODBC-2.2.11 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-2.2.11-10.el5 (i386) unixODBC-2.2.11 (i386) 通过
rac1 unixODBC-2.2.11-10.el5 (i386) unixODBC-2.2.11 (i386) 通过
结果:"unixODBC-2.2.11 (i386)" 的 包存在性 检查已通过
检查: "unixODBC-2.2.11 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-2.2.11-10.el5 (x86_64) unixODBC-2.2.11 (x86_64) 通过
rac1 unixODBC-2.2.11-10.el5 (x86_64) unixODBC-2.2.11 (x86_64) 通过
结果:"unixODBC-2.2.11 (x86_64)" 的 包存在性 检查已通过
检查: "unixODBC-devel-2.2.11 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-devel-2.2.11-10.el5 (i386) unixODBC-devel-2.2.11 (i386) 通过
rac1 unixODBC-devel-2.2.11-10.el5 (i386) unixODBC-devel-2.2.11 (i386) 通过
结果:"unixODBC-devel-2.2.11 (i386)" 的 包存在性 检查已通过
检查: "unixODBC-devel-2.2.11 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-devel-2.2.11-10.el5 (x86_64) unixODBC-devel-2.2.11 (x86_64) 通过
rac1 unixODBC-devel-2.2.11-10.el5 (x86_64) unixODBC-devel-2.2.11 (x86_64) 通过
结果:"unixODBC-devel-2.2.11 (x86_64)" 的 包存在性 检查已通过
检查: "pdksh-5.2.14" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 pdksh-5.2.14-37.el5 pdksh-5.2.14 通过
rac1 pdksh-5.2.14-37.el5 pdksh-5.2.14 通过
结果:"pdksh-5.2.14" 的 包存在性 检查已通过
检查: "expat-1.95.7 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 expat-1.95.8-8.2.1 (x86_64) expat-1.95.7 (x86_64) 通过
rac1 expat-1.95.8-8.2.1 (x86_64) expat-1.95.7 (x86_64) 通过
结果:"expat-1.95.7 (x86_64)" 的 包存在性 检查已通过
检查 UID 值为 0 的多个用户
结果:对 UID 值为 0 的多个用户进行的检查已通过
检查: 当前组 ID
结果:当前组 ID 检查已通过
正在检查核心文件名模式一致性...
核心文件名模式一致性检查已通过。
检查以确保用户 "grid" 不在 "root" 组中
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 不存在 通过
rac1 不存在 通过
结果:用户 "grid" 不属于 "root" 组。检查已通过
检查默认用户文件创建掩码
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 0022 0022 通过
rac1 0022 0022 通过
结果:默认用户文件创建掩码检查已通过
正在使用网络时间协议 (NTP) 启动时钟同步检查...
NTP 配置文件检查开始...
NTP 配置文件 "/etc/ntp.conf" 在所有节点上可用
NTP 配置文件检查通过
正在检查守护程序的活动性...
检查: "ntpd" 的活动性
节点名 正在运行?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:"ntpd" 的活动性检查已通过
为快速定向选项 "-x" 检查 NTP 守护程序命令行
检查: NTP 守护程序命令行
节点名 是否设置了快速定向选项?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:
NTP 守护程序快速定向选项检查已通过
在文件 "/etc/sysconfig/ntpd" 中为快速定向选项 "-x" 检查 NTP 守护程序的引导时间配置
检查: NTP 守护程序的引导时间配置
节点名 是否设置了快速定向选项?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:
快速定向选项的 NTP 引导程序的引导时间配置检查已通过
NTP 公用时间服务器检查开始...
PRVF-5408 : NTP 时间服务器 "61.153.197.226" 仅由以下节点公用: "rac2"
PRVF-5408 : NTP 时间服务器 ".INIT." 仅由以下节点公用: "rac1"
PRVF-5416 : 所有节点上的 NTP 守护程序查询失败
结果:使用网络时间协议 (NTP) 进行时钟同步检查通过
集群服务设置 的预检查成功。
2 后期检查 CRS 安装
grid@rac1:/home/grid/software/grid>cluvfy stage -post crsinst -n all -verbose
执行 集群服务设置 的后期检查
正在检查节点的可访问性...
检查: 节点 "rac1" 的节点可访问性
目标节点 是否可访问?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:节点 "rac1" 的节点可访问性检查已通过
正在检查等同用户...
检查: 用户 "grid" 的等同用户
节点名 注释
------------------------------------ ------------------------
rac2 通过
rac1 通过
结果:用户 "grid" 的等同用户检查已通过
正在检查时区一致性...
时区一致性检查已通过。
正在检查集群管理器完整性...
正在检查 CSS 守护程序...
节点名 状态
------------------------------------ ------------------------
rac2 正在运行
rac1 正在运行
Oracle 集群同步服务似乎处于联机状态。
集群管理器完整性检查已通过
OCR 位置 的 UDev 属性检查开始...
结果:OCR 位置 的 UDev 属性检查通过
表决磁盘位置 的 UDev 属性检查开始...
结果:表决磁盘位置 的 UDev 属性检查通过
检查默认用户文件创建掩码
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 0022 0022 通过
rac1 0022 0022 通过
结果:默认用户文件创建掩码检查已通过
正在检查集群完整性...
节点名
------------------------------------
rac1
rac2
集群完整性检查已通过
正在检查 OCR 完整性...
正在检查是否缺少非集群配置...
所有节点都没有非集群的, 仅限本地的配置
“ASM 运行”检查通过。ASM 正在所有集群节点上运行
正在检查 OCR 配置文件 "/etc/oracle/ocr.loc"...
OCR 配置文件 "/etc/oracle/ocr.loc" 检查成功
ocr 位置 "+DATA1" 的磁盘组在所有节点上都可用
正在检查 OCR 位置 "+DATA1" 的大小...
OCR 位置 "+DATA1" 的大小检查成功...
OCR 位置 "+DATA1" 的大小检查成功...
WARNING:
此检查不验证 OCR 内容的完整性。请以授权用户的身份执行 'ocrcheck' 以验证 OCR 的内容。
OCR 完整性检查已通过
正在检查 CRS 完整性...
Oracle Clusterware 在节点 "rac2" 上处于健康状态
Oracle Clusterware 在节点 "rac1" 上处于健康状态
CRS 完整性检查已通过
正在检查节点应用程序是否存在...
正在检查 VIP 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 是 联机 通过
rac1 是 联机 通过
结果:检查已通过。
正在检查 ONS 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查 GSD 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 不存在 忽略
rac1 否 不存在 忽略
结果:忽略检查。
正在检查 EONS 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查 NETWORK 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查单客户机访问名 (SCAN)...
SCAN VIP 名 节点 正在运行? ListenerName 端口 正在运行?
---------------- ------------ ------------ ------------ ------------ ------------
scan rac1 true LISTENER 1521 true
正在检查 "scan" 的名称解析设置...
ERROR:
PRVF-4664 : 发现与 SCAN 名称 "scan" 不一致的名称解析条目
SCAN 名称 IP 地址 状态 注释
------------ ------------------------ ------------------------ ----------
scan 10.250.7.200 失败 NIS 条目
ERROR:
PRVF-4657 : "scan" (IP 地址: 10.250.7.200) 的名称解析设置检查失败
ERROR:
PRVF-4664 : 发现与 SCAN 名称 "scan" 不一致的名称解析条目
未能验证 SCAN VIP 和监听程序设置
在 ASM 上检测到 OCR。正在运行 ACFS 完整性检查...
开始检查 ASM 是否正在所有集群节点上运行...
“ASM 运行”检查通过。ASM 正在所有集群节点上运行
正在启动磁盘组检查以查看是否至少配置了一个磁盘组...
磁盘组检查通过。至少配置了一个磁盘组
任务 ACFS 完整性检查已通过
正在检查 Oracle 集群表决磁盘配置...
Oracle 集群表决磁盘配置检查已通过
检查以确保用户 "grid" 不在 "root" 组中
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 不存在 通过
rac1 不存在 通过
结果:用户 "grid" 不属于 "root" 组。检查已通过
正在检查是否在所有节点上安装了集群件...
集群件的安装检查通过
正在检查 CTSS 资源是否在所有节点上运行...
检查: CTSS 资源是否正在所有节点上运行
节点名 状态
------------------------------------ ------------------------
rac2 通过
rac1 通过
结果:CTSS 资源检查通过
正在查询所有节点上时间偏移量的 CTSS...
结果:时间偏移量的 CTSS 查询通过
检查 CTSS 状态已启动...
检查: CTSS 状态
节点名 状态
------------------------------------ ------------------------
rac2 观察程序
rac1 观察程序
CTSS 处于观察程序状态。使用 NTP 切换到时钟同步检查
正在使用网络时间协议 (NTP) 启动时钟同步检查...
NTP 配置文件检查开始...
NTP 配置文件 "/etc/ntp.conf" 在所有节点上可用
NTP 配置文件检查通过
正在检查守护程序的活动性...
检查: "ntpd" 的活动性
节点名 正在运行?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:"ntpd" 的活动性检查已通过
为快速定向选项 "-x" 检查 NTP 守护程序命令行
检查: NTP 守护程序命令行
节点名 是否设置了快速定向选项?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:
NTP 守护程序快速定向选项检查已通过
在文件 "/etc/sysconfig/ntpd" 中为快速定向选项 "-x" 检查 NTP 守护程序的引导时间配置
检查: NTP 守护程序的引导时间配置
节点名 是否设置了快速定向选项?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:
快速定向选项的 NTP 引导程序的引导时间配置检查已通过
NTP 公用时间服务器检查开始...
PRVF-5408 : NTP 时间服务器 "61.153.197.226" 仅由以下节点公用: "rac2"
PRVF-5408 : NTP 时间服务器 ".INIT." 仅由以下节点公用: "rac1"
PRVF-5416 : 所有节点上的 NTP 守护程序查询失败
结果:使用网络时间协议 (NTP) 进行时钟同步检查通过
Oracle 集群时间同步服务检查已通过
在所有节点上 集群服务设置 的后期检查失败。
3 预检查数据库安装
grid@rac1:/home/grid/software/grid>cluvfy stage -pre dbinst -n all -verbose
执行 数据库安装 的预检查
正在检查节点的可访问性...
检查: 节点 "rac1" 的节点可访问性
目标节点 是否可访问?
------------------------------------ ------------------------
rac2 是
rac1 是
结果:节点 "rac1" 的节点可访问性检查已通过
正在检查等同用户...
检查: 用户 "grid" 的等同用户
节点名 注释
------------------------------------ ------------------------
rac2 通过
rac1 通过
结果:用户 "grid" 的等同用户检查已通过
正在检查节点的连接性...
正在检查主机配置文件...
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 通过
rac1 通过
主机配置文件的验证成功
节点 "rac2" 的接口信息
名称 IP 地址 子网 网关 默认网关 HW 地址 MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 10.250.7.120 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:0B:9C 1500
eth0 10.250.7.121 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:0B:9C 1500
eth1 10.10.10.20 10.10.10.0 0.0.0.0 10.250.7.254 00:50:56:8F:78:DE 1500
节点 "rac1" 的接口信息
名称 IP 地址 子网 网关 默认网关 HW 地址 MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 10.250.7.110 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth0 10.250.7.111 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth0 10.250.7.200 10.250.7.0 0.0.0.0 10.250.7.254 00:50:56:8F:27:1D 1500
eth1 10.10.10.10 10.10.10.0 0.0.0.0 10.250.7.254 00:50:56:8F:59:3E 1500
检查: 子网 "10.250.7.0" 的节点连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac2:eth0 rac2:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac2:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
rac1:eth0 rac1:eth0 是
结果:含有节点 rac2,rac1 的子网 "10.250.7.0" 的节点连接性检查已通过
检查: 子网 "10.250.7.0" 的 TCP 连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac1:10.250.7.110 rac2:10.250.7.120 通过
rac1:10.250.7.110 rac2:10.250.7.121 通过
rac1:10.250.7.110 rac1:10.250.7.111 通过
rac1:10.250.7.110 rac1:10.250.7.200 通过
结果:子网 "10.250.7.0" 的 TCP 连接性检查通过
检查: 子网 "10.10.10.0" 的节点连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac2:eth1 rac1:eth1 是
结果:含有节点 rac2,rac1 的子网 "10.10.10.0" 的节点连接性检查已通过
检查: 子网 "10.10.10.0" 的 TCP 连接性
源 目标 是否已连接?
------------------------------ ------------------------------ ----------------
rac1:10.10.10.10 rac2:10.10.10.20 通过
结果:子网 "10.10.10.0" 的 TCP 连接性检查通过
在子网 "10.250.7.0" 上找到的很可能是用于 VIP 的候选接口的接口为:
rac2 eth0:10.250.7.120 eth0:10.250.7.121
rac1 eth0:10.250.7.110 eth0:10.250.7.111 eth0:10.250.7.200
在子网 "10.10.10.0" 上找到的很可能是用于专用互连的候选接口的接口为:
rac2 eth1:10.10.10.20
rac1 eth1:10.10.10.10
结果:节点的连接性检查已通过
检查: 内存总量
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 3.86GB (4044720.0KB) 1GB (1048576.0KB) 通过
rac1 3.86GB (4044720.0KB) 1GB (1048576.0KB) 通过
结果:内存总量 检查已通过
检查: 可用内存
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2.26GB (2372184.0KB) 50MB (51200.0KB) 通过
rac1 1.61GB (1685960.0KB) 50MB (51200.0KB) 通过
结果:可用内存 检查已通过
检查: 交换空间
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4GB (4192956.0KB) 3.86GB (4044720.0KB) 通过
rac1 4GB (4192956.0KB) 3.86GB (4044720.0KB) 通过
结果:交换空间 检查已通过
检查: "rac2:/opt/rac/11.2.0/grid,rac2:/tmp" 的 空闲磁盘空间
路径 节点名 装载点 可用 必需 注释
---------------- ------------ ------------ ------------ ------------ ------------
/opt/rac/11.2.0/grid rac2 / 79.13GB 2.57GB 通过
/tmp rac2 / 79.13GB 2.57GB 通过
结果:"rac2:/opt/rac/11.2.0/grid,rac2:/tmp" 的 空闲磁盘空间 检查已通过
检查: "rac1:/opt/rac/11.2.0/grid,rac1:/tmp" 的 空闲磁盘空间
路径 节点名 装载点 可用 必需 注释
---------------- ------------ ------------ ------------ ------------ ------------
/opt/rac/11.2.0/grid rac1 / 72.87GB 2.57GB 通过
/tmp rac1 / 72.87GB 2.57GB 通过
结果:"rac1:/opt/rac/11.2.0/grid,rac1:/tmp" 的 空闲磁盘空间 检查已通过
检查: "grid" 的 用户存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"grid" 的 用户存在性 检查已通过
检查: "oinstall" 的 组存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"oinstall" 的 组存在性 检查已通过
检查: "dba" 的 组存在性
节点名 状态 注释
------------ ------------------------ ------------------------
rac2 存在 通过
rac1 存在 通过
结果:"dba" 的 组存在性 检查已通过
检查: 组 "oinstall" 中用户 "grid" 的成员资格 [作为 主]
节点名 用户存在 组存在 组中的用户 主 注释
---------------- ------------ ------------ ------------ ------------ ------------
rac2 是 是 是 是 通过
rac1 是 是 是 是 通过
结果:组 "oinstall" 中用户 "grid" 的成员资格检查 [作为 主] 已通过
检查: 组 "dba" 中用户 "grid" 的成员资格
节点名 用户存在 组存在 组中的用户 注释
---------------- ------------ ------------ ------------ ----------------
rac2 是 是 是 通过
rac1 是 是 是 通过
结果:组 "dba" 中用户 "grid" 的成员资格检查已通过
检查: 运行级别
节点名 运行级别 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 5 3,5 通过
rac1 5 3,5 通过
结果:运行级别 检查已通过
检查: "打开的文件描述符的最大数" 的 硬性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 硬性 65536 65536 通过
rac1 硬性 65536 65536 通过
结果:"打开的文件描述符的最大数" 的 硬性限制 检查已通过
检查: "打开的文件描述符的最大数" 的 软性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 软性 1024 1024 通过
rac1 软性 1024 1024 通过
结果:"打开的文件描述符的最大数" 的 软性限制 检查已通过
检查: "最大用户进程数" 的 硬性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 硬性 16384 16384 通过
rac1 硬性 16384 16384 通过
结果:"最大用户进程数" 的 硬性限制 检查已通过
检查: "最大用户进程数" 的 软性限制
节点名 类型 可用 必需 注释
---------------- ------------ ------------ ------------ ----------------
rac2 软性 2047 2047 通过
rac1 软性 2047 2047 通过
结果:"最大用户进程数" 的 软性限制 检查已通过
检查: 系统体系结构
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 x86_64 x86_64 通过
rac1 x86_64 x86_64 通过
结果:系统体系结构 检查已通过
检查: 内核版本
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2.6.18-128.el5 2.6.9 通过
rac1 2.6.18-128.el5 2.6.9 通过
结果:内核版本 检查已通过
检查: "semmsl" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 250 250 通过
rac1 250 250 通过
结果:"semmsl" 的 内核参数 检查已通过
检查: "semmns" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 32000 32000 通过
rac1 32000 32000 通过
结果:"semmns" 的 内核参数 检查已通过
检查: "semopm" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 200 100 通过
rac1 200 100 通过
结果:"semopm" 的 内核参数 检查已通过
检查: "semmni" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 200 128 通过
rac1 200 128 通过
结果:"semmni" 的 内核参数 检查已通过
检查: "shmmax" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 48719476736 536870912 通过
rac1 48719476736 536870912 通过
结果:"shmmax" 的 内核参数 检查已通过
检查: "shmmni" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4096 4096 通过
rac1 4096 4096 通过
结果:"shmmni" 的 内核参数 检查已通过
检查: "shmall" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 2097152 2097152 通过
rac1 2097152 2097152 通过
结果:"shmall" 的 内核参数 检查已通过
检查: "file-max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 6815744 6815744 通过
rac1 6815744 6815744 通过
结果:"file-max" 的 内核参数 检查已通过
检查: "ip_local_port_range" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 between 9000 & 65500 between 9000 & 65500 通过
rac1 between 9000 & 65500 between 9000 & 65500 通过
结果:"ip_local_port_range" 的 内核参数 检查已通过
检查: "rmem_default" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 262144 262144 通过
rac1 262144 262144 通过
结果:"rmem_default" 的 内核参数 检查已通过
检查: "rmem_max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 4194304 4194304 通过
rac1 4194304 4194304 通过
结果:"rmem_max" 的 内核参数 检查已通过
检查: "wmem_default" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 262144 262144 通过
rac1 262144 262144 通过
结果:"wmem_default" 的 内核参数 检查已通过
检查: "wmem_max" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 1048586 1048576 通过
rac1 1048586 1048576 通过
结果:"wmem_max" 的 内核参数 检查已通过
检查: "aio-max-nr" 的 内核参数
节点名 已配置 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 1048576 1048576 通过
rac1 1048576 1048576 通过
结果:"aio-max-nr" 的 内核参数 检查已通过
检查: "make-3.80" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 make-3.81-3.el5 make-3.80 通过
rac1 make-3.81-3.el5 make-3.80 通过
结果:"make-3.80" 的 包存在性 检查已通过
检查: "binutils-2.15.92.0.2" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 binutils-2.17.50.0.6-9.el5 binutils-2.15.92.0.2 通过
rac1 binutils-2.17.50.0.6-9.el5 binutils-2.15.92.0.2 通过
结果:"binutils-2.15.92.0.2" 的 包存在性 检查已通过
检查: "gcc-3.4.6" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 gcc-4.1.2-44.el5 gcc-3.4.6 通过
rac1 gcc-4.1.2-44.el5 gcc-3.4.6 通过
结果:"gcc-3.4.6" 的 包存在性 检查已通过
检查: "libaio-0.3.105 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 通过
rac1 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 通过
结果:"libaio-0.3.105 (i386)" 的 包存在性 检查已通过
检查: "libaio-0.3.105 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 通过
rac1 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 通过
结果:"libaio-0.3.105 (x86_64)" 的 包存在性 检查已通过
检查: "glibc-2.3.4-2.41 (i686)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-2.5-34 (i686) glibc-2.3.4-2.41 (i686) 通过
rac1 glibc-2.5-34 (i686) glibc-2.3.4-2.41 (i686) 通过
结果:"glibc-2.3.4-2.41 (i686)" 的 包存在性 检查已通过
检查: "glibc-2.3.4-2.41 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-2.5-34 (x86_64) glibc-2.3.4-2.41 (x86_64) 通过
rac1 glibc-2.5-34 (x86_64) glibc-2.3.4-2.41 (x86_64) 通过
结果:"glibc-2.3.4-2.41 (x86_64)" 的 包存在性 检查已通过
检查: "compat-libstdc++-33-3.2.3 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 通过
rac1 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 通过
结果:"compat-libstdc++-33-3.2.3 (i386)" 的 包存在性 检查已通过
检查: "compat-libstdc++-33-3.2.3 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 通过
rac1 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 通过
结果:"compat-libstdc++-33-3.2.3 (x86_64)" 的 包存在性 检查已通过
检查: "elfutils-libelf-0.97 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 通过
rac1 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 通过
结果:"elfutils-libelf-0.97 (x86_64)" 的 包存在性 检查已通过
检查: "elfutils-libelf-devel-0.97" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 通过
rac1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 通过
结果:"elfutils-libelf-devel-0.97" 的 包存在性 检查已通过
检查: "glibc-common-2.3.4" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-common-2.5-34 glibc-common-2.3.4 通过
rac1 glibc-common-2.5-34 glibc-common-2.3.4 通过
结果:"glibc-common-2.3.4" 的 包存在性 检查已通过
检查: "glibc-devel-2.3.4 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-devel-2.5-34 (x86_64) glibc-devel-2.3.4 (x86_64) 通过
rac1 glibc-devel-2.5-34 (x86_64) glibc-devel-2.3.4 (x86_64) 通过
结果:"glibc-devel-2.3.4 (x86_64)" 的 包存在性 检查已通过
检查: "glibc-headers-2.3.4" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 glibc-headers-2.5-34 glibc-headers-2.3.4 通过
rac1 glibc-headers-2.5-34 glibc-headers-2.3.4 通过
结果:"glibc-headers-2.3.4" 的 包存在性 检查已通过
检查: "gcc-c++-3.4.6" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 gcc-c++-4.1.2-44.el5 gcc-c++-3.4.6 通过
rac1 gcc-c++-4.1.2-44.el5 gcc-c++-3.4.6 通过
结果:"gcc-c++-3.4.6" 的 包存在性 检查已通过
检查: "libaio-devel-0.3.105 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 通过
rac1 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 通过
结果:"libaio-devel-0.3.105 (i386)" 的 包存在性 检查已通过
检查: "libaio-devel-0.3.105 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 通过
rac1 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 通过
结果:"libaio-devel-0.3.105 (x86_64)" 的 包存在性 检查已通过
检查: "libgcc-3.4.6 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libgcc-4.1.2-44.el5 (i386) libgcc-3.4.6 (i386) 通过
rac1 libgcc-4.1.2-44.el5 (i386) libgcc-3.4.6 (i386) 通过
结果:"libgcc-3.4.6 (i386)" 的 包存在性 检查已通过
检查: "libgcc-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libgcc-4.1.2-44.el5 (x86_64) libgcc-3.4.6 (x86_64) 通过
rac1 libgcc-4.1.2-44.el5 (x86_64) libgcc-3.4.6 (x86_64) 通过
结果:"libgcc-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "libstdc++-3.4.6 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-4.1.2-44.el5 (i386) libstdc++-3.4.6 (i386) 通过
rac1 libstdc++-4.1.2-44.el5 (i386) libstdc++-3.4.6 (i386) 通过
结果:"libstdc++-3.4.6 (i386)" 的 包存在性 检查已通过
检查: "libstdc++-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-4.1.2-44.el5 (x86_64) libstdc++-3.4.6 (x86_64) 通过
rac1 libstdc++-4.1.2-44.el5 (x86_64) libstdc++-3.4.6 (x86_64) 通过
结果:"libstdc++-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "libstdc++-devel-3.4.6 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 libstdc++-devel-4.1.2-44.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 通过
rac1 libstdc++-devel-4.1.2-44.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 通过
结果:"libstdc++-devel-3.4.6 (x86_64)" 的 包存在性 检查已通过
检查: "sysstat-5.0.5" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 sysstat-7.0.2-11.el5 sysstat-5.0.5 通过
rac1 sysstat-7.0.2-11.el5 sysstat-5.0.5 通过
结果:"sysstat-5.0.5" 的 包存在性 检查已通过
检查: "unixODBC-2.2.11 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-2.2.11-10.el5 (i386) unixODBC-2.2.11 (i386) 通过
rac1 unixODBC-2.2.11-10.el5 (i386) unixODBC-2.2.11 (i386) 通过
结果:"unixODBC-2.2.11 (i386)" 的 包存在性 检查已通过
检查: "unixODBC-2.2.11 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-2.2.11-10.el5 (x86_64) unixODBC-2.2.11 (x86_64) 通过
rac1 unixODBC-2.2.11-10.el5 (x86_64) unixODBC-2.2.11 (x86_64) 通过
结果:"unixODBC-2.2.11 (x86_64)" 的 包存在性 检查已通过
检查: "unixODBC-devel-2.2.11 (i386)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-devel-2.2.11-10.el5 (i386) unixODBC-devel-2.2.11 (i386) 通过
rac1 unixODBC-devel-2.2.11-10.el5 (i386) unixODBC-devel-2.2.11 (i386) 通过
结果:"unixODBC-devel-2.2.11 (i386)" 的 包存在性 检查已通过
检查: "unixODBC-devel-2.2.11 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 unixODBC-devel-2.2.11-10.el5 (x86_64) unixODBC-devel-2.2.11 (x86_64) 通过
rac1 unixODBC-devel-2.2.11-10.el5 (x86_64) unixODBC-devel-2.2.11 (x86_64) 通过
结果:"unixODBC-devel-2.2.11 (x86_64)" 的 包存在性 检查已通过
检查: "pdksh-5.2.14" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 pdksh-5.2.14-37.el5 pdksh-5.2.14 通过
rac1 pdksh-5.2.14-37.el5 pdksh-5.2.14 通过
结果:"pdksh-5.2.14" 的 包存在性 检查已通过
检查: "expat-1.95.7 (x86_64)" 的 包存在性
节点名 可用 必需 注释
------------ ------------------------ ------------------------ ----------
rac2 expat-1.95.8-8.2.1 (x86_64) expat-1.95.7 (x86_64) 通过
rac1 expat-1.95.8-8.2.1 (x86_64) expat-1.95.7 (x86_64) 通过
结果:"expat-1.95.7 (x86_64)" 的 包存在性 检查已通过
检查 UID 值为 0 的多个用户
结果:对 UID 值为 0 的多个用户进行的检查已通过
检查: 当前组 ID
结果:当前组 ID 检查已通过
检查默认用户文件创建掩码
节点名 可用 必需 注释
------------ ----------------------------------------------- ----------
rac2 0022 0022 通过
rac1 0022 0022 通过
结果:默认用户文件创建掩码检查已通过
正在检查 CRS 完整性...
Oracle Clusterware 在节点 "rac2" 上处于健康状态
Oracle Clusterware 在节点 "rac1" 上处于健康状态
CRS 完整性检查已通过
正在检查集群管理器完整性...
正在检查 CSS 守护程序...
节点名 状态
------------------------------------ ------------------------
rac2 正在运行
rac1 正在运行
Oracle 集群同步服务似乎处于联机状态。
集群管理器完整性检查已通过
正在检查节点应用程序是否存在...
正在检查 VIP 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------------------------------ ----------
rac2 是 联机 通过
rac1 是 联机 通过
结果:检查已通过。
正在检查 ONS 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查 GSD 节点应用程序是否存在
节点名 必需 状态 注释
------------ ----------------------------------------------- ----------
rac2 否 不存在 忽略
rac1 否 不存在 忽略
结果:忽略检查。
正在检查 EONS 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------ ------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查 NETWORK 节点应用程序是否存在
节点名 必需 状态 注释
------------ ------------------------------------------ ----------
rac2 否 联机 通过
rac1 否 联机 通过
结果:检查已通过。
正在检查是否在所有节点上安装了集群件...
集群件的安装检查通过
正在检查 CTSS 资源是否在所有节点上运行...
检查: CTSS 资源是否正在所有节点上运行
节点名 状态
------------------------------------ ------------------------
rac2 通过
rac1 通过
结果:CTSS 资源检查通过
正在查询所有节点上时间偏移量的 CTSS...
结果:时间偏移量的 CTSS 查询通过
检查 CTSS 状态已启动...
检查: CTSS 状态
节点名 状态
-------------------------- ------------------------
rac2 观察程序
rac1 观察程序
CTSS 处于观察程序状态。使用 NTP 切换到时钟同步检查
正在使用网络时间协议 (NTP) 启动时钟同步检查...
NTP 配置文件检查开始...
NTP 配置文件 "/etc/ntp.conf" 在所有节点上可用
NTP 配置文件检查通过
正在检查守护程序的活动性...
检查: "ntpd" 的活动性
节点名 正在运行?
------------------- ------------------------
rac2 是
rac1 是
结果:"ntpd" 的活动性检查已通过
为快速定向选项 "-x" 检查 NTP 守护程序命令行
检查: NTP 守护程序命令行
节点名 是否设置了快速定向选项?
-------------------- ------------------------
rac2 是
rac1 是
结果:
NTP 守护程序快速定向选项检查已通过
在文件 "/etc/sysconfig/ntpd" 中为快速定向选项 "-x" 检查 NTP 守护程序的引导时间配置
检查: NTP 守护程序的引导时间配置
节点名 是否设置了快速定向选项?
----------------- ------------------------
rac2 是
rac1 是
结果:
快速定向选项的 NTP 引导程序的引导时间配置检查已通过
NTP 公用时间服务器检查开始...
PRVF-5408 : NTP 时间服务器 "61.153.197.226" 仅由以下节点公用: "rac2"
PRVF-5408 : NTP 时间服务器 ".INIT." 仅由以下节点公用: "rac1"
PRVF-5416 : 所有节点上的 NTP 守护程序查询失败
结果:使用网络时间协议 (NTP) 进行时钟同步检查通过
Oracle 集群时间同步服务检查已通过
正在检查时区一致性...
时区一致性检查已通过。
数据库安装 的预检查成功。
4 继续建议在安装Oracle RAC的时候,安装clusterware 软件之前和之后 都要进行必要的检查,这样可以在安装前发现错误,安装后检查其完整性!