ITPub博客

首页 > 数据库 > Oracle > 安装和卸载clusterware过程中的各种问题分析

安装和卸载clusterware过程中的各种问题分析

原创 Oracle 作者:dawn009 时间:2014-02-14 13:43:24 0 删除 编辑

本文转自:

http://blog.sina.com.cn/s/blog_a32eff280100ymqx.html  在此感谢作者的辛勤劳动

一、安装clusterware
安装clusterware之前,前期的准备工作一定要做好,比如建立节点之间的SSH,创建ASM磁盘,修改配置文件和权限以及保证你的Linux图形界面可以正常运行,也就是说可以用startx进入Linux desktop等等,这些都要顺利通过,不然安装clusterware和oracle都会有各种问题,这些问题真的很让人很是头疼啊,我是真的领会到了,呵呵,伤不起啊!安装步骤如下:
1,用startx进入图形界面,将[甲骨文数据库10g.第2版.for.linux].10201_clusterware_linux32.zip压缩包拷到某个目录下,最好把文件名修改成英文。
注意:尽量不要在windows下解压完之后将文件拷到Linux,这样有可能对文件会造成破坏。
2,在root用户#xhost +;如果显示Unable to display "",说明xhost没用正常启动,可以参考博文

http://blog.sina.com.cn/s/blog_a32eff280100ykyq.html进行设置。并且查看DISPLAY环境变量的值,echo

$DISPLAY;如果是0.0或者是其他的,此时要修改他的值,比如我的是export DISPLAY=192.168.123.114:0.0;
192.168.123.114是我节点myrac1的网卡eth0的IP地址(public),而不是你连接Internet的IP地址。切记!
3,开始安装clusterware了,在这过程中有很多错误和警告,因为每个人的问题可能会不一样,我总结一下我遇到的问题
A,我的RAC是安装在/oracle/product/crs目录下的,ocr放在/dev/raw/raw1下,voting disk放在/dev/raw/raw2下,每次重启系统,这两个目录的所有者和组都会被改成root,当时是由oracle这个用户创建的,这时把目录所有者和组改成oracle和dba就可以了。
B,install完之后需要以root用户在各个节点执行两个脚本orainsRoot.sh和root.sh,如果你在各个节点执行完之后,下面的检验过不去,会提示OUI-25031这个错误,这个问题我在网上看了很多,答案都是一致的,要修

改/oracle/product/crs/bin/vipca这个文件,在123行if下面增加一行unset LD_ASSUME_KERNEL,还要修改文件

srvctl,找到如下内容:
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
这一行的后面增加如下一行,很多人都说新增加一行,可是我试了好几次都是不行的,我现在还没搞清楚问题出在哪里?unset LD_ASSUME_KERNEL,既然我们知道有这个错误存在,所以我们在执行root.sh之前就修改好这两个文件,最后在myrac2下以root用户执行root.sh就可以了!你会发现前两个检查会顺利通过,第三个Failed失败了,这个没关系,在myrac2执行./vipca注册资源就行了。
C,所有的工作基本上做完了,/oracle/product/crs/bin/crs_stat -t -v;测试一下吧,OK!


二、卸载clusterware
1,卸载Rac主要是针对安装失败,或者是即使你修改了文件vipca和srvctl,执行root.sh第一项还是Failed,这时候就需要重新安装clusterware,必须先卸载clusterware后才能安装,不然会报各种令你头大的错误,让你很是郁闷,即使你卸载不干净,重新安装clusterware也有问题,它没有windows那么方便,是在很麻烦的。
2,第一步:在各个节点以root运行/oracle/product/crs/install/rootdelete.sh和rootdeinstall.sh这两个脚本;第二步,再次运行clusterware的./runInstaller进行安装画面,Remove掉安装的文件;这两步是把主要的文件删除了,其实还有很多文件分散在各个目录下,也会给重新安装RAC带来错误或者警告,网上很多人都总结了在不同版本Linux下的删除策略,大家可以去参考:
Sun:
       rm /etc/init.d/init.cssd 
       rm /etc/init.d/init.crs 
       rm /etc/init.d/init.crsd 
       rm /etc/init.d/init.evmd 
       rm /etc/rc3.d/K96init.crs
       rm /etc/rc3.d/S96init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
Linux:
       rm /etc/oracle/*
       rm -f /etc/init.d/init.cssd 
       rm -f /etc/init.d/init.crs 
       rm -f /etc/init.d/init.crsd 
       rm -f /etc/init.d/init.evmd 
       rm -f /etc/rc2.d/K96init.crs
       rm -f /etc/rc2.d/S96init.crs
       rm -f /etc/rc3.d/K96init.crs
       rm -f /etc/rc3.d/S96init.crs
       rm -f /etc/rc5.d/K96init.crs
       rm -f /etc/rc5.d/S96init.crs
       rm -Rf /etc/oracle/scls_scr
       rm -f /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
HP-UX:
       rm /sbin/init.d/init.cssd 
       rm /sbin/init.d/init.crs 
       rm /sbin/init.d/init.crsd 
       rm /sbin/init.d/init.evmd 
       rm /sbin/rc2.d/K960init.crs
       rm /sbin/rc2.d/K001init.crs
       rm /sbin/rc3.d/K960init.crs
       rm /sbin/rc3.d/S960init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
HP Tru64:
       rm /sbin/init.d/init.cssd 
       rm /sbin/init.d/init.crs 
       rm /sbin/init.d/init.crsd 
       rm /sbin/init.d/init.evmd 
       rm /sbin/rc3.d/K96init.crs
       rm /sbin/rc3.d/S96init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
IBM AIX:
       rm /etc/init.cssd 
       rm /etc/init.crs 
       rm /etc/init.crsd 
       rm /etc/init.evmd 
       rm /etc/rc.d/rc2.d/K96init.crs
       rm /etc/rc.d/rc2.d/S96init.crs
       rm -Rf /etc/oracle/scls_scr
       rm -Rf /etc/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab
3,最好祝大家成功!O(∩_∩)O哈哈~!

-------比较完全的参见如下:

现象描述:  
在oracle 10g/11g版本引进的oracle集群软件oracle clusterware,如果需要在服务器上重新安装Oracle clusterware(crs),首先必须把Oracle clusterware(crs)删除干净。 
     
告警信息:  
因Oracle clusterware(crs)未删除干净,将导致在安装crs时运行root.sh命令失败。

原因分析:  
ocr、voting文件需要重新低格(清零)才能被复用。

处理过程:  
约定:*操作步骤只需在其中任意一个节点执行即可,否则在所有节点都要执行 
 
一、脚本自动删除
切换到root用户
$Su – root
#cd $ORA_CRS_HOME/install

1、执行rootdelete.sh脚本
# ./rootdelete.sh 
Getting local node name
NODE = rp5470b
PRKO-2006 : Invalid node name: rp5470b
Stopping resources. 
This could take several minutes.
Error while stopping resources. Possible cause: CRSD is down.
Stopping Cluster Synchronization Services. 
Unable to communicate with the Cluster Synchronization Services daemon.
Oracle CRS stack is not running.
Oracle CRS stack is down now.
Removing script for Oracle Cluster Ready services
Updating ocr file for downgrade
Cleaning up SCR settings in '/var/opt/oracle/scls_scr'
Cleaning up Network socket directories
 
2、执行rootdeinstall.sh脚本*
# ./rootdeinstall.sh 
Verifying existence of ocr.loc file
Removing contents from OCR mirror device
2560+0 records in
2560+0 records out
Removing contents from OCR device
2560+0 records in
2560+0 records out

3、 使用Oracle Universal Installer卸载CRS软件   
$export DISPLAY=10.69.24.124:0.0
$./runInstaller


二、手工删除

1、停止所有的服务
(数据库、ASM、监听、nodeapps)

2、停止CRS
#Crsctl stop crs
#init.crs stop crs

3、 删除与系统启动相关的文件
Sun:
       rm /etc/init.d/init.cssd 
       rm /etc/init.d/init.crs 
       rm /etc/init.d/init.crsd 
       rm /etc/init.d/init.evmd 
       rm /etc/rc3.d/K96init.crs
       rm /etc/rc3.d/S96init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
Linux:
       rm /etc/oracle/*
       rm -f /etc/init.d/init.cssd 
       rm -f /etc/init.d/init.crs 
       rm -f /etc/init.d/init.crsd 
       rm -f /etc/init.d/init.evmd 
       rm -f /etc/rc2.d/K96init.crs
       rm -f /etc/rc2.d/S96init.crs
       rm -f /etc/rc3.d/K96init.crs
       rm -f /etc/rc3.d/S96init.crs
       rm -f /etc/rc5.d/K96init.crs
       rm -f /etc/rc5.d/S96init.crs
       rm -Rf /etc/oracle/scls_scr
       rm -f /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
HP-UX:
       rm /sbin/init.d/init.cssd 
       rm /sbin/init.d/init.crs 
       rm /sbin/init.d/init.crsd 
       rm /sbin/init.d/init.evmd 
       rm /sbin/rc2.d/K960init.crs
       rm /sbin/rc2.d/K001init.crs
       rm /sbin/rc3.d/K960init.crs
       rm /sbin/rc3.d/S960init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
HP Tru64:
       rm /sbin/init.d/init.cssd 
       rm /sbin/init.d/init.crs 
       rm /sbin/init.d/init.crsd 
       rm /sbin/init.d/init.evmd 
       rm /sbin/rc3.d/K96init.crs
       rm /sbin/rc3.d/S96init.crs
       rm -Rf /var/opt/oracle/scls_scr 
       rm -Rf /var/opt/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab 
IBM AIX:
       rm /etc/init.cssd 
       rm /etc/init.crs 
       rm /etc/init.crsd 
       rm /etc/init.evmd 
       rm /etc/rc.d/rc2.d/K96init.crs
       rm /etc/rc.d/rc2.d/S96init.crs
       rm -Rf /etc/oracle/scls_scr
       rm -Rf /etc/oracle/oprocd
       rm /etc/inittab.crs 
       cp /etc/inittab.orig /etc/inittab
       
4、 Kill掉遗留的CRS进程(或重启机器)
       ps -ef | grep crs   
       kill
       ps -ef | grep evm
       kill
       ps -ef | grep css   
       kill
       
5、 删除临时文件
    rm -f /var/tmp/.oracle
    或
    rm -f /tmp/.oracle 
    
6、 删除/etc/oracle/ocr.loc文件

7、使用Oracle Universal Installer卸载CRS软件(参照一、3、)

8、擦除ocr和voting磁盘的内容*
    dd if=/dev/zero of=/dev/vg02/rocr1 bs=8192 count=2560
    dd if=/dev/zero of=/dev/vg02/rocr2 bs=8192 count=2560
    dd if=/dev/zero of=/dev/vg02/rvoting1 bs=8192 count=12800
    dd if=/dev/zero of=/dev/vg02/rvoting2 bs=8192 count=12800
    dd if=/dev/zero of=/dev/vg02/rvoting3 bs=8192 count=12800 
删除完成,可以重新安装Oracle Clusterware。 


建议与总结:  
在重新安装crs前,必须把原先的crs清除干净。

-------也有可能报错如下,相关解决办法也如下示----------

You do not have sufficient permissions to access the inventory

最近在Solaris 10上安装oracle10g,运行./runInstaller报了个错,后来发现是卸载oracle没有删干净

大概如下:

You do not have sufficient permissions to access the inventory
'/export/home/oracle/oraInventory'. Installation cannot continue. Make sure
that you have read/write permissions to the inventory directory and restart
the installer.: Permission denied


大概意思就是对目录没有读写权限,但我检查了多次,oracle:dba权限正常,所以应该不是权限的问题。
由于之前兄弟已经在该机器安装了oracle10g,我卸载时,直接删除了ORACLE_HOME目录,后来我将要安装的ORACLE_HOME和原来的ORACLE_HOME不一样。

感觉很奇怪,既然以前的安装文件目录全都删了,为什么它还能知道以前的ORACHE_HOME,唯一可能性就是没有删干净,一定还有文件记录着以前的安装痕迹。
将本标题在Google搜了一下,进入官网http://docs.sun.com/app/docs/doc/819-2898/oracleas-rn?a=view
Workaround: Change the permissions on the directory pointed to by oraInst.loc or use the same group id as previous installs. If there are no Oracle installations, you can delete the oraInst.loc file, and the plug-in will set this up correctly.
提示 oraInst.loc

运行% find / -name "oraInst.loc"
找到了:/var/opt/oracle/目录下有两个文件oraInst.loc oratab
我cat了一下oraInst.loc,以前的安装路径还在,呵呵,直接将/var/opt/oracle/删除!
再次运行./runInstaller,哈哈,一切正常,一路下一步,Like windows, like a fool!




本文出自 “richard的笔记-积微成著” 博客,请务必保留此出处http://zxf261.blog.51cto.com/701797/762044


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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-08-15

  • 博文量
    595
  • 访问量
    4841308