1、被删除节点一切保留,需要从RAC中剔除,例如因为要更换服务器。
2、被删除节点关于RAC的部分文件丢失,如GI、库软件误删除,需要重新安装GI或oracle库软件。
实验场景:
三节点RAC,主机名是rac1、rac2、rac3,现在需要删除rac3。
[root@rac1 ~]# olsnodes -t �Cs
在所有保留节点上执行:
[root@rac ~]# crsctl unpin css -n rac3
在任一保留的节点上删除rac3实例
[oracle@rac1 ~]$ dbca �C图形界面
验证rac3实例已被删除
查看活动的实例:
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> select thread#,status,instance from v$thread;
查看库的配置:
[root@rac1 ~]# srvctl config database -d orcl
[root@rac3 ~]# srvctl config listener -a
[root@rac3 ~]# srvctl disable listener -l listener -n rac3
[root@rac3 ~]# srvctl stop listener -l listener -n rac3
[root@rac3 ~]# su �C oracle
[oracle@rac3 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac3}” -local
在rac3节点上执行:
[root@rac3 ~]# su �C oracle
[oracle@rac3 ~]$ $ORACLE_HOME/deinstall/deinstall -local
[oracle@rac1 bin]$ srvctl stop nodeapps -n rac3 -f
�C发现停了rac3节点的ons和VIP
在每个保留的节点上执行:
[root@rac1 ~]# su �C oracle
[oracle@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}”
[root@rac2 ~]# su �C oracle
[oracle@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}”
在rac3节点上执行:
[root@rac3 ~]# su �C root
[root@rac3 ~]# /u01/grid/crs/crs/install/rootcrs.pl -deconfig �Cforce
如果第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
[root@rac1 ~]# crsctl delete node -n rac3
[root@rac1 ~]# olsnodes -t -s
在rac3节点上执行:
[root@rac3 ~]# su �C grid
[grid@rac3 ~]# $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac3}” CRS=true -local
在rac3节点上执行:
[root@rac3 ~]# su �C 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’。
在所有保留的节点上执行:
[root@rac1 ~]# su �C grid
[grid@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}” CRS=true
[root@rac2 ~]# su �C grid
[grid@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={rac1,rac2}” CRS=true
在任一保留的节点上:
[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;
在任一保留的节点上:
[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;