RAC常用管理命令--叢集、例項、資源管理-更新中

還不算暈發表於2013-10-27

在Oracle 11gR2 下的RAC,架構發生了變化。CRS的資訊也是放在ASM 例項裡的,所以要關asm,必須關閉crs, 如果還使用了acfs的話,一關crs那麼acfs裡的資訊也不能訪問了,所以一般不重啟機器,不輕易關crs, 其他的service可以根據自己的需要去stop/start。

1.整個叢集的停止和啟動叢集

方法一:

用root使用者,在Oracle11gR2中停止和啟動叢集的命令如下:

注意:

對於crsctl stop has 只有一個可選的引數就是-f,該命令只能停執行該命令伺服器上的HAS.而不能停所有節點上的。所以要把RAC 全部停掉,需要在所有節點執行該命令。

下面的2個命令:使用crs 和 使用has 效果是完全一樣的:

#crsctl stop crs [-f]

#crsctl start crs

方法二;

只停止當前節點上的cluster

[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster

如下所示,在rac01和rac02上停止oracle clusterware系統:
[root@rac02 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster –all

注:在執行“crsctl stop cluster”命令之後,如果 Oracle Clusterware 管理的
資源中有任何一個還在執行,則整個命令失敗。使用 -f 選項無條件地停止所有資源並
停止 Oracle Clusterware 系統。


還可以通過列出伺服器(各伺服器之間以空格分隔)在叢集中一個或多個指定的伺服器上啟動 Oracle Clusterware 系統:
[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster -n rac01 rac02
在本地伺服器上啟動oralce clusterware系統:
[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster

注:可通過指定 -all 選項在叢集中所有伺服器上啟動 Oracle Clusterware 系統。
[root@rac02 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster –all
 


二、對某些資源的操作,具體就是使用SRVCTL 命令

SCAN狀態以及配置

[grid@rac1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node rac1
[grid@rac1 ~]$ srvctl config scan
SCAN name: rac-scan, Network:1/192.168.16.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP:/rac-scan/192.168.16.207

srvctl status listener # 檢查TNS listener的狀態

VIP各個節點的狀態以及配置
[grid@rac1 ~]$ srvctl status vip -n rac1
VIP rac1-vip is enabled
VIP rac1-vip is running on node: rac1
[grid@rac1 ~]$ srvctl status vip -n rac2
VIP rac2-vip is enabled
VIP rac2-vip is running on node: rac2
[grid@rac1 ~]$ srvctl config vip -n rac1
VIP exists: /rac1-vip/192.168.16.201/192.168.16.0/255.255.255.0/eth0,hosting node rac1
[grid@rac1 ~]$ srvctl config vip -n rac2
VIP exists:/rac2-vip/192.168.16.203/192.168.16.0/255.255.255.0/eth0, hosting node rac2

列出VIP、GSD、ONS、監聽器:

[grid@rac1 ~]$ srvctl config nodeapps -a -g-s
Network exists:1/192.168.16.0/255.255.255.0/eth0, type static
VIP exists:/rac1-vip/192.168.16.201/192.168.16.0/255.255.255.0/eth0, hosting node rac1
VIP exists:/rac2-vip/192.168.16.203/192.168.16.0/255.255.255.0/eth0, hosting node rac2
GSD exists
ONS exists: Local port 6100, remote port6200, EM port 2016
Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/grid/11.2.0 on node(s) rac2,rac1
End points: TCP:1521

檢視資料庫與例項的相關資訊

srvctl config database # 列出安裝的資料庫
srvctl config database -d rac -a # 檢查資料庫相關的資訊
srvctlstatus database -d RAC # 檢查資料庫的狀態
srvctl status instance -d RAC -i rac1 # 檢查指定例項的狀態

srvctl config asm -a # ASM配置
srvctl status asm # ASM的狀態

srvctl start database -d rac # 啟動資料庫所有例項
srvctl stop database -d rac # 關閉資料庫所有例項

srvctl start instance -d rac -i rac1 # 啟動指定的例項
srvctl stop instance -d rac -i rac2 # 關閉指定例項

以下未測試
start/stop/check 所有的nodeapps,比如:VIP, GSD, listener, ONS:
srvctl start|stop|status nodeapps -n<node_name>

可以獲取所有的環境資訊:
srvctl getenv database -d <db_name> [-i<instance_name>]

設定全域性環境和變數:
srvctl setenv database -d<db_name> -t LANG=en

從OCR中刪除已有的資料庫:
  srvctl remove database -d <db_name>

向OCR中新增一個資料庫的例項:
srvctl add instance -d <db_name> -i<instance_name> -n <node1>
srvctl add instance -d <db_name> -i<instance_name> -n <node2>


#################################################


節點層: olsnodes ( 應該就這一個命令,沒用過別的),顯示網路節點名,public,vip,priv。 ( 11g 中顯示ip需要-l 引數,10g不用)
網路層:oifcfg 。(10,11一樣)
叢集層:crsctl
        crsctl start crs ( /etc/init.d/init.crs start ) 兩種皆可,應該是最有用的。
        crsctl status resource -t ( 顯示資源狀態,10g中為crs_stat ,11g也可以用,除了多了一列STATE_DETAILS,沒感覺啥區別,望高手告知)
        crsctl check crs  叢集健康狀況檢查。(如果是11g的,可以用crsctl check cluster -all 能同時檢查2個節點的,10g就1個個來吧)
        ocrcheck  
        crsctl query css votedisk  感覺意義不大,用的很少
        ocrdump  ocrconfig 就虛擬機器上玩過。
        crsctl debug log css "CSSD:1" 出了問題可以試試,難以看懂
        
應用層:srvctl,crs_stat
        crs_stat -t
        srvctl stop database -d xxdb -o immediate 生產上經常會用到,例行停機或者升級時。記著加 -o 引數,要不你的生產庫容易掛到那裡
        srvctl config database -d xxdb 檢視資料庫資訊
        srvctl remove 是把資源從crs上remove掉,不是解除安裝刪除。

引數檔案:
        生產上容易出現修改引數後資料起不來的情況,往往因為引數修改的問題
        create pfile='/tmp/xx.ora' from spfile;
        startup pfile='/tmp/xx.ora'
        create spfile from pfile='/tmp/xx.ora'
redo,undo,arch最好都放在共享儲存上。因為一個節點掛了,另外一個節點要讀取這個節點的redo,undo。
修改歸檔路徑要修改log_archive_dest_1引數,因為在企業版中log_archive_dest已經been deprecated了。

相關文章