Oracle-----RAC重啟步驟 RAC管理(crs_stat、crsctl、srvctl)


 

查詢當前數據名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數文件。

 

 

查詢當前數據庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數文件中查詢。

 

oracle中:
1、查詢數據庫名:select name,dbid from v$database;或者show parameter db_name;


2、查詢實例名:select instance_name from v$instance;或者show parameter instance_name;


3、查詢數據庫域名:select value from v$parameter where name='db_domain';或者show parameter domain;


4、查詢數據庫服務器:select value from v$parameter where name='service_name';或者show parameter service;或者show parameter names;


5、數據庫服務名:此參數是數據庫標識類參數,用service_name表示。數據庫如果有域,則數據庫服務名就是全局數據庫名;如果沒有,則數據庫服務名就是數據庫名。查詢:show parameter service_name;

 

Oracle Clusterware的命令集可以分為以下4種:

 
節點層:osnodes 


網絡層:oifcfg 


集群層:crsctl, ocrcheck,ocrdump,ocrconfig 


應用層:srvctl,onsctl,crs_stat 


下面分別來介紹這些命令。

1、節點層

olsnodes,這個命令用來顯示集群點列表,可用的參數如下:

$olsnodes -h

用法: olsnodes [-n] [-p][-i] [<node> | -l] [-g] [-v] 


-n打印節點編號和節點名 
-p打印專用互聯名和節點名 
-i打印虛擬IP名和節點名 
<node>打印指定節點的信息 
-l打印本地節點的信息 
-g啟用事件記錄 
-v在詳細模式下運行

這些參數可以混合使用。 
[root@rac1 bin]#$olsnodes

racnode1

racnode2 
[root@rac1 bin]#olsnodes-n

racnode11

racnode22

注:若命令不能運行,添加path,或直接進入命令所在目錄運行。本例位於:

/u01/crs/oracle/product/11.1.0/crs/bin

 

RAC:RealApplicationCluster(真正應用集群),應用越來越廣泛了。RAC技術作為oracle數據庫集群環境,它的管理有自己的一整套知識,我在此來演示一下rac的重啟過程。

 

 

oracle常用管理命令:

1、crs打頭的命令,主要用戶集群底層結構的管理,位於$oracle_crs_home/bin下,一般在系統安裝完畢后只用到“crs_stat-t”就夠了。

 

2、srvctl打頭的命令,用於管理和構造集群配置信息。它用於修改配置屬性、集群服務停啟、高可用服務的添加和刪除、激活各種服務等,它用的最廣泛。

 

命令格式:srvctl  command  object【options】

command有start、stop、remove;object有database、instance;options為命令屬性。通常-i指定實例,-n指定節點。

 

3、sql*plus命令,他用於集群的內部一級的管理,如實例級別的啟動、關閉和數據庫操作等。

 

srvctl  status  database  -d  數據庫名     //查看節點信息

 

Crs_stat//查看節點狀態

 

 

可以看到數據節點它由兩個實例組成一個數據庫,分別運行不同的節點,且狀態ok

 

2.首先關閉數據庫

 

Srvctl  stop   database  -d  數據庫名

 

3、分別關閉連個節點

 

分別登陸相應的服務器,輸入下面的命令關閉節點

 

Srvctl   stop  nodeapps  -n  節點1/節點2

4、重啟數據庫

 

完成數據的一些操作后,通過srvctl  start  database  -d  數據庫名  開啟

 

 

正常情況下,此時每個節點會自動起來,我們檢查一下如果沒有自動起來我們手工重啟。

 

Crs_stat-t查看狀態

 

 

RAC維護常用命令匯總

  

$crs_start  -all--啟動所有的crs服務

 

$crs_stop  -all--停止所有的crs服務

 

$crsctl   start  crs--啟動crs服務

 

$crsctl  stop  crs--停止crs服務

 

$srvctl  start  listener  –n  db1–-啟動某節點監聽

 

$srvctl  stop  listener  –n  db1–-停止某節點監聽

 

$srvctl  start instance  –d db  -i  db1–-啟動某節點實例

 

$srvctl stop  instance  –d db  -i  db1–-停止某節點實例

 

$srvctl  start  database  –d  db--啟動數據庫

 

$srvctl  stop  database  –d db--停止數據庫

 

 

 

 

1、關閉數據庫

切換至oracle用戶

1.1 查看數據庫實例狀態


[oracle@db1 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node db1
Instance orcl2 is running on node db2

1.2 停止所有節點上實例

[oracle@db1 ~]$ srvctl stop database -d orcl 

1.3 確認數據庫實例狀態


[oracle@db1 ~]$ srvctl status database -d orcl
Instance orcl1 is not running on node db1
Instance orcl2 is not running on node db2
[oracle@db2 ~]$ srvctl status database -d orcl
Instance orcl1 is not running on node db1
Instance orcl2 is not running on node db2

2、停止HAS(High Availability Services),必須以root用戶操作

2.1 查看節點集群狀態

切換至grid用戶,查看本節點集群進程狀態

crsctl check crs

[grid@db1 ~]$ 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

[grid@db2 ~]$ 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

查看本節點集群狀態


[grid@db1 ~]$  crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.FRA.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    db1         
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    db2         
ora.ORC.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.REDO.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    db1         
ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    db2         
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    db1         
ora....B1.lsnr application    0/5    0/0    ONLINE    ONLINE    db1         
ora.db1.gsd    application    0/5    0/0    ONLINE    OFFLINE               
ora.db1.ons    application    0/3    0/0    ONLINE    ONLINE    db1         
ora.db1.vip    ora....t1.type 0/0    0/0    ONLINE    ONLINE    db1         
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    db2         
ora....B2.lsnr application    0/5    0/0    ONLINE    ONLINE    db2         
ora.db2.gsd    application    0/5    0/0    ONLINE    OFFLINE               
ora.db2.ons    application    0/3    0/0    ONLINE    ONLINE    db2         
ora.db2.vip    ora....t1.type 0/0    0/0    ONLINE    ONLINE    db2         
ora.gsd        ora.gsd.type   0/5    0/     ONLINE    OFFLINE               
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    db1         
ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    db2         
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    db1         
ora.orcl.db    ora....se.type 0/2    0/1    ONLINE    ONLINE    db1         
ora....ry.acfs ora....fs.type 0/5    0/     ONLINE    ONLINE    db1         
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    db2  
[grid@db2 ~]$  crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.FRA.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    db1         
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    db2         
ora.ORC.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.REDO.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    db1         
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    db1         
ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    db2         
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    db1         
ora....B1.lsnr application    0/5    0/0    ONLINE    ONLINE    db1         
ora.db1.gsd    application    0/5    0/0    ONLINE    OFFLINE               
ora.db1.ons    application    0/3    0/0    ONLINE    ONLINE    db1         
ora.db1.vip    ora....t1.type 0/0    0/0    ONLINE    ONLINE    db1         
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    db2         
ora....B2.lsnr application    0/5    0/0    ONLINE    ONLINE    db2         
ora.db2.gsd    application    0/5    0/0    ONLINE    OFFLINE               
ora.db2.ons    application    0/3    0/0    ONLINE    ONLINE    db2         
ora.db2.vip    ora....t1.type 0/0    0/0    ONLINE    ONLINE    db2         
ora.gsd        ora.gsd.type   0/5    0/     ONLINE    OFFLINE               
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    db1         
ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    db2         
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    db1         
ora.orcl.db    ora....se.type 0/2    0/1    ONLINE    ONLINE    db1         
ora....ry.acfs ora....fs.type 0/5    0/     ONLINE    ONLINE    db1         
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    db2

2.2 停止has服務

需要在RAC的所有節點上執行,啟動也一樣。has與crs等同


[root@db1 ~]# find / -name crsctl /u01/app/grid/11.2.0/bin/crsctl [root@db1 ~]# cd /u01/app/grid/11.2.0/bin/
[root@db1 bin]# ./crsctl stop has -f [root@db2 ~]# find / -name crsctl /u01/app/grid/11.2.0/bin/crsctl [root@db2 ~]# cd /u01/app/grid/11.2.0/bin/
[root@db2 bin]# ./crsctl stop has -f

其實停止HAS服務以后集群已經關停,可以查看集群狀態確認,無需下面3、4步

2.3 停止crs服務

需要在RAC的所有節點上執行,啟動也一樣。has與crs等同
[root@db1 bin]# ./crsctl stop crs -f
CRS-4544: Unable to connect to OHAS


[root@db2 bin]# ./crsctl stop crs -f
CRS-4544: Unable to connect to OHAS

 

 

2.4 停止節點集群服務

停止節點集群服務,必須以root用戶:


[root@db1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@db1 bin]# ./crsctl stop cluster ----停止本節點集群服務
[root@db1 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

3 啟動集群

可以單節點啟動也可以雙節點同時啟動,下面分別介紹

3.1 單節點啟動

兩個節點都要執行

節點1


[root@db1 bin]# ./crsctl start has CRS-4123: Oracle High Availability Services has been started. [root@db1 bin]# ./crsctl start crs CRS-4640: Oracle High Availability Services is already active CRS-4000: Command Start failed, or completed with errors. [root@db1 bin]# ./crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4529: Cluster Synchronization Services is online CRS-4534: Cannot communicate with Event Manager 

節點2


[root@db2 bin]# ./crsctl start has CRS-4123: Oracle High Availability Services has been started. [root@db2 bin]# ./crsctl start crs CRS-4640: Oracle High Availability Services is already active CRS-4000: Command Start failed, or completed with errors. [root@db2 bin]# ./crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4529: Cluster Synchronization Services is online CRS-4534: Cannot communicate with Event Manager 

3.2 所有節點啟動

單節點執行即可


[root@db2 bin]# ./crsctl start cluster -n db1 db2 CRS-4690: Oracle Clusterware is already running on 'db1' CRS-4690: Oracle Clusterware is already running on 'db2' CRS-4000: Command Start failed, or completed with errors. 

或者


[root@db2 bin]# ./crsctl start cluster -all CRS-4690: Oracle Clusterware is already running on 'db1' CRS-4690: Oracle Clusterware is already running on 'db2' CRS-4000: Command Start failed, or completed with errors. 

3.3 檢查集群狀態


[root@db1 bin]# ./crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE db1 ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE db1 ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE db1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE db1 ora.ORC.dg ora....up.type 0/5 0/ ONLINE ONLINE db1 ora.REDO.dg ora....up.type 0/5 0/ ONLINE ONLINE db1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE db1 ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE db2 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE db1 ora....B1.lsnr application 0/5 0/0 ONLINE ONLINE db1 ora.db1.gsd application 0/5 0/0 ONLINE OFFLINE ora.db1.ons application 0/3 0/0 ONLINE ONLINE db1 ora.db1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE db1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE db2 ora....B2.lsnr application 0/5 0/0 ONLINE ONLINE db2 ora.db2.gsd application 0/5 0/0 ONLINE OFFLINE ora.db2.ons application 0/3 0/0 ONLINE ONLINE db2 ora.db2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE db2 ora.gsd ora.gsd.type 0/5 0/ ONLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE db1 ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE db2 ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE db1 ora.orcl.db ora....se.type 0/2 0/1 OFFLINE OFFLINE ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE db1 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE db1 




4、啟動數據庫

oracl用戶執行srvctl命令:
語法:srvctl start|stop|status database -d dbname [-o immediate]
作用:可以一次性啟動dbname的所有實例

4.1 啟動所有節點數據庫實例

[oracle@db1 ~]$ srvctl start database -d orcl

4.2 查看多有節點數據庫實例狀態


[oracle@db1 ~]$ srvctl status database -d orcl 
Instance orcl1 is running on node db1
Instance orcl2 is running on node db2

4.3.詳細輸出資源全名稱並檢查狀態


[grid@db1 ~]$ crsctl status resource -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.FRA.dg
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.LISTENER.lsnr
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.ORC.dg
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.REDO.dg
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.asm
               ONLINE  ONLINE       db1                      Started             
               ONLINE  ONLINE       db2                      Started             
ora.gsd
               ONLINE  OFFLINE      db1                                          
               ONLINE  OFFLINE      db2                                          
ora.net1.network
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.ons
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
ora.registry.acfs
               ONLINE  ONLINE       db1                                          
               ONLINE  ONLINE       db2                                          
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       db1                                          
ora.cvu
      1        ONLINE  ONLINE       db2                                          
ora.db1.vip
      1        ONLINE  ONLINE       db1                                          
ora.db2.vip
      1        ONLINE  ONLINE       db2                                          
ora.oc4j
      1        ONLINE  ONLINE       db2                                          
ora.orcl.db
      1        ONLINE  ONLINE       db1                      Open                
      2        ONLINE  ONLINE       db2                      Open                
ora.scan1.vip
      1        ONLINE  ONLINE       db1   
 

[grid@db1 ~]$ crsctl status resource
NAME=ora.DATA.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.FRA.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.LISTENER.lsnr
TYPE=ora.listener.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.LISTENER_SCAN1.lsnr
TYPE=ora.scan_listener.type
TARGET=ONLINE
STATE=ONLINE on db1

NAME=ora.ORC.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.REDO.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.asm
TYPE=ora.asm.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.cvu
TYPE=ora.cvu.type
TARGET=ONLINE
STATE=ONLINE on db2

NAME=ora.db1.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on db1

NAME=ora.db2.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on db2

NAME=ora.gsd
TYPE=ora.gsd.type
TARGET=ONLINE , ONLINE
STATE=OFFLINE, OFFLINE

NAME=ora.net1.network
TYPE=ora.network.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.oc4j
TYPE=ora.oc4j.type
TARGET=ONLINE
STATE=ONLINE on db2

NAME=ora.ons
TYPE=ora.ons.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.orcl.db
TYPE=ora.database.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.registry.acfs
TYPE=ora.registry.acfs.type
TARGET=ONLINE       , ONLINE
STATE=ONLINE on db1, ONLINE on db2

NAME=ora.scan1.vip
TYPE=ora.scan_vip.type
TARGET=ONLINE
STATE=ONLINE on db1

 

 

5、rac常用命令

5.1 常用srvctl命令

指定dbname上某個實例

srvctl start|stop|status instance -d -i <instance_name>

5.2 顯示RAC下所有實例配置與狀態

srvctl status|config database -d

5.3 顯示所有節點的應用服務(VIP,GSD,listener,ONS)

srvctl start|stop|status nodeapps -n<node_name>

5.4 ASM進程服務管理

srvctl start|stop|status|config asm -n [-i <asm_inst_name>] [-o<oracle_home>]

srvctl config asm -a

srvctl status asm -a

5.5 獲取所有的環境信息:

srvctl getenv database -d [-i<instance_name>]

5.6 設置全局環境和變量:

srvctl setenv database -d -t LANG=en

5.7 在OCR中刪除已有的數據庫信息

srvctl remove database -d

5.8 向OCR中添加一個數據庫的實例:

srvctl add instance -d -i<instance_name> -n

srvctl add instance -d -i<instance_name> -n

5.9 檢查監聽的狀態

srvctl status listener -l +實例名

srvctl config listener -a

5.10 SCAN配置信息

srvctl config scan

5.11 SCAN listener狀態信息

srvctl status scan

小結:

crsctl命令是一個集群級別命令,可以對所有集群資源進行統一啟動、停止等管理操作

srvctl命令是一個服務級別命令,可以對單一服務資源進行統一啟動、停止等管理操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM