| 維度 | NOCATALOG(控制檔) | CATALOG(獨立恢復目錄) |
|---|---|---|
| 元數據儲存位置 | 目標庫控制檔 | 獨立 Catalog 資料庫 |
| 保留歷史長度 | 受 CONTROL_FILE_RECORD_KEEP_TIME 限制(預設 7 天) | 無限制,可保留年級歷史 |
| 控制檔體積膨脹 | 明顯,頻繁備份導致控制檔增大 | 不影響目標庫控制檔 |
| 災難恢復前置條件 | 必須先以檔案級恢復控制檔,才能 STARTUP MOUNT | 可 STARTUP NOMOUNT 後 RESTORE CONTROLFILE FROM CATALOG |
| 多資料庫集中管理 | 不支援 | 單一 Catalog 管理多目標庫 |
| 維護複雜度 | 低(零額外元件) | 高(需建立/備份/監控 Catalog DB) |
CREATE TABLESPACE rman_ts DATAFILE '/u01/oradata/catalog/rmants.dbf' SIZE 200M AUTOEXTEND ON;
CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_ts QUOTA UNLIMITED ON rman_ts;
GRANT RECOVERY_CATALOG_OWNER TO rman;
rman target / catalog rman/rman@catalog_db
RMAN> CREATE CATALOG TABLESPACE rman_ts;
RMAN> REGISTER DATABASE;
RMAN> EXIT;
rman target / catalog rman/rman@catalog_db
# 或腳本中
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP DATABASE PLUS ARCHIVELOG;
RELEASE CHANNEL c1;
}
control_files 指定路徑。STARTUP MOUNTRMAN> RESTORE DATABASE; RECOVER DATABASE;ALTER DATABASE OPEN RESETLOGS;STARTUP NOMOUNTRMAN> RESTORE CONTROLFILE FROM CATALOG;ALTER DATABASE MOUNT;RMAN> RESTORE DATABASE; RECOVER DATABASE;ALTER DATABASE OPEN RESETLOGS;-- 延長控制檔記錄保留至 30 天
ALTER SYSTEM SET control_file_record_keep_time=30 SCOPE=BOTH;
-- 確認生效
SHOW PARAMETER control_file_record_keep_time;
同樣務必定期檔案級備份控制檔(BACKUP CURRENT CONTROLFILE 或 OS 複製)。
CONFIGURE CONTROLFILE AUTOBACKUP ON)必須開啟。