Oracle 11gR2 RAC集羣服務啓動與關閉總結

《Oracle 11gR2 RAC集羣服務啓動與關閉總結》

新年新羣招募: 中國Oracle精英聯盟 170513055

羣介紹:本羣是大家的一個技術分享社區,在這裏可以領略大師級的技術講座,還有機會參加Oracle舉辦的技術沙龍,與興趣相投的小夥伴一起笑談風雲起,感悟職場情!

引言:這寫篇文章的出處是因爲我的一名學生最近在公司搭建RAC集羣,但對其啓動與關閉的順序和原理不是特別清晰,我在教學工作中也發現了很多學員對RAC知識瞭解甚少,因此我在這裏就把RAC裏面涉及到的最常用的啓動與關閉順序和命令逐一列舉出來,由於RAC的後臺資源較多,因此涉及到的命令也很多,最後附上幫助手冊讓在工作中臨時使用時也可以迅速查到,如果這篇文章能夠幫到大家就是我今後繼續努力撰寫的動力,感謝大家對我文章的瀏覽多提寶貴意見。
實驗
關閉過程(CRS集羣關閉->關閉數據庫)
1.關閉數據庫:
用oracl用戶執行srvctl命令
語法:srvctl stop database -d dbname [-o immediate]
作用:可以一次性關閉dbname的所有實例
[oracle@rac1 ~]$ srvctl stop database -d racdb  -停止所有節點上的實例
然後查看狀態:
[oracle@rac1 ~]$ srvctl status database -d racdb     
Instance rac1 is not running on node rac1
Instance rac2 is not running on node race
2.停止HAS(High Availability Services),必須以root用戶操作
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@rac1 bin]# ./crsctl stop has -f
[root@rac1 bin]# ./crsctl stop crs -f
本命令只能關閉當前節點的CRS服務,因此需要在RAC的所有節點上執行,啓動也一樣。has與crs等同
3.停止節點集羣服務,必須以root用戶:

[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@rac1 bin]# ./crsctl stop cluster        ----停止本節點集羣服務 
[root@rac1 bin]# ./crsctl stop cluster -all   ---停止所有節點服務
也可以如下控制所停節點:
[root@rac1 bin]# crsctl stop cluster -n rac1 rac2
CRS-2677: Stop of 'ora.cssd' on 'rac1' succeeded
CRS-2677: Stop of 'ora.cssd' on 'rac2' succeeded
。。。。。。。。。。。省略日誌輸出。。。。。。。。。。。。。。
你如果想一條命令把所有的進程全部停止可以使用上述命令。如果不指定參數的話對當前節點有效,如果指定參數的話對相關參數節點有效。
4.檢查集羣進程狀態
[root@rac1 bin]# crsctl check cluster
詳細輸出
[root@rac1 bin]# crs_stat -t -v
只檢查本節點的集羣狀態
[root@rac1 bin]# crsctl check crs

啓動過程(CRS集羣啓動->啓動數據庫)
1.啓動HAS
單一節點啓動
[root@rac2 ~]# crsctl start has 
[root@rac2 ~]# crsctl start crs
[root@rac2 ~]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

所有節點啓動
[root@rac1 bin]# crsctl start cluster -n rac1 rac2
CRS-4123: Oracle High Availability Services has been started.
[root@rac1 bin]# crsctl start cluster -all
[root@rac2 ~]# crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
此命令會在後臺啓動所有RAC CRS相關進程
[root@rac2 ~]# crs_stat -t -v
CRS-0184: Cannot communicate with the CRS daemon.
因爲start has啓動的crs進程比較多因此會啓動的比較慢,我的機器等待了5分鐘,在沒有完全啓動成功之前會報上述錯誤,需要耐心等待一段時間後執行下面命令即可查看到所有CRS相關進程服務已經啓動。
[root@rac2 ~]# crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac2        
ora....N2.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1        
ora....N3.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1        
ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac1        
ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE               
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac1        
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1        

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1        
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2        
ora....ry.acfs ora....fs.type 0/5    0/     ONLINE    ONLINE    rac1        
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac2        
ora.scan2.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1        
ora.scan3.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1 
說明:
英文解釋
ora.gsd is OFFLINE by default ifthere is no 9i database in the cluster.
ora.oc4j is OFFLINE in 11.2.0.1 as DatabaseWorkload Management(DBWLM) is unavailable.  these can be ignored in11gR2 RAC.
中文解釋
ora.gsd是集羣服務中用於與9i數據庫進行通信的一個進程,在當前版本中爲了向後兼容才保存下來,狀態爲OFFLINE不影響CRS的正常運行與性能,我們忽略即可
ora.oc4j是在11.2.0.2以上版本中有效的服務進程,用於DBWLM的資源管理,因此在11.2.0.1以下版本並沒有使用
2.啓動數據庫:
oracl用戶執行srvctl命令:
語法:srvctl start|stop|status database -d dbname [-o immediate]
作用:可以一次性啓動dbname的所有實例
[oracle@rac1 ~]$ srvctl start database -d racdb  -啓動所有節點上的實例
然後查看狀態:

[oracle@rac1 ~]$ srvctl status database -d racdb   
3.詳細輸出資源全名稱並檢查狀態
crsctl status resource -t
crsctl status resource
4.常用srvctl命令
指定dbname上某個實例
srvctl start|stop|status instance -d <dbname> -i <instance_name>
5.顯示RAC下所有實例配置與狀態
srvctl status|config database -d <dbname>
6.顯示所有節點的應用服務(VIP,GSD,listener,ONS)
srvctl start|stop|status nodeapps -n<node_name>
7.ASM進程服務管理
srvctl start|stop|status|config asm -n <nodename>[-i <asm_inst_name>] [-o<oracle_home>]
srvctl config asm -a
srvctl status asm -a
6.可以獲取所有的環境信息:
srvctl getenv database -d <dbname> [-i<instance_name>]
7.設置全局環境和變量:
srvctl setenv database -d<dbname> -t LANG=en
8.在OCR中刪除已有的數據庫信息
srvctl remove database -d <dbname>
9.向OCR中添加一個數據庫的實例:
srvctl add instance -d <dbname> -i<instance_name> -n <node1>
srvctl add instance -d <dbname> -i<instance_name> -n <node2>

10.檢查監聽的狀態
srvctl status listener 
srvctl config listener -a
SCAN配置信息
srvctl config scan
SCAN listener狀態信息
srvctl status scan


小結:crsctl命令是一個集羣級別命令,可以對所有集羣資源進行統一啓動、停止等管理操作
         srvctl命令是一個服務級別命令,可以對單一服務資源進行統一啓動、停止等管理操作


附:srvctl命令啓動與停止的詳細幫助
[root@rac2 ~]# srvctl start -h


The SRVCTL start command starts, Oracle Clusterware enabled, non-running objects.


Usage: srvctl start database -d <db_unique_name> [-o <start_options>] [-n <node>]
Usage: srvctl start instance -d <db_unique_name> {-n <node_name> [-i <inst_name>] | -i <inst_name_list>} [-o <start_options>]
Usage: srvctl start service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-o <start_options>]
Usage: srvctl start nodeapps [-n <node_name>] [-g] [-v]
Usage: srvctl start vip { -n <node_name> | -i <vip_name> } [-v]

Usage: srvctl start asm [-n <node_name>] [-o <start_options>]
Usage: srvctl start listener [-l <lsnr_name>] [-n <node_name>]
Usage: srvctl start scan [-i <ordinal_number>] [-n <node_name>]
Usage: srvctl start scan_listener [-n <node_name>] [-i <ordinal_number>]
Usage: srvctl start oc4j [-v]
Usage: srvctl start home -o <oracle_home> -s <state_file> -n <node_name>
Usage: srvctl start filesystem -d <volume_device> [-n <node_name>]
Usage: srvctl start diskgroup -g <dg_name> [-n "<node_list>"]
Usage: srvctl start gns [-l <log_level>] [-n <node_name>] [-v]
Usage: srvctl start cvu [-n <node_name>]
For detailed help on each command and object and its options use:
  srvctl <command> <object> -h


[root@rac2 ~]# srvctl stop -h


The SRVCTL stop command stops, Oracle Clusterware enabled, starting or running objects.


Usage: srvctl stop database -d <db_unique_name> [-o <stop_options>] [-f]
Usage: srvctl stop instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>}  [-o <stop_options>] [-f]
Usage: srvctl stop service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-f]
Usage: srvctl stop nodeapps [-n <node_name>] [-g] [-f] [-r] [-v]
Usage: srvctl stop vip { -n <node_name>  | -i <vip_name> } [-f] [-r] [-v]
Usage: srvctl stop asm [-n <node_name>] [-o <stop_options>] [-f]
Usage: srvctl stop listener [-l <lsnr_name>] [-n <node_name>] [-f]

Usage: srvctl stop scan [-i <ordinal_number>] [-f]
Usage: srvctl stop scan_listener [-i <ordinal_number>] [-f]
Usage: srvctl stop oc4j [-f] [-v]
Usage: srvctl stop home -o <oracle_home> -s <state_file> -n <node_name> [-t <stop_options>] [-f]
Usage: srvctl stop filesystem -d <volume_device> [-n <node_name>] [-f]
Usage: srvctl stop diskgroup -g <dg_name> [-n "<node_list>"] [-f]
Usage: srvctl stop gns [-n <node_name>] [-f] [-v]
Usage: srvctl stop cvu [-f]
For detailed help on each command and object and its options use:
  srvctl <command> <object> -h



劉盛&Leonarding
2015.04.25
天津&spring
分享技術~成就夢想
Blog:www.leonarding.com

########################################################################################
如果喜歡我的文章就請掃下面二維碼吧!關注微信號:leonarding_public
在這裏你能得到技術、實事、熱點消息等新興事物的思考和觀點,別的地方可能沒有的東西。我將爲大家提供最新技術與資訊動態,傳遞正能量。

wKiom1VRVbGQrKfvAAERO9K23Rg249.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章