您好,登錄后才能下訂單哦!
這篇文章給大家介紹recover database四條語句的區別是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1 recover database using backup controlfile
2 recover database until cancel
3 recover database using backup controlfile until cancel;
4 recover database until cancel using backup controlfile;
結果如下:
如果控制文件丟失,restore備份的控制文件后,則必須使用using backup controlfile選項。而until cancel則是不完全恢復,即current/active redo丟失,或者從restore數據庫后某個歸檔文件缺失,則終止。
結論:
1、適用于restore舊的控制文件,且歸檔日志和cuurrent/active redo都沒有丟失情況。如果一切歸檔日志和在線日志完好,可以不丟失數據。類似于recover database
2、當前控制文件未丟失(不需要restore舊的控制文件),此時有歸檔日志或者current/active log有丟失情況下,則終止。最大可能恢復數據
3、4:我在oracle 10.2.0.4環境下測試效果是相同的,即適用于restore舊的控制文件,在恢復到控制文件備份那刻后,系統會提示應用控制文件備份后的歸檔日志,如果沒有則停止。也是最大可能的恢復數據。
可以得出結果,如果有舊的數據庫備份,在歸檔日志和在線日志全部保存完好的情況下,使用recover database或recover database using backup controlfile。則不丟失數據
如果存在備份數據文件restore后,歸檔日志或者在線日志(active、current)丟失情況下,則可以恢復到丟失的前一個歸檔日志
until cancel就是不完全恢復
需要alter database open resetlogs
數據庫打開后需要理解做一個全庫備份
在線日志文件丟失:
如果正常關閉數據庫,然后啟動時報錯:
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-00313: 無法打開日志組 1 (用于線程 1) 的成員
ORA-00312: 聯機日志 1 線程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出現錯誤:
ORA-01139: RESETLOGS 選項僅在不完全數據庫恢復后有效
SQL> recover database until cancel;
完成介質恢復。
SQL> alter database open resetlogs;
數據庫已更改。
此時不會有數據丟失
關于recover database四條語句的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。