Flashback database必須要有之前的archivelog嗎?

guocun09發表於2019-01-19

有人問開啟了DB級別的flashback( alter database flashback on )後,因為誤操作想還原DB到之前的某個正常的時間點,這個時間點前的flashback log存在但 archivelog不存在了 能否成功flashback database 呢?

比如:flashback log從1月1號開始有保留,1月3號誤操作想flashback db到1月2號狀態,但1月1號後archivelog刪除了。這樣能flashback database回1月2號狀態嗎?

我認為是不行的。

具體討論 http://www.itpub.net/thread-2107912-1-1.html


先看看flashback database的機率機制:

官方文件有說:

To enable Flashback Database, you configure a fast recovery area and set a . This retention target specifies how far back you can rewind a database with Flashback Database.

From that time onwards, at regular intervals, the database copies images of each altered block in every data file into the flashback logs. These block images can later be reused to reconstruct the data file contents for any moment at which logs were captured.

大概意思是當啟用flashback database後,每隔一段時間copy變化block的前映象寫入flashback log。

注:為什麼是說每隔一段時間呢?

我想是 因為 如果每一次block的變化都寫入flashback log話這樣log檔案會非常大,而Oracle採用了 隔一段 使用RVWR程式寫一次。

很可惜在官方檔案中沒找到明確的解釋,不過在論壇( https://www.cnblogs.com/gaojian/p/flashback.html

以及官方(ID 454768.1)中看可以到一些類似的說法

Can you use flashback database if a period of noarchivelog exists (文件 ID 454768.1)

In this Document


Goal

Solution

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.4 and later
Information in this document applies to any platform.
***Checked for relevance on 02-Mar-2012***


Goal

Question: Can we FLASHBACK a DATABASE after switching from Archivelog to Noarchivelog and back to archivelog?



Solution

Answer: This cannot be done. To use "FLASHBACK DATABASE", database must be in ARCHIVE LOG mode.

This is, because after doing the FLASHBACK DATABASE, we must have the REDO LOGS to roll forward the "flash backed" database to a consistent state, hence Archive logs are required!

 

這裡和我的想法不謀而合,我們可以推論:

RVWR(Flashback Writer) process定時將變化block的前映象寫入flashback log。在flashback database恢復到某個時間點時先使用flashback log回滾到block變化前最近的前映象狀態,再使用arhive redo log前滾恢復資料庫到指定時間一致的狀態。所以archive log一定是需要保留的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2564198/,如需轉載,請註明出處,否則將追究法律責任。

相關文章