當 Oracle 10g RAC 環境下 OCR(Oracle Cluster Registry)磁碟損毀或遺失,需透過 ocrconfig 工具進行修復或從自動備份還原。本文記錄標準恢復流程與關鍵注意事項。
# /oracle/product/10g/crs/bin/ocrcheck
PROT-601: Failed to initialize ocrcheck
報錯表示 OCR 不可讀取,需立即處理。
# /oracle/product/10g/crs/bin/ocrconfig -replace ocr '/dev/rdsk/c5t600A0B80005AD8BC0000020000000000d0s7'
# /oracle/product/10g/crs/bin/ocrconfig -replace ocrmirror '/dev/rdsk/c5t600A0B80005AD8BC0000020000000001d0s7'
PROT-1: Failed to initialize ocrconfig
直接 replace 失敗,需改用 repair 選項。
# /oracle/product/10g/crs/bin/ocrconfig -repair ocr '/dev/rdsk/c5t600A0B80005AD8BC0000020000000000d0s7'
# /oracle/product/10g/crs/bin/ocrconfig -repair ocrmirror '/dev/rdsk/c5t600A0B80005AD8BC0000020000000001d0s7'
repair 可在叢集離線狀態下重建 OCR 位置資訊。
# /oracle/product/10g/crs/bin/ocrconfig -restore '/oracle/product/10g/crs/cdata/crs/backup00.ocr'
自動備份位於 $CRS_HOME/cdata/<cluster_name>/,檔名格式為 backupNN.ocr。
PROT-22: Storage too small,這是已知 Bug。crsctl stop crs)。ocrcheck 應顯示正常。ocrconfig -manualbackup。| 操作 | 指令 |
|---|---|
| 檢查 OCR 狀態 | ocrcheck |
| 修復 OCR 位置(單節點/離線) | ocrconfig -repair ocr <device> |
| 修復 OCR Mirror 位置 | ocrconfig -repair ocrmirror <device> |
| 從備份還原 | ocrconfig -restore <backup_file> |
| 手動觸發備份 | ocrconfig -manualbackup |
| 查看自動備份列表 | ocrconfig -showbackup |