如何安全卸载Oracle RAC

发表于:2007-12-10 16:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:RickyZhu    来源:RickyZhu 的博客

        因为测试需要,我会比较频繁的安装和卸载Oracle Clusterware,RAC,卸载和安装本身都有OUI工具可以使用,但是速度比较慢,而且需要过多的人工干预。如果直接把OracleHome删掉,杀掉所有相关进程,重启机器也可以解决问题,不过我认为这是一种比较粗暴的方式。
        如果采用自动化的手段不仅可以提高效率,而且对于了解卸载本身的过程有一定帮助,今天就结合我写的一个简单的脚本介绍一下如何用六步快速安全卸载Oracle RAC。

        脚本分为这么几个部分:
1. stop and delete RAC instance, drop the database
2. stop and delete ASM instance
3. stop and delete listener
4. stop crs stack and clean related resource
5. clean ocr context
6. change permission and remove related ORACLE directory and Clusterware directory

        其中4,5都可以直接利用Clusterware 目录install下面的脚本进行,所以这里主要介绍1,2,3,6.


1. stop and drop database

#!/bin/ksh

db=`srvctl config database`
echo “db=$db”
nl=`srvctl config databaes -d $db | awk ‘{print $2}’`
echo “nl=$nl”

srvctl stop database -d $db
srvctl remove database -d $db -f

for n in $nl
do
echo “stop and remove instance on instance $n”
srvctl stop instance -d $db -i $n
srvctl remove instance -d $db -i $n -f

done
echo “stop and remove database instance done”

2. stop and drop asm instance

#!/bin/ksh

nl=`olsnodes`

for n in $nl
do
srvctl stop asm -n $n
srvctl remove asm -n $n

done
echo “stop and remove asm done”

3. stop and drop listener

lsnr=`crs_stat |grep lsnr | cut -d= -f2`
for l in $lsnr
do
crs_stop $l
crs_unregister $l

done
echo “stop and remove listener done”

4. stop crs stack and clean related resource

        这里需要注意的是,这里的操作必须一个节点一个节点的执行,不能并行操作,就如同安装的时候执行root.sh一样!切记切记.

on local node:
$ORA_CRS_HOME/install/rootdelete.sh local nosharedvar nosharedhome

on remote nodes:
$ORA_CRS_HOME/install/rootdelete.sh remote nosharedvar nosharedhome

5. clean ocr

only execute this on local node:
$ORA_CRS_HOME/install/rootdeinstall.sh

6. change permission and remove directory
        这里之所以要更改权限是因为安装后期运行root.sh的时候会把ORA_CRS_HOME的父目录改为root权限,下次安装的时候必须修改为oracle用户

chown -Rf ractest:oinstall $ORA_CRS_HOME/../../../
rm -Rf $ORA_CRS_HOME;rm -Rf $ORACLE_BASE/../oraInventory; rm -Rf $ORACLE_BASE;rm -Rf /var/opt/oracle;rm -Rf /var/tmp/.oracle/*;rm -Rf /tmp/*;

        到这里为止,下载任务就可以完成,既可以重新进行Clusterware和RAC的安装了。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号