linux下rac環境下刪除節點

inthirties2發表於2010-02-24
os:linux as 4 版本:oracle10gr2

我的環境是oracle_home==/u01/app/oracle/product/10.2.0/db_1,crs_home==/u02/app/oracle/product/10.2.0/db_1

rac01 的 oracle_sid=orcl1

rac02 的 oracle_sid=orcl2

rac03 的 oracle_sid=orcl3

首先檢查叢集資訊,以root使用者登陸,進入CRS目錄
./olsnodes -n

rac01 1
rac02 2
rac03 3

該過程將透過下3個步驟實現
1. 刪除資料庫例項
2. 刪除ASM例項
3. 刪除節點

第一步 從RAC中刪除資料庫例項

該步驟將完成如下:
撤銷選擇的例項在關聯的Oracle Net Services監聽中的註冊
從例項配置節點中刪除選擇的例項
刪除Oracle網路配置
從例項配置節點中刪除OFA目錄結構


使用oracle使用者登陸,執行DBCA命令
在保留節點節點上執行。
例項管理->例項刪除->輸入具備SYSDBA許可權的使用者->選擇要刪除的例項

如果節點不可訪問,則應該刪除刪除該例項的udump/bdump/cdump目錄。
如果使用DBCA無法移除所有元件,那麼可能需要使用SRVCTL命令手動地從OCR中刪除例項。
srvctl remove instance -d grid -i orcl1

第二步 從節點刪除ASM例項(如果使用ASM)

刪除節點
1. 停止使用被刪ASM例項的所有資料庫
2. 刪除ASM例項
srvctl stop asm -n rac01
srvctl remove asm -n rac01
3. 刪除ASM Oracle目錄

第三步 從RAC中刪除節點


刪除節點前要保證設定正確的$CRS_HOME和$ORACLE_HOME環境變數。
1.以root使用者登陸,停止節點上的應用程式
# srvctl stop nodeapps -n rac01

2.仍然以root使用者,執行rootdeletenode.sh指令碼
# ORACLE_HOME/install/rootdeletenode.sh rac01

3.切換到oracle使用者登陸,執行帶updateNodeList選項的安裝程式(在以前的步驟相同的節點上執行)
$ ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 CLUSTER_NODES=rac02,rac03

4.在要刪除的節點上以root使用者執行,以停止CRS棧和刪除要移除節點上的ocr.loc檔案(/etc/oracle/orc.loc)
# u02/app/oracle/product/10.2.0/db_1/install/rootdelete.sh remote nosharedvar

5.切換到執行前幾個步驟的節點,仍然以root使用者執行CRS_HOME/install目錄裡面的rootdeletenode.sh指令碼,注意這裡必須進入install目錄,還有必須指定節點名和節點號,參看執行olsnodes命令的結果。
# ./rootdeletenode.sh rac01,1

6.再次進入CRS目錄執行olsnodes命令,察看是否只剩下餘下的節點
# ./olsnodes -n
rac02 2
rac03 3

7.切換回oracle使用者,在CRS_HOME目錄中(注意,這次是CRS_HOME,而不是ORACLE_HOME),執行帶updateNodeList安裝程式。
# u02/app/oracle/product/10.2.0/db_1/oui/bin/runInstaller -updateNodeList ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 CLUSTER_NODES=rac02,rac03 CRS=TRUE

8.最後,在移除的節點上,刪除oracle_home,crs_home,並刪除軟連線。
Linux:
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

當然,如果要移除的節點不可用,只需要跳過步驟4就行了。
[@more@]

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

相關文章