引言:把RAC裡面涉及到的最常用的啟動與關閉順序和指令逐一列舉出來,由于RAC的背景資源較多,是以涉及到的指令也很多,最後附上幫助手冊讓在工作中臨時使用時也可以迅速查到,如果這篇文章能夠幫到大家就是我今後繼續努力撰寫的動力,感謝大家對我文章的浏覽多提寶貴意見。
關閉過程(CRS叢集關閉->關閉資料庫)
1.關閉資料庫:
用oracl使用者執行srvctl指令
文法:srvctl stop database -d dbname [-o immediate]
作用:可以一次性關閉dbname的所有執行個體
然後檢視狀态:
[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 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
此指令會在背景啟動所有RAC CRS相關程序
[root@rac2 ~]# crs_stat -t -v
CRS-0184: Cannot communicate with the CRS daemon.
因為start has啟動的crs程序比較多是以會啟動的比較慢,我的機器等待了5分鐘,在沒有完全啟動成功之前會報上述錯誤,需要耐心等待一段時間後執行下面指令即可檢視到所有CRS相關程序服務已經啟動。
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]
本文轉自xiaocao1314051CTO部落格,原文連結:http://blog.51cto.com/xiaocao13140/1930564 ,如需轉載請自行聯系原作者