1适用场景
1、被删除节点一切保留,需要从RAC中剔除,例如因为要更换服务器。
2、被删除节点关于RAC的部分文件丢失,如GI、库软件误删除,需要重新安装GI或oracle库软件。
实验场景:
三节点RAC,主机名是rac1、rac2、rac3,现在需要删除rac3。
2具体步骤
2.1 Unpin rac3节点
[root@rac1 ~]# olsnodes -t –s
在所有保留节点上执行:
[root@rac ~]# crsctl unpin css -n rac3
2.2 使用dbca删掉rac3实例
在任一保留的节点上删除rac3实例
[oracle@rac1 ~]$ dbca –图形界面
验证rac3实例已被删除
查看活动的实例:
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
查看库的配置:
[root@rac1 ~]# srvctl config database -d orcl
2.3 停止rac3节点的监听
[root@rac3 ~]# srvctl config listener -a
[root@rac3 ~]# srvctl disable listener -l listener -n rac3
[root@rac3 ~]# srvctl stop listener -l listener -n rac3
2.4 在rac3节点使用使用oracle用户更新集群列表
[root@rac3 ~]# su – oracle
[oracle@rac3 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac3}” -local
2.5 删除rac3节点的库软件
在rac3节点上执行:
[root@rac3 ~]# su – oracle
[oracle@rac3 ~]$ $ORACLE_HOME/deinstall/deinstall -local
2.6 在任一保留的节点上停止rac3节点NodeApps
[oracle@rac1 bin]$ srvctl stop nodeapps -n rac3 -f
–发现停了rac3节点的ons和VIP
2.7 在保留节点使用oracle用户更新集群列表
在每个保留的节点上执行:
[root@rac1 ~]# su – oracle
[oracle@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}”
[root@rac2 ~]# su – oracle
[oracle@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}”
2.8 删除rac3节点的集群软件
在rac3节点上执行:
[root@rac3 ~]# su – root
[root@rac3 ~]# /u01/grid/crs/crs/install/rootcrs.pl -deconfig –force
2.9 删除rac3节点的VIP
如果第8步执行顺利的,rac3节点rac3的VIP此时已被删除,在任一保留节点执行crs_stat -t验证一下:
[root@rac1 ~]# crs_stat -t
如果仍然有rac3节点的VIP服务存在,执行如下:
[root@rac1 ~]# srvctl stop vip -i ora.rac3.vip -f
[root@rac1 ~]# srvctl remove vip -i ora.rac3.vip -f
[root@rac1 ~]# crsctl delete resource ora.rac3.vip -f
2.10在任一保留的节点上删除rac3节点
[root@rac1 ~]# crsctl delete node -n rac3
[root@rac1 ~]# olsnodes -t -s
2.11rac3节点使用grid用户更新集群列表
在rac3节点上执行:
[root@rac3 ~]# su – grid
[grid@rac3 ~]# $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac3}” CRS=true -local
2.12rac3节点删除集群软件
在rac3节点上执行:
[root@rac3 ~]# su – grid
[grid@rac3 ~]# $ORACLE_HOME/deinstall/deinstall -local — 一路选择“是”
新开一个终端,以root 用户运行提示的脚本,如下:
[root@rac3 ~]# /tmp/deinstall2013-07-02_02-28-55PM/perl/bin/perl -I/tmp/deinstall2013-07-02_02-28-55PM/perl/lib -I/tmp/deinstall2013-07-02_02-28-55PM/crs/install /tmp/deinstall2013-07-02_02-28-55PM/crs/install/rootcrs.pl -force -deconfig -paramfile “/tmp/deinstall2013-07-02_02-28-55PM/response/deinstall_Ora11g_gridinfrahome1.rsp”
运行完后,返回原终端按回车,继续运行暂停的脚本。
当会话结束时在节点 ‘rac3′ 上以 root 用户身份运行 ‘rm -rf /etc/oraInst.loc’。
当会话结束时在节点 ‘rac3′ 上以 root 身份运行 ‘rm -rf /opt/ORCLfmap’。
2.13保留节点使用grid用户更新集群列表
在所有保留的节点上执行:
[root@rac1 ~]# su – grid
[grid@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}” CRS=true
[root@rac2 ~]# su – grid
[grid@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}” CRS=true
2.14验证rac3节点被删除
在任一保留的节点上:
[grid@rac1 ~]$ cluvfy stage -post nodedel -n rac3
[grid@rac1 ~]$ crsctl status resource -t
验证rac3节点被删除
查看活动的实例:
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
3验证rac3节点被删除
在任一保留的节点上:
[grid@rac1 ~]$ cluvfy stage -post nodedel -n rac3
[grid@rac1 ~]$ crsctl status resource -t
验证rac3节点被删除
查看活动的实例:
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
本文转自东方之子736651CTO博客,原文链接:http://blog.51cto.com/ecloud/1335642 ,如需转载请自行联系原作者