首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 11g RAC 運維核心命令大全:集群狀態、實例管理、網絡配置一手掌握

     編輯:Oracle 資料庫相關知識

命令分類導航

核心狀態檢查命令

1. 集群整體健康度

$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

2. 數據庫/實例狀態

# 數據庫級
$ srvctl status database -d racdb
Instance racdb1 is running on node rac01
Instance racdb2 is running on node rac02

# 單實例級
$ srvctl status instance -d racdb -i racdb1
Instance racdb1 is running on node rac01

3. 節點應用狀態(VIP/ONS/GSD/監聽)

$ srvctl status nodeapps
VIP rac01-vip is enabled
VIP rac01-vip is running on node: rac01
VIP rac02-vip is enabled
VIP rac02-vip is running on node: rac02
Network is enabled
Network is running on node: rac01
Network is running on node: rac02
GSD is disabled
ONS daemon is running on node: rac01
ONS daemon is running on node: rac02
eONS is enabled
eONS daemon is running on node: rac01
eONS daemon is running on node: rac02

4. ASM 實例狀態

$ srvctl status asm
ASM is running on rac01,rac02

$ srvctl config asm -a
ASM home: /u01/app/11.2.0/grid
ASM listener: LISTENER
ASM is enabled.

5. 監聽器與 SCAN 狀態

$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): rac01,rac02

$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node rac02

$ srvctl config scan
SCAN name: rac-scan.example.com, Network: 1/192.168.1.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /rac-scan.example.com/192.168.1.55

配置信息查詢命令

數據庫完整配置

$ srvctl config database -d racdb -a
Database unique name: racdb
Database name: racdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +RACDB_DATA/racdb/spfileracdb.ora
Domain: example.com
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: racdb
Database instances: racdb1,racdb2
Disk Groups: RACDB_DATA,FRA
Services: 
Database is enabled
Database is administrator managed

VIP 詳細配置

$ srvctl config vip -n rac01
VIP exists.: rac01
VIP exists.: /rac01-vip/192.168.1.53/255.255.255.0/eth0

$ srvctl config vip -n rac02
VIP exists.: rac02
VIP exists.: /rac02-vip/192.168.1.54/255.255.255.0/eth0

節點應用綜合配置

$ srvctl config nodeapps -a -g -s
VIP exists.: rac01
VIP exists.: /rac01-vip/192.168.1.53/255.255.255.0/eth0
VIP exists.: rac02
VIP exists.: /rac02-vip/192.168.1.54/255.255.255.0/eth0
GSD exists.
ONS daemon exists. Local port 6100, remote port 6200
Name: LISTENER
Network: 1, Owner: grid
Home: 
End points: TCP:1521

時鐘同步驗證(關鍵健康檢查)

$ cluvfy comp clocksync -verbose
Verifying Clock Synchronization across the cluster nodes
Checking if Clusterware is installed on all nodes... PASSED
Checking if CTSS Resource is running on all nodes... PASSED
Node Name  Status
rac01      passed
rac02      passed
Result: CTSS resource check passed
Reference Time Offset Limit: 1000.0 msecs
Node Name  Time Offset  Status
rac01      0.0          passed
rac02      0.0          passed
Result: Check of clock time offsets passed
Oracle Cluster Time Synchronization Services check passed

SQL 級跨實例監控

所有實例狀態

SELECT inst_id, instance_number, instance_name, parallel, status, 
       database_status, active_state, host_name
FROM gv$instance ORDER BY inst_id;

ASM 磁盤組與數據文件分佈

-- 所有數據文件及所在磁盤組
SELECT file_name, tablespace_name, bytes/1024/1024 MB
FROM dba_data_files;

-- ASM 磁盤組使用情況
SELECT name, total_mb, free_mb, usable_file_mb, state
FROM v$asm_diskgroup;

集群啟停操作(需 root 權限)

單節點操作

# 停止本節點 Clusterware(資源未停會失敗)
# crsctl stop cluster

# 強制停止所有資源並停止 Clusterware
# crsctl stop cluster -f

# 啟動本節點 Clusterware
# crsctl start cluster

全集群操作

# 停止所有節點
# crsctl stop cluster -all

# 啟動所有節點
# crsctl start cluster -all

# 指定節點啟動
# crsctl start cluster -n rac01 rac02

使用 SRVCTL 管理數據庫實例

# 停止整個數據庫(所有實例)
$ srvctl stop database -d racdb

# 啟動整個數據庫
$ srvctl start database -d racdb

# 停止單個實例
$ srvctl stop instance -d racdb -i racdb1

# 啟動單個實例
$ srvctl start instance -d racdb -i racdb1

故障排查常用組合拳

類別工具典型用途
集群倉crsctl集群啟停、節點狀態、資源管理
資源管理srvctl數據庫/實例/監聽/ASM/服務生命周期
SQL 監控GV$ 視圖跨實例性能、會話、鎖等待分析
現象診斷命令序列
實例掛起crsctl check cluster → srvctl status database -d racdb → gv$instance 查狀態 → alert.log 分析
監聽連不上srvctl status listener → srvctl config listener → lsnrctl status → tnsping SCAN名
節點被驅逐crsctl check cluster → $GRID_HOME/log/節點/alert.log → 時鐘同步 cluvfy comp clocksync
ASM 磁盤組離線srvctl status asm → v$asm_diskgroup 狀態 → kfed 讀磁盤頭 → 檢查存儲多路徑

最佳實踐建議

  1. 建立巡檢腳本:將上述狀態命令封裝為每日巡檢,異常自動告警
  2. 參數化部署:使用 srvctl add/modify 而非手動修改配置文件
  3. 變更管理:任何 srvctl modify 操作前必須 config 備份當前配置
  4. 版本對應:11.2.0.4 為終端版本,建議規劃升級至 19c 長期支持版本
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved