crs_stat (Cluster Ready Services Status) 是 Oracle 10g RAC 內建命令列工具,用於查詢叢集資源 (資料庫實例、Listener、VIP、GSD、ONS、Service 等) 的目標/實際狀態、配置屬性。
| 參數 | 功能 |
|---|---|
-h | 顯示幫助 |
-ls | 列出所有資源名稱、擁有者、權限 |
無參數 / resource_name | 顯示資源詳細狀態 (NAME, TYPE, TARGET, STATE) |
| 表格式顯示所有資源狀態摘要 | |
-p [resource] | 顯示資源完整配置屬性 (Profile) |
-f [resource] | 顯示資源完整狀態與屬性 (Full) |
-q | 安靜模式 (僅顯示資源名) |
-c node | 指定查詢節點 |
crs_stat -ls 資源清單Name Owner Primary PrivGrp Permission
ora.db210-rac1.LISTENER_DB210-RAC1.lsnr oracle dba rwxrwxr--
ora.db210-rac1.gsd oracle dba rwxr-xr--
ora.db210-rac1.ons oracle dba rwxr-xr--
ora.db210-rac1.vip root dba rwxr-xr--
ora.eygle.db oracle dba rwxrwxr--
ora.eygle.eygle.cs oracle dba rwxrwxr--
ora.eygle.eygle1.srv oracle dba rwxrwxr--
ora.eygle.eygle2.srv oracle dba rwxrwxr--
ora.eygle.eygle1.inst oracle dba rwxrwxr--
ora.eygle.eygle2.inst oracle dba rwxrwxr--
命名規則:ora.。VIP 擁有者為 root (需特權綁定 IP)。
crs_stat (無參數) 詳細狀態NAME=ora.eygle.db
TYPE=application
TARGET=ONLINE
STATE=ONLINE on db210-rac1
NAME=ora.eygle.eygle.cs
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE
crs_stat -p ora.db210-rac2.vip 完整屬性NAME=ora.db210-rac2.vip
TYPE=application
ACTION_SCRIPT=/opt/oracle/product/10.2.0/crs10g/bin/racgwrap
ACTIVE_PLACEMENT=1
AUTO_START=1
CHECK_INTERVAL=60
DESCRIPTION=CRS application for VIP on a node
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=db210-rac2
PLACEMENT=favored
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=0
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_VIP=172.16.19.212
... (更多 USR_ORA_* 內部屬性)
關鍵屬性:USR_ORA_VIP (虛擬 IP)、HOSTING_MEMBERS (偏好節點)、AUTO_START (叢集啟動自動拉起)。
#!/bin/bash
# 檢查所有資源 TARGET=STATE
crs_stat -t | awk 'NR>2 {if ($3 != $4) print "ALERT: " $1 " TARGET=" $3 " STATE=" $4}'
# 檢查關鍵資源 (DB, INST, VIP, LISTENER) 均為 ONLINE
for res in $(crs_stat -ls | grep -E '\.(db|inst|vip|lsnr)$' | awk '{print $1}'); do
crs_stat $res | grep -q "STATE=ONLINE" || echo "CRITICAL: $res NOT ONLINE"
done
crs_stat -t 快速掌握全叢集健康度,crs_stat -p resource 深入排查單一資源配置與失敗原因,是 RAC 運維必備指令。