Oracle
自動化 - 使用備份控製文件恢復數據庫
我正在嘗試自動將數據庫從一個環境定期複製到另一個環境中,從而更改數據庫名稱。通過在源系統上進行開始/結束備份、複製儲存共享並將它們複製到新位置,我已經手動完成了很多次。我的掛斷來自自動化恢復部分。重新創建控製文件後,我執行以下命令(從控製文件的備份生成以進行跟踪):
recover database using backup controfile
問題是這個命令有一個提示。由於我執行此過程的方式,所需的存檔日誌都存在,因此只需鍵入 AUTO。然後等待它完成後,執行
alter database open resetlogs
.我的問題是,我怎樣才能自動化這最後一塊?我有一些想法,但我不喜歡其中任何一個。希望我缺少一些明顯的東西。
更新:我嘗試過使用
CONTINUE DEFAULT
語法,但它似乎不起作用。SQL> RECOVER DATABASE UNTIL TIME '2015-10-20:13:54:16' USING BACKUP CONTROLFILE CONTINUE DEFAULT; ORA-00274: illegal recovery option CONTINUE SQL> RECOVER DATABASE UNTIL TIME '2015-10-20:13:54:16' CONTINUE DEFAULT USING BACKUP CONTROLFILE; ORA-00274: illegal recovery option CONTINUE
使用
AUTOMATIC
.
RECOVER AUTOMATIC DATABASE UNTIL TIME '2015-10-20:13:54:16' USING BACKUP CONTROLFILE;
CONTINUE [DEFAULT]
是不同的分支,不能與UNTIL
and等子句一起使用USING BACKUP CONTROLFILE
。Control file created. SQL> recover automatic database until change 473319 using backup controlfile; Media recovery complete. SQL> alter database open resetlogs; Database altered. SQL> select resetlogs_change# from v$database; RESETLOGS_CHANGE# ----------------- 473320
添加
CONTINUE DEFAULT
.如果未指定其他日誌文件,則使用 Oracle 數據庫自動生成的重做日誌文件繼續恢復。這等效於指定 AUTOMATIC,只是 Oracle 數據庫不提示輸入文件名。
文件連結在這裡。
顯然,其他解決方案將涉及腳本
expect
或類似的東西。