OCR (Oracle Cluster Registry) 架構
- 儲存叢集配置:節點成員、ASM/資料庫 Instance、Listener、VIP、SCAN 等 CRS 資源配置
- 支援一主一鏡 (最多 2 份),提供高可用
- 位置:共享儲存 (ASM 磁碟組、共享檔案系統、原始裝置)
檢查 OCR 狀態
[root@node3 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows:
Version : 2
Total space (kbytes) : 208656
Used space (kbytes) : 6496
Available space (kbytes) : 202160
ID : 844916878
Device/File Name : /dev/raw/raw2
Device/File integrity : succeeded
Device/File Name : /dev/raw/raw4
Device/File integrity : succeeded
Cluster registry integrity check : succeeded
[root@node3 ~]# cat /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw2
ocrmirrorconfig_loc=/dev/raw/raw4
local_only=false
新增/替換鏡像 (ocrconfig -replace ocrmirror)
OCR 僅支援一份鏡像。新增鏡像會自動替換現有鏡像。
操作範例:將鏡像從 raw4 遷移至 raw6
# 1. 替換鏡像
[root@node3 ~]# ocrconfig -replace ocrmirror /dev/raw/raw6
# 2. 驗證
[root@node3 ~]# ocrcheck
Device/File Name : /dev/raw/raw2
Device/File integrity : succeeded
Device/File Name : /dev/raw/raw6 <-- 新鏡像生效
Device/File integrity : succeeded
# 3. 檢查 ocr.loc 更新
[root@node3 ~]# cat /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw2
ocrmirrorconfig_loc=/dev/raw/raw6
local_only=false
刪除鏡像
# 不指定裝置路徑即為刪除
[root@node3 ~]# ocrconfig -replace ocrmirror
# 驗證鏡像已移除
[root@node3 ~]# ocrcheck
Device/File Name : /dev/raw/raw2
Device/File integrity : succeeded
Device/File not configured <-- 鏡像已刪除
Cluster registry integrity check : succeeded
[root@node3 ~]# cat /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw2
local_only=false
主檔損壞:鏡像自動升級為主檔
若主檔 (ocrconfig_loc) 損壞,鏡像 (ocrmirrorconfig_loc) 會自動提升為主檔。
模擬與恢復流程
# 1. 當前雙檔正常
[root@node3 ~]# ocrcheck
Device/File Name : /dev/raw/raw2 <-- 主檔
Device/File Name : /dev/raw/raw4 <-- 鏡像
# 2. 替換主檔 (模擬主檔損壞後重建)
[root@node3 ~]# ocrconfig -replace ocr /dev/raw/raw6
# 3. 原鏡像自動升級為主檔
[root@node3 ~]# ocrcheck
Device/File Name : /dev/raw/raw4 <-- 原鏡像變為主檔
Device/File not configured
# 4. 可再新增新鏡像
[root@node3 ~]# ocrconfig -replace ocrmirror /dev/raw/raw7
OCR 備份與恢復 (關鍵補充)
# 自動備份 (每 4 小時) 位置
[root@node3 ~]# ocrconfig -showbackup
Backup 1: 2024-01-15 02:00 /u01/app/12.2.0/grid/cdata/cluster/backup_20240115_020000.ocr
Backup 2: 2024-01-15 06:00 ...
...
# 手動備份
[root@node3 ~]# ocrconfig -manualbackup
# 從備份恢復 (需停止 CRS)
[root@node3 ~]# crsctl stop crs
[root@node3 ~]# ocrconfig -restore /u01/app/12.2.0/grid/cdata/cluster/backup_20240115_020000.ocr
[root@node3 ~]# crsctl start crs
最佳實務建議
- 雙裝置不同控制器/儲存陣列:主鏡分離單點故障域
- 定期驗證:
ocrcheck 納入每日巡檢腳本
- 監控自動備份:檢查
ocrconfig -showbackup 確保備份生成
- 變更記錄:所有
ocrconfig 操作記錄變更單,含前後 ocrcheck 輸出
- ASM 儲存時:OCR 放在專用磁碟組 (如
+OCR),冗余度 HIGH
常見問題排查
| 現象 | 原因 | 解決 |
| ocrcheck 顯示 Device/File not configured | 鏡像遺失/損壞 | 檢查共享儲存連線、重新 -replace ocrmirror |
| Cluster registry integrity check failed | OCR 損壞 | 從自動備份恢復 ocrconfig -restore |
| 無法新增鏡像 | 裝置權限/大小不足 | 確保裝置擁有者 grid:asmadmin、大小 ≥ 256MB |
| 節點啟動失敗 ORA-29701 | OCR 不可存取 | 檢查投票盤與 OCR 裝置、網路心跳 |
OCR 是 RAC 叢集的「大腦配置庫」。掌握 ocrcheck 狀態解讀、ocrconfig -replace 鏡像管理、自動備份恢復流程,是 RAC DBA 的核心必修課。記住:一主一鏡、異地分離、定期驗證、備份可恢復。
- 上一篇文章: Oracle NLS 參數完整指南:字符集、排序規則、日期格式與區域設定
- 下一篇文章: Oracle DBA 面試題精選 23 題:從備份恢復到架構設計的完整答案解析
Copyright ©
程式碼之家 All Rights Reserved