今天一早来,同事说他周末在安装 rac 出问题了,始终无法使用vipca 创建 vip资源 , 叫我帮忙看看。
他用的是 vmware server 2.0 搭建 虚拟 rac 。
一. 环境如下
OS: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
KERNEL : 2.6.18-164.el5
clusterware: clusterware 10.2.0.1
1. 我首先查看了他的 $ORA_CRS_HOME/bin 下的 vipca 文件, 是否消除 LD_ASSUME_KERNEL 。
一看,果然没有消除。
于是 export LD_ASSUME_KERNEL 的后一行 添加 unset LD_ASSUME_KERNEL ,后保存 。
2. 再次执行 vipca ,但还是无法执行 报错,于是到 $ORA_CRS_HOME/cfgtoollogs/vipca/ 下查看日志 。
vipca.log
=====================================================================================================
[main] [8:14:50:226] [VipCA.setDefaultTrace:321] trace log file is not null
[main] [8:14:50:226] [VipCA.getNodeList:1210] VIPCA: GetNodeList
[main] [8:14:50:274] [GetActiveNodes.create:213] Going into GetActiveNodes constructor...
[main] [8:14:50:285] [HASContext.getInstance:190] Module init : 16
[main] [8:14:50:285] [HASContext.getInstance:214] Local Module init : 19
[main] [8:14:50:338] [Library.getInstance:95] Created instance of Library.
[main] [8:14:50:339] [Library.load:195] Loading libsrvmhas10.so...
[main] [8:14:50:339] [Library.load:201] oracleHome null
[main] [8:14:50:339] [Library.load:236] Loading library srvmhas10 from path=
/opt/oracle/products/crs/jdk/jre/lib/i386/client:/opt/oracle/products/crs/jdk/jre/lib/i386:/opt/oracle/products/crs/jdk/jre/../lib/i386:/opt/oracle/products/crs/lib:/opt/oracle/products/crs/srvm/lib:
[main] [8:14:50:418] [Library.load:244] Loaded library srvmhas10 from path=
/opt/oracle/products/crs/jdk/jre/lib/i386/client:/opt/oracle/products/crs/jdk/jre/lib/i386:/opt/oracle/products/crs/jdk/jre/../lib/i386:/opt/oracle/products/crs/lib:/opt/oracle/products/crs/srvm/lib:
[main] [8:14:50:420] [has.HASContextNative.Native] prsr_trace: no lsf ctx, line=Native: allocHASContext
[main] [8:14:50:420] [has.HASContextNative.Native]
allocHASContext: Came in
[main] [8:14:50:422] [has.HASContextNative.Native]
....
[main] [8:14:50:613] [OCRTreeHA.listInterfaceNames:1774] OCR does not have any global interfaces set
[main] [8:14:50:613] [OCRTreeHA.listInterfaceNames:1779] Releasing shared CSS lock SRVM.SYSTEM.css.interfaces
[main] [8:14:50:614] [has.ClusterLockNative.Native] prsr_trace: Native: unlock
[main] [8:14:50:615] [Cluster.extractInterfaces:1560] ifType = 4
[main] [8:14:50:615] [Cluster.extractInterfaces:1561] ipType = 0
[main] [8:14:50:615] [VipCA.getInterfaces:599] No public interfaces found in OCR. Getting interfaces from OS
[main] [8:14:50:617] [HASContext.getInstance:190] Module init : 32
[main] [8:14:50:617] [HASContext.getInstance:214] Local Module init : 32
[main] [8:14:50:617] [has.HASContextNative.Native] prsr_trace: Native: allocHASContext
[main] [8:14:50:618] [has.HASContextNative.Native]
allocHASContext: Came in
[main] [8:14:50:618] [has.HASContextNative.Native] prsr_trace: Native: prsr_initCLSR
[main] [8:14:50:620] [has.HASContextNative.Native]
allocHASContext: CLSR context [1]
[main] [8:14:50:620] [has.HASContextNative.Native]
allocHASContext: retval [1]
[main] [8:14:50:620] [HASContext.getInstance:249] HAS Context Allocated: 4 to [url=mailto racle.ops.mgmt.has.VIP@16fd0b7]oracle.ops.mgmt.has.VIP@16fd0b7[/url]
[main] [8:14:50:620] [VIP.<init>:69] VIP Instance created.
[main] [8:14:50:622] [has.VIPNative.Native] prsr_trace: Native: listNetInterfaces
[main] [8:14:51:691] [has.VIPNative.Native] prsr_trace: prsr_setCLSRError: 3 -- Error 0
[main] [8:14:51:692] [has.VIPNative.Native] prsr_trace: prsr_setCLSRError: 3 -- Error 0
[main] [8:14:51:692] [has.VIPNative.Native] prsr_trace: prsr_throwException: oracle/ops/mgmt/has/HASContextException[Error 0--Native: listNetInterfaces]
[main] [8:14:51:698] [VipCA.runApplication:2891] oracle.ops.vipca.VipCA.getInterfaces(VipCA.java:614)
oracle.ops.vipca.VipCA.processGUIArgs(VipCA.java:452)
oracle.ops.vipca.VipCA.runApplication(VipCA.java:2841)
oracle.ops.vipca.VipCA.main(VipCA.java:3147)
=========================================end============================================================
看了一会,发现其中 OCR does not have any global interfaces set 这个提示。
于是我怀疑是他的网络设置问题。
3. 用 设置网络,解决问题。
用oifcfg 查看的他网络
[root@node1 db]# oifcfg getif ;
没有显示信息,证明他的网络根本没设置好。
在查看 /etc/hosts
# The public network address for rac node1 and node2 .
192.168.100.101 node1 # --> n1
192.168.100.102 node2 # --> n2
# The private network address for rac n1 and n2 .
10.10.10.11 node1-priv #--> n1
10.10.10.12 node2-priv #--> n2
# The virtral network address for rac n1 and n2 .
192.168.100.41 node1-vip
192.168.100.42 node2-vip
添加网络
[root@node1 db]# oifcfg iflist
eth0 192.168.100.0
eth1 10.10.10.0
eth2 172.24.121.128
[root@node1 db]# oifcfg setif -global eth0/192.168.100.0ublic
[root@node1 db]# oifcfg setif -global eth0/10.10.10.0:cluster_interconnect
[root@node1 db]# oifcfg getif
eth0 192.168.100.0 global public
eth1 10.10.10.0 global cluster_interconnect
再次执行 vipca 成功。
他用的是 vmware server 2.0 搭建 虚拟 rac 。
一. 环境如下
OS: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
KERNEL : 2.6.18-164.el5
clusterware: clusterware 10.2.0.1
1. 我首先查看了他的 $ORA_CRS_HOME/bin 下的 vipca 文件, 是否消除 LD_ASSUME_KERNEL 。
一看,果然没有消除。
于是 export LD_ASSUME_KERNEL 的后一行 添加 unset LD_ASSUME_KERNEL ,后保存 。
2. 再次执行 vipca ,但还是无法执行 报错,于是到 $ORA_CRS_HOME/cfgtoollogs/vipca/ 下查看日志 。
vipca.log
=====================================================================================================
[main] [8:14:50:226] [VipCA.setDefaultTrace:321] trace log file is not null
[main] [8:14:50:226] [VipCA.getNodeList:1210] VIPCA: GetNodeList
[main] [8:14:50:274] [GetActiveNodes.create:213] Going into GetActiveNodes constructor...
[main] [8:14:50:285] [HASContext.getInstance:190] Module init : 16
[main] [8:14:50:285] [HASContext.getInstance:214] Local Module init : 19
[main] [8:14:50:338] [Library.getInstance:95] Created instance of Library.
[main] [8:14:50:339] [Library.load:195] Loading libsrvmhas10.so...
[main] [8:14:50:339] [Library.load:201] oracleHome null
[main] [8:14:50:339] [Library.load:236] Loading library srvmhas10 from path=
/opt/oracle/products/crs/jdk/jre/lib/i386/client:/opt/oracle/products/crs/jdk/jre/lib/i386:/opt/oracle/products/crs/jdk/jre/../lib/i386:/opt/oracle/products/crs/lib:/opt/oracle/products/crs/srvm/lib:
[main] [8:14:50:418] [Library.load:244] Loaded library srvmhas10 from path=
/opt/oracle/products/crs/jdk/jre/lib/i386/client:/opt/oracle/products/crs/jdk/jre/lib/i386:/opt/oracle/products/crs/jdk/jre/../lib/i386:/opt/oracle/products/crs/lib:/opt/oracle/products/crs/srvm/lib:
[main] [8:14:50:420] [has.HASContextNative.Native] prsr_trace: no lsf ctx, line=Native: allocHASContext
[main] [8:14:50:420] [has.HASContextNative.Native]
allocHASContext: Came in
[main] [8:14:50:422] [has.HASContextNative.Native]
....
[main] [8:14:50:613] [OCRTreeHA.listInterfaceNames:1774] OCR does not have any global interfaces set
[main] [8:14:50:613] [OCRTreeHA.listInterfaceNames:1779] Releasing shared CSS lock SRVM.SYSTEM.css.interfaces
[main] [8:14:50:614] [has.ClusterLockNative.Native] prsr_trace: Native: unlock
[main] [8:14:50:615] [Cluster.extractInterfaces:1560] ifType = 4
[main] [8:14:50:615] [Cluster.extractInterfaces:1561] ipType = 0
[main] [8:14:50:615] [VipCA.getInterfaces:599] No public interfaces found in OCR. Getting interfaces from OS
[main] [8:14:50:617] [HASContext.getInstance:190] Module init : 32
[main] [8:14:50:617] [HASContext.getInstance:214] Local Module init : 32
[main] [8:14:50:617] [has.HASContextNative.Native] prsr_trace: Native: allocHASContext
[main] [8:14:50:618] [has.HASContextNative.Native]
allocHASContext: Came in
[main] [8:14:50:618] [has.HASContextNative.Native] prsr_trace: Native: prsr_initCLSR
[main] [8:14:50:620] [has.HASContextNative.Native]
allocHASContext: CLSR context [1]
[main] [8:14:50:620] [has.HASContextNative.Native]
allocHASContext: retval [1]
[main] [8:14:50:620] [HASContext.getInstance:249] HAS Context Allocated: 4 to [url=mailto racle.ops.mgmt.has.VIP@16fd0b7]oracle.ops.mgmt.has.VIP@16fd0b7[/url]
[main] [8:14:50:620] [VIP.<init>:69] VIP Instance created.
[main] [8:14:50:622] [has.VIPNative.Native] prsr_trace: Native: listNetInterfaces
[main] [8:14:51:691] [has.VIPNative.Native] prsr_trace: prsr_setCLSRError: 3 -- Error 0
[main] [8:14:51:692] [has.VIPNative.Native] prsr_trace: prsr_setCLSRError: 3 -- Error 0
[main] [8:14:51:692] [has.VIPNative.Native] prsr_trace: prsr_throwException: oracle/ops/mgmt/has/HASContextException[Error 0--Native: listNetInterfaces]
[main] [8:14:51:698] [VipCA.runApplication:2891] oracle.ops.vipca.VipCA.getInterfaces(VipCA.java:614)
oracle.ops.vipca.VipCA.processGUIArgs(VipCA.java:452)
oracle.ops.vipca.VipCA.runApplication(VipCA.java:2841)
oracle.ops.vipca.VipCA.main(VipCA.java:3147)
=========================================end============================================================
看了一会,发现其中 OCR does not have any global interfaces set 这个提示。
于是我怀疑是他的网络设置问题。
3. 用 设置网络,解决问题。
用oifcfg 查看的他网络
[root@node1 db]# oifcfg getif ;
没有显示信息,证明他的网络根本没设置好。
在查看 /etc/hosts
# The public network address for rac node1 and node2 .
192.168.100.101 node1 # --> n1
192.168.100.102 node2 # --> n2
# The private network address for rac n1 and n2 .
10.10.10.11 node1-priv #--> n1
10.10.10.12 node2-priv #--> n2
# The virtral network address for rac n1 and n2 .
192.168.100.41 node1-vip
192.168.100.42 node2-vip
添加网络
[root@node1 db]# oifcfg iflist
eth0 192.168.100.0
eth1 10.10.10.0
eth2 172.24.121.128
[root@node1 db]# oifcfg setif -global eth0/192.168.100.0ublic
[root@node1 db]# oifcfg setif -global eth0/10.10.10.0:cluster_interconnect
[root@node1 db]# oifcfg getif
eth0 192.168.100.0 global public
eth1 10.10.10.0 global cluster_interconnect
再次执行 vipca 成功。
本文转自 hsbxxl 51CTO博客,原文链接:http://blog.51cto.com/hsbxxl/720248,如需转载请自行联系原作者