現象描述:
在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 <crs pid>
ps -ef | grep evm
kill <evm pid>
ps -ef | grep css
kill <css pid>
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清除乾淨。