Oracle

Oracle 12cR1 - 沒有重置日誌的重複數據庫

  • April 6, 2021
Database version: Oracle 12cR1
Operating system: Oracle Linux 7.x
ASM: yes

複製腳本:

cat duplicatetodisaster.sh

ORACLE_UNQNAME=xxx
ORACLE_SID=xxx
ORACLE_HOME=xxx


rman target sys/***@PROD auxiliary sys/***@DRC <<EOF
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby1 type disk;
allocate auxiliary channel stby2 type disk;
allocate auxiliary channel stby3 type disk;
allocate auxiliary channel stby4 type disk;
duplicate target database to 'db_name' noopen from active database;
}
exit;
EOF

我們正在嘗試使用日誌傳送方法創建一個災難數據庫。基本邏輯;生產數據庫將被複製,並且將創建一個以掛載模式繼續的災難數據庫。然後,從生產數據庫傳輸的歸檔日誌將由災難數據庫恢復,並確保其連續性。

正如您在我分享的 rman 腳本中看到的那樣;我試圖通過添加 noopen 參數來阻止數據庫執行 resetlogs,但在恢復和恢復成功完成後,控製文件仍然創建並重置數據庫。因此,數據庫中的所有化身、DBID 參數以及使其與生產數據庫保持同步的所有內容都被破壞了。基於此,傳輸的歸檔日誌無法恢復,無法保持連續性。我怎樣才能防止這種情況?

下面,我分享一下 resetlogs 在警報日誌中的確切位置:

Completed: CREATE CONTROLFILE REUSE SET DATABASE "DB_NAME" RESETLOGS ARCHIVELOG
 MAXLOGFILES    192
 MAXLOGMEMBERS      3
 MAXDATAFILES     1024
 MAXINSTANCES    32
 MAXLOGHISTORY     4382
LOGFILE
 GROUP  11  SIZE 1536 M ,
 GROUP  12  SIZE 1536 M ,
 GROUP  13  SIZE 1536 M
DATAFILE
 '+DATA/.../.../system...'
CHARACTER SET WE8ISO8859P9

另一個問題;大約有 250 個數據文件,為什麼單個數據文件會發生這種情況……

最好的祝福,

所以你用備用數據庫描述了 Data Guard。如果您想要一個備用數據庫,請告訴 RMAN 創建一個備用數據庫:

duplicate target database for standby from active database;

引用自:https://dba.stackexchange.com/questions/289352