Oracle Enterprise Linux 5.6下安装Oracle 10g RAC执行root.sh报错问题解决

安装clusterware执行到最后一步,要求分别在节点1和节点2上执行/u01/oraInventory/orainstRoot.sh和/u01/crs/root.sh

节点1执行/u01/oraInventory/orainstRoot.sh
[root@node1 logs]# cd /u01/oraInventory/
[root@node1 oraInventory]# ./orainstRoot.sh
Changing permissions of /u01/oraInventory to 770.
Changing groupname of /u01/oraInventory to oinstall.
The execution of the script is complete


节点2执行/u01/oraInventory/orainstRoot.sh
[root@node2 u01]# cd /u01/oraInventory/
[root@node2 oraInventory]# ./orainstRoot.sh
Changing permissions of /u01/oraInventory to 770.
Changing groupname of /u01/oraInventory to oinstall.
The execution of the script is complete


节点1执行/u01/crs/root.sh
[root@node1 oraInventory]# cd /u01/crs
[root@node1 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
/u01/crs/bin/crsctl.bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
Failure initializing entries in /etc/oracle/scls_scr/node1.
--提示缺少libstdc++.so.5


节点2执行/u01/crs/root.sh

[root@node2 oraInventory]# cd /u01/crs
[root@node2 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up NS directories
Failed to upgrade Oracle Cluster Registry configuration


在节点1上重新执行了次
[root@node1 node1]# cd /u01/crs/
[root@node1 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured

Setting the permissions on OCR backup directory
Setting up NS directories
Failed to upgrade Oracle Cluster Registry configuration


看下节点1上相关的日志
cd /u01/crs/log/node1
[root@node1 node1]# cat alertnode1.log
2013-12-18 11:36:50.236
[client(6285)]CRS-1006:The OCR location /dev/raw/raw2 is inaccessible. Details in /u01/crs/log/node1/client/ocrconfig_6285.log.
2013-12-18 11:36:50.248
[client(6285)]CRS-1006:The OCR location /dev/raw/raw2 is inaccessible. Details in /u01/crs/log/node1/client/ocrconfig_6285.log.
2013-12-18 11:36:50.257
[client(6285)]CRS-1006:The OCR location /dev/raw/raw2 is inaccessible. Details in /u01/crs/log/node1/client/ocrconfig_6285.log.
2013-12-18 11:36:50.281
[client(6285)]CRS-1001:The OCR was formatted using version 2.

都是提示ocrconfig_6285.log,是跟OCR有关

[root@node1 node1]# cd client/
[root@node1 client]# ll
total 8
-rw-r----- 1 root root 2049 Dec 18 11:36 ocrconfig_6285.log
-rw-r----- 1 root root  533 Dec 18 11:46 ocrconfig_6580.log
[root@node1 client]# cat ocrconfig_6285.log
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.  All rights reserved.
2013-12-18 11:36:50.205: [ OCRCONF][3790528]ocrconfig starts...
2013-12-18 11:36:50.205: [ OCRCONF][3790528]Upgrading OCR data
2013-12-18 11:36:50.232: [  OCRRAW][3790528]propriogid:1: INVALID FORMAT
2013-12-18 11:36:50.236: [  OCRRAW][3790528]ibctx:1:ERROR: INVALID FORMAT
2013-12-18 11:36:50.236: [  OCRRAW][3790528]proprinit:problem reading the bootblock or superbloc 22

2013-12-18 11:36:50.237: [ default][3790528]a_init:7!: Backend init unsuccessful : [22]
2013-12-18 11:36:50.237: [ OCRCONF][3790528]Exporting OCR data to [OCRUPGRADEFILE]
2013-12-18 11:36:50.237: [  OCRAPI][3790528]a_init:7!: Backend init unsuccessful : [33]
2013-12-18 11:36:50.237: [ OCRCONF][3790528]There was no previous version of OCR. error:[PROC-33: Oracle Cluster Registry is not configured]
2013-12-18 11:36:50.247: [  OCRRAW][3790528]propriogid:1: INVALID FORMAT
2013-12-18 11:36:50.248: [  OCRRAW][3790528]ibctx:1:ERROR: INVALID FORMAT
2013-12-18 11:36:50.248: [  OCRRAW][3790528]proprinit:problem reading the bootblock or superbloc 22

2013-12-18 11:36:50.248: [ default][3790528]a_init:7!: Backend init unsuccessful : [22]
2013-12-18 11:36:50.256: [  OCRRAW][3790528]propriogid:1: INVALID FORMAT
2013-12-18 11:36:50.257: [  OCRRAW][3790528]ibctx:1:ERROR: INVALID FORMAT
2013-12-18 11:36:50.257: [  OCRRAW][3790528]proprinit:problem reading the bootblock or superbloc 22

2013-12-18 11:36:50.265: [  OCRRAW][3790528]propriogid:1: INVALID FORMAT
2013-12-18 11:36:50.275: [  OCRRAW][3790528]propriowv: Vote information on disk 0 [/dev/raw/raw2] is adjusted from [0/0] to [2/2]
2013-12-18 11:36:50.281: [  OCRRAW][3790528]propriniconfig:No 92 configuration
2013-12-18 11:36:50.281: [  OCRAPI][3790528]a_init:6a: Backend init successful
2013-12-18 11:36:50.313: [ OCRCONF][3790528]Initialized DATABASE keys in OCR
2013-12-18 11:36:50.347: [ OCRCONF][3790528]Successfully set skgfr block 0
2013-12-18 11:36:50.347: [ OCRCONF][3790528]Exiting [status=success]...

---这个错误参考了以下两篇文章:
http://www.dbaxiaoyu.com/archives/534
http://cnhtm.itpub.net:8080/22049049/viewspace-1033180/

通过清除OCR磁盘信息,重新执行root.sh就可以解决


但是节点1第一次运行root.sh的那个错误,有点奇怪:
/u01/crs/bin/crsctl.bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
Failure initializing entries in /etc/oracle/scls_scr/node1.


使用ldd命令查看crsctl.bin使用的动态函数库:
[root@node1 raw]# ldd /u01/crs/bin/crsctl.bin
        linux-gate.so.1 =>  (0x00570000)
        libclntsh.so.10.1 => not found
        libhasgen10.so => not found
        libocr10.so => not found
        libocrb10.so => not found
        libocrutl10.so => not found
        libskgxn2.so => not found
        libdl.so.2 => /lib/libdl.so.2 (0x00110000)
        libm.so.6 => /lib/libm.so.6 (0x00e6e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00231000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00e9a000)
        libstdc++.so.5 => not found   ---确实没有
        libc.so.6 => /lib/libc.so.6 (0x0024a000)
        /lib/ld-linux.so.2 (0x00c32000)


网上查了资料,都说是安装了compat-libstdc++包就可以了,但是我系统里明明有安装这个包的,有点费解

[root@node1 raw]# rpm -qa | grep libstdc++
compat-libstdc++-296-2.96-138
libstdc++-4.1.2-50.el5
libstdc++-devel-4.1.2-50.el5
包明明都已安装


[root@node1 raw]# cd /usr/lib
[root@node1 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8


自己建立个软连接
[root@node1 lib]# ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
[root@node1 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     23 Dec 18 13:58 libstdc++.so.5 -> /usr/lib/libstdc++.so.6
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8


先清空OCR磁盘/dev/raw/raw2
[root@node1 lib]# dd if=/dev/zero of=/dev/raw/raw2 bs=10240k
dd: writing `/dev/raw/raw2': No space left on device
11+0 records in
10+0 records out
113246208 bytes (113 MB) copied, 0.349732 seconds, 324 MB/s


重新执行root.sh
[root@node1 lib]# cd /u01/crs
[root@node1 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
/u01/crs/bin/crsctl.bin: /usr/lib/libstdc++.so.5: version `CXXABI_1.2' not found (required by /u01/crs/bin/crsctl.bin)
/u01/crs/bin/crsctl.bin: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by /u01/crs/bin/crsctl.bin)
Failure initializing entries in /etc/oracle/scls_scr/node1.


--这样不行,删除刚建的软连接
[root@node1 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     23 Dec 18 13:58 libstdc++.so.5 -> /usr/lib/libstdc++.so.6
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8
[root@node1 lib]# rm -rf libstdc++.so.5
[root@node1 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8
[root@node1 lib]#

[root@node1 lib]# cd /root/linux/Server/   --Oracle Enterprise Linux的ISO光盘挂载点
[root@node1 Server]# ll compat-libstdc++*
-rw-r--r-- 1 root root  92219 Nov 17  2010 compat-libstdc++-296-2.96-138.i386.rpm
-rw-r--r-- 1 root root 237144 Nov 17  2010 compat-libstdc++-33-3.2.3-61.i386.rpm
[root@node1 Server]# rpm -qa | grep compat-libstdc++
compat-libstdc++-296-2.96-138 


安装compat-libstdc++-33-3.2.3-61.i386.rpm试试
[root@node1 Server]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
Preparing...                ########################################### [100%]
   1:compat-libstdc++-33    ########################################### [100%]


安装完之后,libstdc++.so.5有了,估计之前是安装错版本了
[root@node1 Server]# cd /usr/lib
[root@node1 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     18 Dec 18 14:00 libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 733168 Jun  5  2007 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8

[root@node1 ~]# ldd /u01/crs/bin/crsctl.bin
        linux-gate.so.1 =>  (0x008ba000)
        libclntsh.so.10.1 => not found
        libhasgen10.so => not found
        libocr10.so => not found
        libocrb10.so => not found
        libocrutl10.so => not found
        libskgxn2.so => not found
        libdl.so.2 => /lib/libdl.so.2 (0x00660000)
        libm.so.6 => /lib/libm.so.6 (0x00f60000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x004f1000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x002fe000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00110000)
        libc.so.6 => /lib/libc.so.6 (0x00b94000)
        /lib/ld-linux.so.2 (0x001d3000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0093a000)


节点1重新执行/u01/crs/root.sh
[root@node1 lib]# dd if=/dev/zero of=/dev/raw/raw2 bs=10240k
dd: writing `/dev/raw/raw2': No space left on device
11+0 records in
10+0 records out
113246208 bytes (113 MB) copied, 0.338571 seconds, 334 MB/s
[root@node1 lib]# cd /u01/crs
[root@node1 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
assigning default hostname node1 for node 1.
assigning default hostname node2 for node 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 1: node1 node1-priv node1
node 2: node2 node2-priv node2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Now formatting voting device: /dev/raw/raw3
Format of 1 voting devices complete.
Startup will be queued to init within 90 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        node1
CSS is inactive on these nodes.
        node2
Local node checking complete.
Run root.sh on remaining nodes to start CRS daemons.
执行成功


节点2:
[root@node2 lib]# rm -rf libstdc++.so.5
[root@node2 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8
[root@node2 lib]# rpm -ivh /root/linux/Server/compat-libstdc++-33-3.2.3-61.i386.rpm
Preparing...                ########################################### [100%]
   1:compat-libstdc++-33    ########################################### [100%]
[root@node2 lib]# ll libstdc*
-rwxr-xr-x 1 root root 262092 Jun  5  2007 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     31 Dec 12 16:36 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root     18 Dec 18 14:58 libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 733168 Jun  5  2007 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root     18 Dec 10 21:18 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 925520 Nov 12  2010 libstdc++.so.6.0.8


重新执行:
[root@node2 lib]# cd /u01/crs
[root@node2 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
assigning default hostname node1 for node 1.
assigning default hostname node2 for node 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 1: node1 node1-priv node1
node 2: node2 node2-priv node2
clscfg: Arguments check out successfully.

NO KEYS WERE WRITTEN. Supply -force parameter to override.
-force is destructive and will destroy any previous cluster
configuration.
Oracle Cluster Registry for cluster has already been initialized
Startup will be queued to init within 90 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        node1
        node2
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/u01/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

节点2执行报错,这个报错,参考三思笔记,解决方法如下:
需要修改/u01/crs/bin下的vipca和srvctl:

[root@node2 crs]# pwd
/u01/crs
[root@node2 crs]# vi bin/vipca

#Remove this workaround when the bug 3937317 is fixed
       arch=`uname -m`
       if [ "$arch" = "i686" -o "$arch" = "ia64" ]
       then
            LD_ASSUME_KERNEL=2.4.19
            export LD_ASSUME_KERNEL
       fi
后面加一行
       unset LD_ASSUME_KERNEL


[root@node2 crs]# vi bin/srvctl

LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
后面加一行
unset LD_ASSUME_KERNEL


在节点2重新执行root.sh
[root@node2 crs]# ./root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured
Oracle CRS stack is already configured and will be running under init(1M)

这个时候,CRS上那些资源ONS、GSD、VIP都还没有注册到CRS上,在执行脚本那个界面点击OK,再在另一个节点执行VIPCA就可以了

参考资料:
三思笔记:手把手教你用VMware在linux下安装oracle10g RAC
http://www.dbaxiaoyu.com/archives/534
http://cnhtm.itpub.net:8080/22049049/viewspace-1033180/
http://www.itpub.net/forum.php?mod=viewthread&tid=526976
http://blog.itpub.net/23937368/viewspace-1043824/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26524307/viewspace-1063774/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26524307/viewspace-1063774/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值