Oracle RAC 10g for Solaris环境卸载(二)

介绍RAC环境的安装的文章很多,但是介绍RAC环境卸载的并不多见,如果RAC环境卸载的不彻底,很可能会影响RAC环境的再次搭建。

这一篇介绍CLUSTER软件的卸载。

Oracle RAC 10g for Solaris环境卸载(一):http://yangtingkun.itpub.net/post/468/502731

 

 

上一篇中卸载了数据库,并删除了数据库软件。

在文章的开头已经提过,RAC环境的卸载不当会导致问题。正常情况下,应该首先卸载CLUSTER所做的修改,然后再卸载CLUSTERWARE

正常情况下应该在ORA_CLS_HOME目录下执行:/install/rootdelete.sh remote nosharedhome –force,在RAC的每个节点上都应该执行这个操作,然后在其中一个节点上执行/install/rootdeinstall.sh。删除ASM实例对裸设备头的修改。

但是如果卸载的时候没有注意,很容易没有进行CLUSTER的清理就直接卸载了CLUSTER环境。

比如下面不进行清理而直接卸载CLUSTERWARE

$ cd $ORACLE_HOME/../crs/oui/bin
$ ./runInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be 5.8, 5.9 or 5.10.    Actual 5.8
                                      Passed

Checking Temp space: must be greater than 150 MB.   Actual 11267 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-04-22_05-45-29PM. Please wait ...$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

仍然点击Deinstall Products。选择CLUSTERWARE的安装目录,这里是OraCrs10g_home1,然后点击Remove进行删除:

Oracle会弹出卸载的组件详细明细,确认后,开始卸载。

Oracle会弹出一个提示,说明ClusterWare的安装目录/data/oracle/product/10.2/crs将会在卸载后被删除,如果确认删除按yes,不删除这个目录按nocancel则取消操作。这里选择yes继续。

在删除CLUSTER的过程中也出现了告警,说明在racnode2racnode3节点上,有些目录没有权限删除,这种警告是正常的,可以忽略。

卸载结束后,检查日志文件,文件的位置仍然是在ORACLE_BASE/oraInventory/log目录下:

INFO: Saving serialized component list for /data/oracle/product/10.2/crs
INFO: Updating XML inventory.
INFO: Saving comps.xml for /data/oracle/product/10.2/crs
INFO: Current Inventory:
        Oracle Home: OraCrs10g_home1

INFO: Updating files in Oracle home '/data/oracle/product/10.2/crs' to remote nodes 'racnode2,racnode3'.
INFO: List of files to be excluded from:null
WARNING: Could not rename file '/tmp/OraInstall2010-04-22_06-34-16PM/installCopyFile.lst' to '/tmp/OraInstall2010-04-22_06-34-16PM/i
nstallCopyFile.lst.bak'.
WARNING: Could not rename file '/tmp/OraInstall2010-04-22_06-34-16PM/installRemoveFile.lst' to '/tmp/OraInstall2010-04-22_06-34-16PM
/installRemoveFile.lst.bak'.
SEVERE: java.io.FileNotFoundException: /tmp/OraInstall2010-04-22_06-34-16PM/installRemoveFile.lst (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.(FileInputStream.java:106)
        at java.io.FileInputStream.(FileInputStream.java:66)
        at java.io.FileReader.(FileReader.java:41)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFilePw(OiixFileOps.java:2349)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFile(OiixFileOps.java:2373)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:673)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:626)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.updateListFiles(OiipgClusterLogger.java:319)
        at oracle.sysman.oii.oiif.oiifw.OiifwClusterCopyWCCE.doOperation(OiifwClusterCopyWCCE.java:435)
        at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:171)
        at oracle.sysman.oii.oiif.oiifw.OiifwActionsPhaseWCDE.doOperation(OiifwActionsPhaseWCDE.java:606)
        at oracle.sysman.oii.oiic.OiicDeinstallSession$OiicActionsThread.run(OiicDeinstallSession.java:2431)

SEVERE: java.io.FileNotFoundException: /tmp/OraInstall2010-04-22_06-34-16PM/installDirFile.lst (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.(FileInputStream.java:106)
        at java.io.FileInputStream.(FileInputStream.java:66)
        at java.io.FileReader.(FileReader.java:41)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFilePw(OiixFileOps.java:2349)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFile(OiixFileOps.java:2373)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:673)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:628)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.updateListFiles(OiipgClusterLogger.java:319)
        at oracle.sysman.oii.oiif.oiifw.OiifwClusterCopyWCCE.doOperation(OiifwClusterCopyWCCE.java:435)
        at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:171)
        at oracle.sysman.oii.oiif.oiifw.OiifwActionsPhaseWCDE.doOperation(OiifwActionsPhaseWCDE.java:606)
        at oracle.sysman.oii.oiic.OiicDeinstallSession$OiicActionsThread.run(OiicDeinstallSession.java:2431)

SEVERE: java.io.FileNotFoundException: /tmp/OraInstall2010-04-22_06-34-16PM/installCopyFile.lst (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.(FileInputStream.java:106)
        at java.io.FileInputStream.(FileInputStream.java:66)
        at java.io.FileReader.(FileReader.java:41)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFilePw(OiixFileOps.java:2349)
        at oracle.sysman.oii.oiix.OiixFileOps.appendFile(OiixFileOps.java:2373)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:673)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.appendFilesToOH(OiipgClusterLogger.java:629)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterLogger.updateListFiles(OiipgClusterLogger.java:319)
        at oracle.sysman.oii.oiif.oiifw.OiifwClusterCopyWCCE.doOperation(OiifwClusterCopyWCCE.java:435)
        at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:171)
        at oracle.sysman.oii.oiif.oiifw.OiifwActionsPhaseWCDE.doOperation(OiifwActionsPhaseWCDE.java:606)
        at oracle.sysman.oii.oiic.OiicDeinstallSession$OiicActionsThread.run(OiicDeinstallSession.java:2431)

INFO: Error in copying cluster list file to central inventory; OUI-10185:Unable to copy '/tmp/OraInstall2010-04-22_06-34-16PM/instal
lCopyFile.lst' to '/data/oracle/oraInventory/logs/installCopyFile.lst.2010-04-22_06-34-16PM'. OUI-10186:The source file '/tmp/OraIns
tall2010-04-22_06-34-16PM/installCopyFile.lst' does not exist.
SEVERE: oracle.sysman.oii.oiip.oiipg.OiipgRemoteFileOperationException: Could not remove listed directories based on '/tmp/OraInstal
l2010-04-22_06-34-16PM/installRemoveDirFile.lst' from nodes 'racnode2,racnode3'. [PRKC-1002 : All the submitted commands did not exe
cute successfully]
----------------------------------------------------------------------------------
racnode2:
    rm: Unable to remove directory /data/oracle/product/10.2/crs/OPatch: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/bin: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cdata: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs/vipca: File exists
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/clone: Permission denied
.
.
.
    rm: Unable to remove directory /data/oracle/product/10.2/crs/tg4sybs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/tg4tera: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs: File exists
----------------------------------------------------------------------------------
racnode3:
    rm: Unable to remove directory /data/oracle/product/10.2/crs/OPatch: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/bin: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/clone: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/crs/admin: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/crs/demo: Permission denied
.
.
.
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cdata/crs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cdata: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs: File exists
----------------------------------------------------------------------------------

        at oracle.sysman.oii.oiip.oiipg.OiipgClusterOps.throwOiipgRemoteFileOperationException(OiipgClusterOps.java:2699)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterOps.removeListedDirsFromNodes(OiipgClusterOps.java:2120)
        at oracle.sysman.oii.oiif.oiifw.OiifwClusterCopyWCCE.doOperation(OiifwClusterCopyWCCE.java:700)
        at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:171)
        at oracle.sysman.oii.oiif.oiifw.OiifwActionsPhaseWCDE.doOperation(OiifwActionsPhaseWCDE.java:606)
        at oracle.sysman.oii.oiic.OiicDeinstallSession$OiicActionsThread.run(OiicDeinstallSession.java:2431)
Caused by: oracle.ops.mgmt.cluster.RemoteFileOperationException: PRKC-1002 : All the submitted commands did not execute successfully
        at oracle.ops.mgmt.cluster.ClusterCmd.removeListedDirsFromNodes(ClusterCmd.java:4274)
        at oracle.ops.mgmt.cluster.ClusterCmd.removeListedDirsFromNodes(ClusterCmd.java:4083)
        at oracle.sysman.oii.oiip.oiipg.OiipgClusterOps.removeListedDirsFromNodes(OiipgClusterOps.java:2104)
        ... 4 more

WARNING: Could not remove listed directories based on '/tmp/OraInstall2010-04-22_06-34-16PM/installRemoveDirFile.lst' from nodes 'ra
cnode2,racnode3'. [PRKC-1002 : All the submitted commands did not execute successfully]
----------------------------------------------------------------------------------
racnode2:
    rm: Unable to remove directory /data/oracle/product/10.2/crs/OPatch: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/bin: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cdata: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs/vipca: File exists
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/clone: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/crs/admin: Permission denied
.
.
.
    rm: Unable to remove directory /data/oracle/product/10.2/crs/tg4tera: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs: File exists
----------------------------------------------------------------------------------
racnode3:
    rm: Unable to remove directory /data/oracle/product/10.2/crs/OPatch: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/bin: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cfgtoollogs: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/clone: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs/crs/admin: Permission denied
.
.
.
    rm: Unable to remove directory /data/oracle/product/10.2/crs/cdata: Permission denied
    rm: Unable to remove directory /data/oracle/product/10.2/crs: File exists
----------------------------------------------------------------------------------

Refer to '/data/oracle/oraInventory/logs/installActions2010-04-22_06-34-16PM.log' for details. You may fix the errors on the require
d remote nodes. Refer to the install guide for error recovery. Click 'Yes' if you want to proceed. Click 'No' to exit the install. D
o you want to continue?
INFO: User Selected: Yes/OK

INFO: Setting variable 'CLUSTER_NODES' to 'racnode1,racnode2,racnode3,'. Received the value from a code block.
INFO: Local node 'racnode1' is specified by the user.
INFO: Setting variable 'REMOTE_NODES' to 'racnode2,racnode3,'. Received the value from a code block.
INFO: Removing Cluster Oracle homes
INFO: Running command '/tmp/OraInstall2010-04-22_06-34-16PM/oui/bin/runInstaller -jreLoc ../../jre -paramFile /tmp/OraInstall2010-04
-22_06-34-16PM/oui/clusterparam.ini  -silent -ignoreSysPrereqs -removeHome -noClusterEnabled ORACLE_HOME=/data/oracle/product/10.2/c
rs LOCAL_NODE=racnode2 -remoteInvocation -invokingNodeName racnode1 -logFilePath "/data/oracle/oraInventory/logs" -timestamp 2010-04
-22_06-34-16PM' on the nodes 'racnode2'.
INFO: Invoking OUI on cluster nodes racnode2
INFO: /tmp/OraInstall2010-04-22_06-34-16PM/oui/bin/runInstaller -jreLoc ../../jre -paramFile /tmp/OraInstall2010-04-22_06-34-16PM/ou
i/clusterparam.ini  -silent -ignoreSysPrereqs -removeHome -noClusterEnabled ORACLE_HOME=/data/oracle/product/10.2/crs LOCAL_NODE=rac
node2 -remoteInvocation -invokingNodeName racnode1 -logFilePath "/data/oracle/oraInventory/logs" -timestamp 2010-04-22_06-34-16PM
INFO: Running command '/tmp/OraInstall2010-04-22_06-34-16PM/oui/bin/runInstaller -jreLoc ../../jre -paramFile /tmp/OraInstall2010-04
-22_06-34-16PM/oui/clusterparam.ini  -silent -ignoreSysPrereqs -removeHome -noClusterEnabled ORACLE_HOME=/data/oracle/product/10.2/c
rs LOCAL_NODE=racnode3 -remoteInvocation -invokingNodeName racnode1 -logFilePath "/data/oracle/oraInventory/logs" -timestamp 2010-04
-22_06-34-16PM' on the nodes 'racnode3'.
INFO: Invoking OUI on cluster nodes racnode3
INFO: /tmp/OraInstall2010-04-22_06-34-16PM/oui/bin/runInstaller -jreLoc ../../jre -paramFile /tmp/OraInstall2010-04-22_06-34-16PM/ou
i/clusterparam.ini  -silent -ignoreSysPrereqs -removeHome -noClusterEnabled ORACLE_HOME=/data/oracle/product/10.2/crs LOCAL_NODE=rac
node3 -remoteInvocation -invokingNodeName racnode1 -logFilePath "/data/oracle/oraInventory/logs" -timestamp 2010-04-22_06-34-16PM
INFO: The flags set for this home (/data/oracle/product/10.2/database) are:clean
INFO: Home:/data/oracle/product/10.2/database oraclehomeproperties.xml is not saved because the flags indicate no changes to this fi
le.
INFO: The flags set for this home (/data/oracle/product/10.2/crs) are:localnode|nodelist|crs|removed
INFO: Home:/data/oracle/product/10.2/crs oraclehomeproperties.xml is not saved because the flags indicate no changes to this file.
INFO: Saving serialized component list for /data/oracle/product/10.2/crs
INFO: Updating XML inventory.
INFO: Current Inventory:

INFO: Deleting the directory: /data/oracle/product/10.2/crs
INFO: This deinstallation was successful

在上面的日志文件中可以看到错误主要是由于没有权限删除root用户建立的目录,可以利用root来删除这个目录,CLUSTERWARE的卸载完成。

但是由于没有进行清理工作,因此节点上还有一些进程没有被停止:

bash-2.03$ ps -ef|grep ora
  oracle  2534     1  0   Feb 21 ?        0:00 /data/oracle/product/10.2/crs/opmn/bin/ons -d
  oracle 15523 15403  0 09:40:28 pts/1    0:00 bash
  oracle  1309  1308  0   Feb 21 ?        0:00 /bin/sh -c ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/racnode1/c
  oracle  1932     1  0   Feb 21 ?        1:02 /data/oracle/product/10.2/database/bin/tnslsnr LISTENER1_RACNODE1 -inherit
  oracle  1308  1150  0   Feb 21 ?        0:00 sh -c /bin/sh -c 'ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/rac
    root   377     1  0   Feb 21 ?       152:16 /data/oracle/product/10.2/crs/bin/crsd.bin reboot
  oracle   375     1  0   Feb 21 ?        0:00 sh -c sh -c 'ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/racnode1
    root  1216  1147  0   Feb 21 ?        0:00 /data/oracle/product/10.2/crs/bin/oprocd run -t 1000 -m 500 -f
  oracle  1562  1151  0   Feb 21 ?        1:01 /data/oracle/product/10.2/crs/bin/evmlogger.bin -o /data/oracle/product/10.2/cr
  oracle  1151   375  0   Feb 21 ?       16:10 /data/oracle/product/10.2/crs/bin/evmd.bin
  oracle  1310  1309  0   Feb 21 ?       85:41 /data/oracle/product/10.2/crs/bin/ocssd.bin
  oracle  2536  2534  0   Feb 21 ?        0:03 /data/oracle/product/10.2/crs/opmn/bin/ons -d
  oracle 17996 15523  0 09:42:04 pts/1    0:00 grep ora
  oracle 15403 15401  0 09:40:23 pts/1    0:00 -sh
bash-2.03$ su -
Password:
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
You have new mail.
# /etc/init.d/init.crs stop
Shutting down Oracle Cluster Ready Services (CRS):
Shutdown has begun. The daemons should exit soon.
# ps -ef|grep ora
  oracle  2534     1  0   Feb 21 ?        0:00 /data/oracle/product/10.2/crs/opmn/bin/ons -d
  oracle 15523 15403  0 09:40:28 pts/1    0:00 bash
  oracle  1309  1308  0   Feb 21 ?        0:00 /bin/sh -c ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/racnode1/c
  oracle  1932     1  0   Feb 21 ?        1:02 /data/oracle/product/10.2/database/bin/tnslsnr LISTENER1_RACNODE1 -inherit
  oracle  1308  1150  0   Feb 21 ?        0:00 sh -c /bin/sh -c 'ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/rac
    root   377     1  0   Feb 21 ?       152:16 /data/oracle/product/10.2/crs/bin/crsd.bin reboot
  oracle   375     1  0   Feb 21 ?        0:00 sh -c sh -c 'ulimit -c unlimited; cd /data/oracle/product/10.2/crs/log/racnode1
    root  1216  1147  0   Feb 21 ?        0:00 /data/oracle/product/10.2/crs/bin/oprocd run -t 1000 -m 500 -f
  oracle  1562  1151  0   Feb 21 ?        1:01 /data/oracle/product/10.2/crs/bin/evmlogger.bin -o /data/oracle/product/10.2/cr
  oracle  1151   375  0   Feb 21 ?       16:10 /data/oracle/product/10.2/crs/bin/evmd.bin
  oracle  1310  1309  0   Feb 21 ?       85:41 /data/oracle/product/10.2/crs/bin/ocssd.bin
    root 18632 18287  0 09:42:34 pts/1    0:00 grep ora
  oracle  2536  2534  0   Feb 21 ?        0:03 /data/oracle/product/10.2/crs/opmn/bin/ons -d
  oracle 15403 15401  0 09:40:23 pts/1    0:00 -sh

可以看到,通过/etc/init.d/init.crs已经无法关闭已启动的cluster进程了。其他两个节点的情况类似。

如果说这些进程重启后就会消失,那么ASM实例对裸设备头的修改没有清除,这样以后重建RAC的时候会发现以前的磁盘组文件仍然存在,且没有办法重新使用。

首先找到ocr对应的裸设备:

bash-2.03$ more /var/opt/oracle/ocr.loc
ocrconfig_loc=/dev/rac/ocr
local_only=FALSE
bash-2.03$ ls -l /dev/rac/ocr
lrwxrwxrwx   1 root     other         18 Nov 26 16:52 /dev/rac/ocr -> /dev/rdsk/c2t1d2s1

然后利用dd手工清理ocr设备:

# dd if=/dev/zero f=/dev/rdsk/c2t1d2s1 skip=25 bs=4k count=2560
2560+0 records in
2560+0 records out

清除/var/opt/oracle目录下所有的文件,否则会导致以后安装CLUSTERWARE的时候报错,Oracle会认为系统中已经配置过CLUSTERWARE

至于留下的cluster相关的进程,无论是KILL的方式,还是REBOOT的方式,总之重启系统是不可避免的了。

 

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

转载于:http://blog.itpub.net/4227/viewspace-670042/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值