Oracle
Oracle 12cR1 - 沒有重置日誌的重複數據庫
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;