oracle11g基於備份的rmanduplicate
基於備份的rman duplicate 命令來創建standby database
前提條件: 保證原庫數據庫的備份,歸檔對於standby 端是完全可見的,
這裡假設原庫和目標端數據文件,日志文件等所有文件存放結構完全相同;
配置主庫,備庫靜態監聽,主庫處於歸檔模式,和force logging
1.對主數據庫進行必要的更改。
a. 啟用 force logging。
b. 如果沒有密碼文件,則創建密碼文件。
c. 創建備用 redo 日志。
d. 修改參數文件,使其適用於 Dataguard。
2. 確保 sql*net 連接正常。
3. 使用備份文件。
a. 創建密碼文件
b. 為備用數據庫(輔助數據庫)創建初始化參數文件
c. 為數據庫文件創建需要的裝載點或文件夾
d. 連接至主數據庫作為其目標數據庫,以運行創建備用 ON STANDBY。
DUPLICATE TARGET DATABASE
FOR STANDBY
DORECOVER
SPFILE
#SET DB_FILE_NAME_CONVERT '', '' ----如果數據文件路徑不同使用該參數來轉換
#SET LOG_FILE_NAME_CONVERT '', '' ----如果日志文件路徑不同使用該參數來轉換
#SET SGA_MAX_SIZE 200M ----設置 SGA 大小
#SET SGA_TARGET 125M
SET "db_unique_name"="foou" COMMENT ''Is a duplicate''
SET LOG_ARCHIVE_DEST_2="service=inst3 ASYNC REGISTER
VALID_FOR=(online_logfile,primary_role)"
SET FAL_SERVER="inst1" COMMENT "Is primary"
NOFILENAMECHECK;
關鍵詞解釋:
dorecover :在restore完成後自動進行recover 操作
NOFILENAMECHECK:因為主庫和備庫環境所有文件名都是一樣的
如何理解上訴腳本內容:
rman 會自動從主庫拷貝 spfile 到備庫,並且使用該參數文件來啟動備庫的實例,
還原必要的數據文件和歸檔日志文件到備庫主機上,然後進行recover 操作,but does not place it in manual or managed recovery mode;