溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

rac 啟動(dòng)和關(guān)閉

發(fā)布時(shí)間:2020-05-25 04:36:27 來源:網(wǎng)絡(luò) 閱讀:933 作者:JUN_LJ 欄目:關(guān)系型數(shù)據(jù)庫

Oracle 10g時(shí)代,我們很羨慕那些懂得Oracle9i的DBA,而不知不覺中度過了Oracle11g并迎接了12c時(shí)代,但是還是有不少DBA習(xí)慣于Oracle 10g的管理思維,尤其是在管理或安裝Oracle 11g RAC時(shí),偶爾感到不知錯(cuò)所。 
 
在Oracle 11gR2 下的RAC,架構(gòu)發(fā)生了變化,多了grid用戶、警告日志位置也發(fā)生變化等。CRS的信息也是放在ASM 實(shí)例里的,所以要關(guān)asm,必須關(guān)閉crs,在Oracle  
 
11g環(huán)境 RAC + ASM之間層次架構(gòu)如下圖所示: 

rac 啟動(dòng)和關(guān)閉
 
 
而Oracle10g的RAC環(huán)境中,CRS的信息放在裸設(shè)備上,因此關(guān)閉asm后才關(guān)閉CRS才是正確的。 
 
除以上資源之外,我們還需要了解OHASD 資源,英文解釋如下: 
 
      Oracle High Availability Services Daemon (OHASD) :This process anchors the lower part of the Oracle Clusterware stack, which consists of processes that facilitate cluster operations. 
 
      在11gR2里面啟動(dòng)CRS的時(shí)候,會(huì)提示ohasd已經(jīng)啟動(dòng)。 那么這個(gè)OHASD到底包含哪些資源。 可以通過如下命令來查看: 
 
[grid@oracle1 ~]$ crsctl status resource -t 
 
-------------------------------------------------------------------------------- 
 
NAME          TARGET  STATE        SERVER                  STATE_DETAILS        
 
-------------------------------------------------------------------------------- 
 
Local Resources 
 
-------------------------------------------------------------------------------- 
 
ora.DATADG.dg 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.FRADG.dg 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.LISTENER.lsnr 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.OCRVT.dg 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.asm 
 
              ONLINE  ONLINE      oracle1                  Started              
 
              ONLINE  ONLINE      oracle2                  Started              
 
ora.gsd 
 
              OFFLINE OFFLINE      oracle1                                      
 
              OFFLINE OFFLINE      oracle2                                      
 
ora.net1.network 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.ons 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
ora.registry.acfs 
 
              ONLINE  ONLINE      oracle1                                      
 
              ONLINE  ONLINE      oracle2                                      
 
-------------------------------------------------------------------------------- 
 
Cluster Resources 
 
-------------------------------------------------------------------------------- 
 
ora.LISTENER_SCAN1.lsnr 
 
      1        ONLINE  ONLINE      oracle1                                      
 
ora.cvu 
 
      1        ONLINE  ONLINE      oracle2                                      
 
ora.oc4j 
 
      1        ONLINE  ONLINE      oracle2                                      
 
ora.oracle1.vip 
 
      1        ONLINE  ONLINE      oracle1                                      
 
ora.oracle2.vip 
 
      1        ONLINE  ONLINE      oracle2                                      
 
ora.scan1.vip 
 
      1        ONLINE  ONLINE      oracle1                                      
 
ora.sjjczr.db 
 
      1        ONLINE  ONLINE      oracle1                  Open                
 
      2        ONLINE  ONLINE      oracle2                  Open                
 
[grid@oracle1 ~]$ 
 
  
 
在Oracle 10g中CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service。 
 
 在11.2中,對CRSD資源進(jìn)行了重新分類: Local Resources 和 Cluster Resources。 OHASD 指的就是Cluster Resource. 
 
  
 
  
 
1. Oracle 11g RAC關(guān)閉和啟動(dòng)相關(guān)命令

 
  
 
1.1 使用crsctl stop has/crsctl stop crs 
 
用root用戶,在Oracle11gR2中停止和啟動(dòng)集群的命令如下: 
 
#crsctl stop has [-f] 
 
#crsctl start has 
 
    對于crsctl stop has 只有一個(gè)可選的參數(shù)就是-f,該命令只能停執(zhí)行該命令服務(wù)器上的HAS.而不能停所有節(jié)點(diǎn)上的。所以要把RAC 全部停掉,需要在所有節(jié)點(diǎn)執(zhí)行該命令。 
 
  
 
下面的2個(gè)命令:使用crs 和 使用has 效果是完全一樣的: 
 
#crsctl stop crs [-f] 
 
#crsctl start crs 
 
  
 
記得第一次在生產(chǎn)環(huán)境中安裝Oracle 11gR2  RAC + ASM 時(shí),當(dāng)安裝完后通過crs_stat  -t 命令查看狀態(tài)總覺得不太對(在節(jié)點(diǎn)二上是的online狀態(tài)的資源數(shù)量比節(jié)點(diǎn)一明顯少得多),想重啟CRS和ASM,用了#crsctl stop crs命令(未帶 [ -f ] 參數(shù)),總是不太順利。最終重啟了服務(wù)器。后來想想,實(shí)際上也可以使用crsctl stop has [-f],沒比要重啟服務(wù)器。 
 
  
 
啟動(dòng)HAS: 
 
[root@rac1bin]# ./crsctl start has 
 
CRS-4123:Oracle High Availability Services has been started. 
 
[root@rac1bin]# 
 
  
 
從上面看只是啟動(dòng)了HAS。實(shí)際上后面會(huì)把Oracle Restart 管理的資源都會(huì)啟動(dòng)。這個(gè)可以使用crs_stat命令來進(jìn)程驗(yàn)證。 
 
[grid@oracle1 ~]$ crs_stat -t -v 
 
Name          Type          R/RA  F/FT  Target    State    Host        
 
---------------------------------------------------------------------- 
 
ora.DATADG.dg  ora....up.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora.FRADG.dg  ora....up.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora....ER.lsnr ora....er.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    oracle1      
 
ora.OCRVT.dg  ora....up.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora.asm        ora.asm.type  0/5    0/    ONLINE    ONLINE    oracle1      
 
ora.cvu        ora.cvu.type  0/5    0/0    ONLINE    ONLINE    oracle2      
 
ora.gsd        ora.gsd.type  0/5    0/    OFFLINE  OFFLINE                
 
ora....network ora....rk.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora.oc4j      ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    oracle2      
 
ora.ons        ora.ons.type  0/3    0/    ONLINE    ONLINE    oracle1      
 
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    oracle1      
 
ora....E1.lsnr application    0/5    0/0    ONLINE    ONLINE    oracle1      
 
ora....le1.gsd application    0/5    0/0    OFFLINE  OFFLINE                
 
ora....le1.ons application    0/3    0/0    ONLINE    ONLINE    oracle1      
 
ora....le1.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    oracle1      
 
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    oracle2      
 
ora....E2.lsnr application    0/5    0/0    ONLINE    ONLINE    oracle2      
 
ora....le2.gsd application    0/5    0/0    OFFLINE  OFFLINE                
 
ora....le2.ons application    0/3    0/0    ONLINE    ONLINE    oracle2      
 
ora....le2.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    oracle2      
 
ora....ry.acfs ora....fs.type 0/5    0/    ONLINE    ONLINE    oracle1      
 
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    oracle1      
 
ora.sjjczr.db  ora....se.type 0/2    0/1    ONLINE    ONLINE    oracle1      
 
  
 
  
 
1.2 使用crsctl stop cluster [-all]… 
 
該命令的語法如下: 
 
crsctl stop cluster [[-all]|[-n<server>[...]]] [-f] 
 
crsctl start cluster [[-all]|[-n<server>[...]]] 
 
  
 
該參數(shù)支持的選項(xiàng)更多,可以同時(shí)操控所有的節(jié)點(diǎn)。如果不指定參數(shù),那么只對當(dāng)前節(jié)點(diǎn)有效。 
 
  
 
如: 
 
[root@rac1 ~]# ./crsctl start cluster -n rac1 rac2 
 
--停止當(dāng)前節(jié)點(diǎn)集群: 
 
[root@rac1 bin]# ./crsctl stop cluster 
 
  
 
2.停止和啟動(dòng)Resource 
 
    當(dāng)直接停止集群時(shí),相關(guān)的Resource 也會(huì)被停止。 但實(shí)際情況下,我們操作更多的是對某些資源的啟動(dòng)或關(guān)閉等操作。具體就是使用SRVCTL 命令。該命令不常用總被忘記,因此可以用幫助選項(xiàng) –h 來查看命令幫助: 
 
[grid@rac1 ~]$  Srvclt –h 
 
這個(gè)命令顯示的結(jié)果太長,不好查看,可以進(jìn)一步的查看幫助: 
 
 [grid@rac1 ~]$ srvctl start -h 
 
  
 
  
 
RAC 運(yùn)行狀態(tài)通用的命令如下: 
 
[root@vcdwdb1 ~]# srvctl -h 
 
-bash: srvctl: command not found 
 
[root@vcdwdb1 ~]# su - grid 
 
[grid@vcdwdb1 ~]$ srvctl -h 
 
用法: srvctl [-V]    --顯示內(nèi)容很多,如下對內(nèi)容進(jìn)行了挑選后粘貼 
 
用法: srvctl start nodeapps [-n <node_name>] [-g] [-v] 
 
用法: srvctl stop nodeapps [-n <node_name>] [-g] [-f] [-r] [-v] 
 
用法: srvctl status nodeapps 
 
用法: srvctl start vip { -n <node_name> | -i <vip_name> } [-v] 
 
用法: srvctl stop vip { -n <node_name>  | -i <vip_name> } [-f] [-r] [-v] 
 
用法: srvctl relocate vip -i <vip_name> [-n <node_name>] [-f] [-v] 
 
用法: srvctl status vip { -n <node_name> | -i <vip_name> } [-v] 
 
用法: srvctl start asm [-n <node_name>] [-o <start_options>] 
 
用法: srvctl stop asm [-n <node_name>] [-o <stop_options>] [-f] 
 
用法: srvctl config asm [-a] 
 
用法: srvctl status asm [-n <node_name>] [-a] [-v] 
 
用法: srvctl config listener [-l <lsnr_name>] [-a] 
 
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>] 
 
用法: srvctl stop listener [-l <lsnr_name>] [-n <node_name>] [-f] 
 
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>] [-v] 
 
用法: srvctl start scan [-i <ordinal_number>] [-n <node_name>] 
 
用法: srvctl stop scan [-i <ordinal_number>] [-f] 
 
用法: srvctl relocate scan -i <ordinal_number> [-n <node_name>] 
 
用法: srvctl status scan [-i <ordinal_number>] [-v] 
 
用法: srvctl config cvu 
 
用法: srvctl start cvu [-n <node_name>] 
 
用法: srvctl stop cvu [-f] 
 
用法: srvctl relocate cvu [-n <node_name>] 
 
用法: srvctl status cvu [-n <node_name>] 
 
  
 
  
 
也可以進(jìn)一步查看配置信息,如下: 
 
[grid@vcdwdb1 ~]$ srvctl start -h 
 
SRVCTL start 命令啟動(dòng)啟用 Oracle Clusterware 的未運(yùn)行的對象。 
 
用法: srvctl start database -d <db_unique_name> [-o <start_options>] [-n <node>] 
 
用法: srvctl start instance -d <db_unique_name> {-n <node_name> [-i <inst_name>] | -i <inst_name_list>} [-o <start_options>] 
 
用法: srvctl start service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-o <start_options>] 
 
用法: srvctl start nodeapps [-n <node_name>] [-g] [-v] 
 
用法: srvctl start vip { -n <node_name> | -i <vip_name> } [-v] 
 
用法: srvctl start asm [-n <node_name>] [-o <start_options>] 
 
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>] 
 
用法: srvctl start scan [-i <ordinal_number>] [-n <node_name>] 
 
用法: srvctl start scan_listener [-n <node_name>] [-i <ordinal_number>] 
 
用法: srvctl start oc4j [-v] 
 
用法: srvctl start home -o <oracle_home> -s <state_file> -n <node_name> 
 
用法: srvctl start filesystem -d <volume_device> [-n <node_name>] 
 
用法: srvctl start diskgroup -g <dg_name> [-n "<node_list>"] 
 
用法: srvctl start gns [-l <log_level>] [-n <node_name>] [-v] 
 
用法: srvctl start cvu [-n <node_name>] 
 
有關(guān)各個(gè)命令和對象的詳細(xì)幫助, 請使用: 
 
  srvctl <command> <object> -h 
 
[grid@vcdwdb1 ~]$ srvctl start listener -h 
 
  
 
啟動(dòng)監(jiān)聽程序。 
 
  
 
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>] 
 
    -l <lsnr_name>          監(jiān)聽程序名 
 
    -n <node_name>          節(jié)點(diǎn)名 
 
    -h                      輸出用法 
 
[grid@vcdwdb1 ~]$ 
 
  
 
  
 
[grid@vcdwdb1 ~]$ srvctl status -h 
 
SRVCTL status 命令顯示對象的當(dāng)前狀態(tài)。 
 
用法: srvctl status database -d <db_unique_name> [-f] [-v] 
 
用法: srvctl status instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>} [-f] [-v] 
 
用法: srvctl status service -d <db_unique_name> [-s "<service_name_list>"] [-f] [-v] 
 
用法: srvctl status nodeapps 
 
用法: srvctl status vip { -n <node_name> | -i <vip_name> } [-v] 
 
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>] [-v] 
 
用法: srvctl status asm [-n <node_name>] [-a] [-v] 
 
用法: srvctl status scan [-i <ordinal_number>] [-v] 
 
用法: srvctl status scan_listener [-i <ordinal_number>] [-v] 
 
用法: srvctl status srvpool [-g <pool_name>] [-a] 
 
用法: srvctl status server -n "<server_list>" [-a] 
 
用法: srvctl status oc4j [-n <node_name>] [-v] 
 
用法: srvctl status home -o <oracle_home> -s <state_file> -n <node_name> 
 
用法: srvctl status filesystem -d <volume_device> [-v] 
 
用法: srvctl status diskgroup -g <dg_name> [-n "<node_list>"] [-a] [-v] 
 
用法: srvctl status cvu [-n <node_name>] 
 
用法: srvctl status gns [-n <node_name>] [-v] 
 
有關(guān)各個(gè)命令和對象的詳細(xì)幫助, 請使用: 
 
  srvctl <command> <object> -h 
 
  
 
 [grid@vcdwdb1 ~]$ srvctl config -h 
 
SRVCTL config 命令顯示存儲在 OCR 中的對象配置。 
 
用法: srvctl config database [-d <db_unique_name> [-a] ] [-v] 
 
用法: srvctl config service -d <db_unique_name> [-s <service_name>] [-v] 
 
用法: srvctl config nodeapps [-a] [-g] [-s] 
 
用法: srvctl config vip { -n <node_name> | -i <vip_name> } 
 
用法: srvctl config network [-k <network_number>] 
 
用法: srvctl config asm [-a] 
 
用法: srvctl config listener [-l <lsnr_name>] [-a] 
 
用法: srvctl config scan [-i <ordinal_number>] 
 
用法: srvctl config scan_listener [-i <ordinal_number>] 
 
用法: srvctl config srvpool [-g <pool_name>] 
 
用法: srvctl config oc4j 
 
用法: srvctl config filesystem -d <volume_device> 
 
用法: srvctl config gns [-a] [-d] [-k] [-m] [-n <node_name>] [-p] [-s] [-V] [-q <name>] [-l] [-v] 
 
用法: srvctl config cvu 
 
有關(guān)各個(gè)命令和對象的詳細(xì)幫助, 請使用: 
 
  srvctl <command> <object> -h 
 
例如: 
 
[grid@vcdwdb1 ~]$ srvctl config asm 
 
ASM 主目錄: /u01/app/11.2.0/grid_home 
 
ASM 監(jiān)聽程序: LISTENER 
 
[grid@vcdwdb1 ~]$ srvctl config asm -a 
 
ASM 主目錄: /u01/app/11.2.0/grid_home 
 
ASM 監(jiān)聽程序: LISTENER 
 
ASM 已啟用。 
 
[grid@vcdwdb1 ~]$ 
 
[grid@vcdwdb1 ~]$ srvctl config listener -a 
 
名稱: LISTENER 
 
網(wǎng)絡(luò): 1, 所有者: grid 
 
主目錄: <CRS home> 
 
  節(jié)點(diǎn) vcdwdb2,vcdwdb1 上的 /u01/app/11.2.0/grid_home 
 
端點(diǎn): TCP:1521 
 
  
 
總結(jié): 
 
在Oracle 11g環(huán)境中,Oracle的關(guān)閉和啟動(dòng)順序如下: 
 
  
 
關(guān)閉順序: 
 
1、關(guān)閉數(shù)據(jù)庫,oracl用戶執(zhí)行srvctl命令: 
 
 [oracle@rac1 ~]$ srvctl stop database -d ORCL ---停止所有節(jié)點(diǎn)上的實(shí)例 
 
或者每個(gè)節(jié)點(diǎn)登錄數(shù)據(jù)庫后執(zhí)行SQL>shutdown immediate 
 
2,停止HAS(High Availability Services),必須以root用戶 
 
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin 
 
[root@rac1 bin]# ./crsctl stop has –f 
 
  
 
3,停止集群服務(wù),必須以root用戶: 
 
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin 
 
 [root@rac1 bin]# ./crsctl stop cluster -all  ----停止所有節(jié)點(diǎn)服務(wù) 
 
或[root@rac1 bin]# ./crsctl stop cluster        ----停止本節(jié)點(diǎn)集群服務(wù),每個(gè)節(jié)點(diǎn)分別執(zhí)行  
 
也可以如下控制所停節(jié)點(diǎn): 
 
[root@rac1 bin]#  ./crsctl stop cluster -n rac1 rac2 
 
如果在一個(gè)節(jié)點(diǎn)停止其他所有節(jié)點(diǎn)的,而不一一執(zhí)行命令,則也可以采用: 
 
[root@rac1 bin]# ./crsctl stop cluster –all 
 
  
 
啟動(dòng)順序: 
 
11g R2的RAC默認(rèn)開機(jī)會(huì)自啟動(dòng),當(dāng)然如果需要手工啟動(dòng)。手工啟動(dòng)按照cluster, HAS, database的順序啟動(dòng)即可,具體命令如下: 
 
1、啟動(dòng)集群(cluster) 
 
[root@rac1 ~]# ./crsctl start cluster -all  --所有節(jié)點(diǎn)同時(shí)啟動(dòng) 
 
或者只啟動(dòng)指定節(jié)點(diǎn)的 
 
[root@rac1 ~]# ./crsctl start cluster -n rac1 rac2  --兩個(gè)節(jié)點(diǎn)同時(shí)啟動(dòng) 
 
  
 
2、啟動(dòng)HAS(High Availability Services),必須以root用戶 
 
[root@rac1 bin]# ./crsctl start has  
 
以上has啟動(dòng)命令需要在每個(gè)節(jié)點(diǎn)分別執(zhí)行 
 
  
 
3、啟動(dòng)數(shù)據(jù)庫,oracl用戶執(zhí)行srvctl命令(假設(shè)數(shù)據(jù)庫名為ORCL): 
 
 [oracle@rac1 ~]$ srvctl start database -d ORCL ---停止所有節(jié)點(diǎn)上的實(shí)例 
 
或者每個(gè)節(jié)點(diǎn)登錄數(shù)據(jù)庫后執(zhí)行SQL>startup  
 
  


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI