【新炬網路名師大講堂】Oracle 11g rac 刪除節點

shsnchyw發表於2014-12-11

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;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1364715/,如需轉載,請註明出處,否則將追究法律責任。

相關文章