Oracle10g RAC 刪除及加入節點 - updated

tolywang發表於2009-11-04

最好先刪除壞掉的節點資訊,然後加入新的,否則加入新的幾點會不斷報錯。


1. 注意,下列操作均是在確實要保留的例項上進行,不要選擇在要被刪除的節點上進行操作;作業請做好備份工作。      

    
2. 這裡節點2出現問題,正常關閉後已經下線,但是節點2的VIP漂移到了節點1上 。         

 
3. 刪除資料庫例項: 在節點1上dbca 刪除節點2的例項(雖然節點2 Server已經關閉)。         

 
4. 選擇RAC database,選擇Instance Management,Delete Instance,          
5. 選擇要操作的資料庫,並輸入一個具有sysdba許可權的使用者及密碼          
6. 選擇一個要刪除的例項,這裡是mxdell2           
7. 確定刪除點選OK,接下來可能會跳出一些視窗,如果非報錯,同樣直接點選OK即可         

 
8. 開始進行刪除操作          
9. 刪除ASM例項,這裡沒有使用ASM,所以不用這一步。          
10. 在節點1上 $ crs_stat -t  檢視一下,節點2上例項已經不存在。          
11. 刪除節點資訊: 刪除節點2的監聽服務,在節點1上執行netca .          
12. 停止目標節點apps :  在節點1上執行 srvctl  stop nodeapps  -h           
13. 刪除目標節點2資料庫軟體, 更新Oracle Inventory, [oracle@node1]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME

 "CLUSTER_NODES=mxrac01,mxrac03"           


14. 接下來在要被刪除的節點上執行下列命令,同樣是更新Oracle Inventory, 這裡節點2已經不再了,就不用執行了。
[oracle@mxrac02]$

$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME ""CLUSTER_NODES=mxrac02"" -local "     

     
15. 然後就可以在節點2刪除該節點上的資料庫軟體了(注意選擇ORACLE軟體,不是crs哦),這裡節點2是關閉的,所以不需要執行刪除。
[oracle@mxrac02]$

$ORACLE_HOME/oui/bin/runInstaller   -deinstall "          

16. 刪除ONS配置: 在保留節點1上執行
[oracle@mxrac01]$ $ORA_CRS_HOME/bin/racgons remove_config mxrac02:6200 "     

     
"刪除節點2  CRS 服務,進入/u01/product/crs/install 目錄,執行rootdelete.sh
[root@rac2 install]# ./rootdelete.sh (在刪除節點執行)"  

        
17. 刪除NodeApps,在保留節點1上執行, 以root身份執行 :
[root@mxrac01]# /u01/product/crs/bin/srvctl remove nodeapps -n  maxrac02
Please

confirm that you intend to remove the node-level applications on node mxrac02 (y/[n]) y "       

   
18. 執行完上述命令後,返回oracle使用者,執行crs_stat檢視當前應用的狀態,可以看到節點2的資訊已經都不存在了。     

     
"19. 刪除目標節點clusterware軟體, 這裡就是選擇crs了,在存在的節點1上執行:
[oracle@mxrac01]$ $ORA_CRS_HOME/oui/bin/runInstaller -

updateNodeList ORACLE_HOME=$ORA_CRS_HOME ""CLUSTER_NODES=mxrac01,mxrac03""  CRS=TRUE "        

  
"20. 然後切換至目標節點2,執行更新Oracle Inventory的操作, 由於節點2已經關機,所以這裡不用執行。
[oracle@mxrac02]$

$ORA_CRS_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORA_CRS_HOME ""CLUSTER_NODES=mxrac02""  CRS=TRUE  -local "   

       
"21. 接下來在目標節點2執行runInstaller -deinstall命令,執行clusterware軟體的刪除操作(注意是在視窗介面操作):
[oracle@mxrac02]$

$ORA_CRS_HOME/oui/bin/runInstaller  -deinstall ,這裡由於節點2已經關閉,所以不用執行。"        

  

 

22. 從OCR中刪除節點資訊:
[oracle@jssdbn1 ~]$ cd $ORA_CRS_HOME/bin
[oracle@jssdbn1 bin]$ ./olsnodes -n -i
mxrac01 1 mxrac01-vip
mxrac02 2  
mxrac03 3 mxrac03-vip

儘管透過前面的操作,ORACLE軟體以及叢集件均已被刪除,節點資訊也更新過了,不過OCR中還是保留有mxrac02 節點的資訊,因此這塊也需要刪除,執行指令碼如

下:

[root@jssdbn1 ~]# cd /data/ora10g/product/10.2.0/crs_1/install
[root@jssdbn1 install]# ./rootdeletenode.sh jssdbn3,3
CRS-0210: Could not find resource ¨ora.jssdbn3.LISTENER_JSSDBN3.lsnr¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.ons¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.vip¨.
CRS-0210: Could not find resource ¨ora.jssdbn3.gsd¨.
CRS-0210: Could not find resource ora.jssdbn3.vip.

CRS nodeapps are deleted successfully
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully deleted 14 values from OCR.
Key SYSTEM.css.interfaces.node mxrac02 marked for deletion is not there. Ignoring.
Successfully deleted 5 keys from OCR.
Node deletion operation successful.
¨mxrac02,2¨ deleted successfully

[root@jssdbn1 install]# exit
logout
[oracle@jssdbn1 bin]$ ./olsnodes -n -i
mxrac01 1 mxrac01-vip 
mxrac03 3 mxrac03-vip

 

加入節點步驟:

 


http://junsansi.itpub.net/post/29894/494352          
安裝Linux Packages,  OCFS2安裝 , 核心引數,掛載磁碟可以事先做好           
1. 初始化新加入的節點4,# vi  /etc/hosts , 在所有節點加入節點4的資訊,當然4節點也要包括1,3節點的       

    
"10.13.67.174    mxrac04
192.168.1.14    mxpri04
10.13.67.184    mxvip04"         

 
2. 在新節點4配置SSH金鑰認證          
# su -  oracle           
$ cd  /home/oracle           
$ mkdir  .ssh          
$ chmod  700  .ssh           
$ ssh-keygen  -t  rsa           
$ ssh-keygen  -t  dsa           
3. 然後轉到RAC01上執行,以oracle身份操作 (執行過程中,當訪問遠端節點時可能需要輸入目標節點的密碼): :       

    
$ cd  /home/oracle/.ssh           
$ ssh  mxrac04  cat /home/oracle/.ssh/id_rsa.pub  >>authorized_keys           
$ ssh  mxrac04  cat /home/oracle/.ssh/id_dsa.pub  >>authorized_keys           
4. 然後在節點1上傳輸節點1中的配置好的認證金鑰資訊到節點3和新加入的節點4          

 
$ scp   /home/oracle/.ssh/authorized_keys  mxrac03:/home/oracle/.ssh/          
$ scp   /home/oracle/.ssh/authorized_keys  mxrac04:/home/oracle/.ssh/          
5. 配置完成後,在三個節點分別執行下列命令(生成know_hosts):某些節點第一次執行上述某些命令時可能會提示輸入目標節點的密碼,沒有關係,輸入就是

。不過執行過一次之後,應該就不會再需要輸入密碼了          
$ssh  mxrac01  date           
$ssh  mxrac03  date           
$ssh  mxrac04  date           
$ssh  mxpri01  date           
$ssh  mxpri03  date           
$ssh  mxpri04  date           
6. 新節點的配置基本完成,下面準備開始安裝crs(確保ocfs2已經安裝完成) 。          
7. 新增clusterware到新節點          
在節點1上  $ /u01/packages/clusterware/cluvfy 執行下面的命令檢查安裝環境:          

 
[oracle@mxrac01]$ /u01/packages/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n  mxrac04  -verbose     

     
如果返回資訊中提示“Could not find a suitable set of interfaces for VIPs.”,可以忽略該錯誤資訊,這是一個bug,Metalink中有詳細說明,

doc.id:338924.1。  參考  http://space.itpub.net/7607759/viewspace-620131           

 
8. 安裝clusterware到新節點4上 ,在節點1上(VNC xwindows介面)          
$ cd  /u01/product/crs/oui/bin            
$ ./addNode.sh   介面中加入節點4的一些資訊,然後安裝(其實主要是從節點1複製檔案到遠端新節點),然後按順序執行以下指令碼(root):    

       
"節點4上執行orainstRoot.sh;
節點1上執行rootaddnode.sh;
節點4上執行root.sh;  --  注意:執行這個指令碼之前需要更改vip中的程式碼 (對應一個

bug:3937317)

修改VIP檔案: # vi /u01/product/crs/bin/vipca  在fi後面加入  unset LD_ASSUME_KERNEL
注意scrctl也需要更改一下:   # vi

/u01/product/crs/bin/srvctl  在export後面加入  unset LD_ASSUME_KERNEL
然後應該是VIPCA的配置畫面,完成後點選OK . "    

      
"9. 接下來需要將新節點的ONS(Oracle Notification Services)配置資訊寫入OCR(Oracle Cluster Register),在節點1執行指令碼如下:=
[oracle@mxrac01]$

/u01/product/crs/bin/racgons add_config mxrac04:6200"          
10. 至此,新節點的CLUSTERWARE配置完成,要檢查安裝的結果,可以在新節點中呼叫cluvfy命令進行驗證       

   
"[oracle@mxrac04 ]$ /u01/product/crs/bin/cluvfy stage -post crsinst -n mxrac04 -verbose
參考:   http://space.itpub.net/7607759/viewspace-

620131

如果報錯
ERROR:
CRS is not installed on any of the nodes.
Verification cannot proceed.
需要在新節點上改許可權:
# chmod 644

/etc/oraInst.loc
# ls -l /etc/oraInst.loc"          
11. 複製oracle軟體到新節點,我們選擇在節點1上操作(VNC xwindows介面):           
[oracle@mxrac01]$ cd   /u01/product/oracle/oui/bin            
$ ./addNode.sh    介面中選擇要加入的節點4 ,點選安裝後ORACLE 自動開始複製檔案到新節點中        

  
複製操作完成後,提示在新節點即mxrac04 執行指令碼,注意要以root身份進行          
上述指令碼成功執行後,返回視窗介面點選OK,提示安裝成功,點選exit退出介面即可。         

 
          
12.配置監聽服務到新節點, 在新節點4上 以ORACLE身份登陸到linux系統,執行$ORACLE_HOME/bin目錄中的netca命令即可     

     
配置前注意備份原節點1,3的listener.ora及tnsnames.ora 檔案。           
          
"13. 最後還要從節點1  tnsnames.ora中複製local_listener.ora 到新節點4中。 設定為:
LOCAL_MXDELL =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL =

TCP)(HOST = 10.13.67.174)(PORT = 1521))
  )
配置好所有節點的listener.ora , tnsnames.ora 檔案"       

   
          
14. 新增例項到新節點4 ,我們選擇在節點1上執行dbca (VNC XWINDOWS介面),千萬注意其中redo log thread的問題。          
選擇"Instance Management”, 選擇"Add an instance“, 然後選擇一個RAC資料庫(如果當前存在多個RAC環境的話),再一個就是指定一個具有SYSDBA許可權的使用者及密碼; 彈出介面顯示當前RAC配置中擁有的例項,直接點選下一步即可; 為新節點上的例項命名(mxdell4)          
接下來,需要定義一些與例項相關的檔案,比較UNDO、REDOLOG等,想省事的話此處保持預設即可,因為這些資訊如果發現不合適,後期也都是可調的。確認無誤後,點選FINISH按鈕 ; 在此期間,ORACLE開始自動在新節點上建立例項          
          
15. 截止到目前,新節點已經是這個RAC配置中的一員了,使用crs_stat -t 命令檢視         

 
任意結節登陸sqlplus命令列,查詢gv$instance檢視 ;           

 

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

相關文章