部落格分類:
oracle資料庫備份的方法很多,下面就為您介紹用oracle歸檔日誌進行資料庫恢復的方法,希望對您學習oracle歸檔日誌和資料庫備份能有所幫助。
聯機重演日誌沒有丟失應使用完成恢復,如聯機重演日誌損壞,而又沒有備份,就只能進行不完全恢復。
一、完全恢復:
1.使用命令「svrmgrl」呼叫行方式伺服器管理;
2.輸入命令「connect internal」,然後輸入命令「startup mount』;
3.輸入命令「recover database;」
4.按下enter,接受預設值。
5.然後輸入命令「alter database open;」完成資料庫恢復。
二、不完全恢復
警告:應用不完成恢復前,必須將資料庫做一次完全冷備份,因為應用不完全恢復後,聯機重演日誌將重置,以前的所有日誌不可用。
如果恢復不成功,資料庫就不能使用了。再次強調,做完全冷備份後再應用不完全恢復。
1)基於變化的恢復(change-based recovery)
要執行基於變化的恢復,需要知道丟失日誌之前的系統寫入歸檔重演日誌的最大的變化號(scn),然後可以啟動恢復語句恢復資料庫直到改變 scn_number,其中比scn_number是寫到已歸檔重演日誌檔案順序號386的scn(即,小於丟失日誌順序號387的scn)。可以從 v$log_history檢視中得到scn資訊。
select first_change# from v$log_history where sequence#=387;
其中387為最後乙個有效的日誌檔案號加1,該例是查詢386.
知道了scn後,使用下述步驟完成恢復
1.使用命令「svrmgrl」呼叫行方式伺服器管理;
2.輸入命令「connect internal」,然後輸入命令「startup mount』;
3.輸入命令「recover database until change 9999;」
4.在回答oracle第乙個歸檔重演日誌建議資訊時,輸入「auto」,oracle在找到第387號重演日誌之前停止恢復。
5.用命令「alter database open resetlogs;」開啟資料庫。(應用該命令前請確認資料庫已備份,如開啟失敗,日誌將不可用)
2).基於停止恢復(cancel-based recovery)
1.使用命令「svrmgrl」呼叫行方式伺服器管理;
2.輸入命令「connect internal」,然後輸入命令「startup mount』;
3.輸入命令「recover database until cancel;」,oracle提示需要的第乙個歸檔重演日誌檔名.按下enter鍵接受預設檔名,並且—路enter直到詢問順序號387的日誌。輸入「cancel」,停止恢復操作。
4.用命令「alter database open resetlogs;」開啟資料庫。(應用該命令前請確認資料庫已備份,如開啟失敗,日誌將不可用)
3).基於時間的恢復(time-based recovery)
為使用基於時間的恢復,必須知道記錄在v$log_history歸檔重演日誌序號387(丟失重演日誌)的時間,通過執行查詢語句 「select time from v$log_history where sequence#=387;」得到。本例得到的時間是:2002-06-23 14:42:04
現在開始實施恢復。
1.使用命令「svrmgrl」呼叫行方式伺服器管理;
2.輸入命令「connect internal」,然後輸入命令「startup mount』;
3.輸入命令「recover database until time '2002/06/23 14:42:04';」,oracle提示需要的第乙個歸檔重演日誌檔名,輸入「auto」,oracle恢復歸檔重演日誌直到序號為387的日誌,停止恢復操作。
4.用命令「alter database open resetlogs;」開啟資料庫。(應用該命令前請確認已資料庫已備份,如開啟失敗,日誌將不可用)
附:如何啟用oracle的歸檔方式
log_archive_start = true
log_archive_dest_1 = " location=d:\oracle\oradata\orcl\archive "
og_archive_format = %%oracle_sid%%t%ts%s.arc
2.關閉資料庫
svrmgrl> connect internal
svrmgrl> shutdown normal
3.然後啟動例項並安裝該資料庫,但不開啟資料庫。
svrmgrl> startup mount
4.接著,發布下列更改資料庫的命令。
svrmgrl> alter database archivelog;
5.現在,資料庫已經更改為歸檔方式,您可以開啟資料庫。
svrmgrl> alter database open;
oracle日誌歸檔
文章出處 感謝作者的分享 oracle 歸檔日誌 oracle可以將聯機日誌檔案儲存到多個不同的位置,將聯機日誌轉換為歸檔日誌的過程稱之為歸檔。相應的日誌被稱為歸檔日誌。一 歸檔日誌 是聯機重做日誌組檔案的乙個副本 包含redo記錄以及乙個唯一的log sequence number 對日誌組中的乙...
Oracle 歸檔日誌
spfile錯誤導致資料庫無法啟動 又一例spfile設定錯誤導致資料庫無法啟動 managing archived redo logs oracle例項和oracle資料庫 oracle體系結構 oracle 使用者 物件許可權 系統許可權 oracle 角色 配置檔案 oracle 聯機重做日誌...
oracle 歸檔日誌
日誌檔案概述 oracle 引入重做日誌的原因是為了進行資料恢復。在資料庫執行過程中,使用者更改的資料會暫時存放在資料庫快取記憶體區,而為了提高寫資料庫的速度,不是一旦有資料變化,就把變化的資料寫到資料檔案中,因為頻繁的讀寫磁碟檔案使得資料庫系統效率低下,所以,要等到資料庫高速緩衝區中的資料達到一定...