Flashback database必須要有之前的archivelog嗎?
有人問開啟了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)中看可以到一些類似的說法
這裡和我的想法不謀而合,我們可以推論:
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 企業數字化轉型必須要有資料中臺嗎?
- oracle 10g flashback databaseOracle 10gDatabase
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 寫專案程式碼之前必須要做的事
- Vue3.0之前你必須知道的TypeScript實戰技巧VueTypeScript
- Spark Streaming精進之前必須瞭解的基本概念Spark
- 理解RMAN backup database plus archivelog delete all input命令DatabaseHivedelete
- 在深入 Web 開發之前您必須瞭解的事項Web
- 在做自動化測試之前你必須要知道的事
- 《Offer一籮筐》求職之前你必須知道的 4 件事!!求職
- React State Hooks的閉包陷阱,在使用Hooks之前必須掌握ReactHook
- python必須安裝pip嗎Python
- [20210722]ORA-38760與flashback database.txtDatabase
- 企業擁抱開源之前,必須瞭解的七件事
- 學習Python之前,必須要搞定這三件事情!Python
- mysql建表必須使用主鍵嗎MySql
- 在Oracle DG Standby庫上啟用flashback database功能OracleDatabase
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- 刷蘋果iPhone公交卡之前,你必須瞭解的12件事蘋果iPhone
- 為什麼數字化轉型必須要有一個清晰明確的目標?
- ccr量化炒幣機器人:想在幣圈活得久,好心態必須要有機器人
- notion database 必知必會Database
- 測試流程必須嚴格執行嗎?
- 客戶管理必須要用CRM系統嗎?
- KUDU 能超越 300列限制嗎 ? 必須能
- 在採用K8S之前您必須瞭解的5件事情K8S
- C中int main()必須reture一個值嗎AI
- [JAVA] CLASSPATH環境變數必須要配置嗎Java變數
- 同事有話說 | 跨職能團隊是必須的嗎?
- 5G大規模商用來臨之前,你必須知道的幾個知識點
- 測試工程師必須要會寫程式碼嗎?工程師
- 必須先建立資料夾再建立檔案嗎
- 你必須知道的 SmartSql !SQL
- 什麼是字串?Python中字串必須加引號嗎?字串Python
- 移動端網站必須要用html5做嗎?網站HTML
- 你必須做到的 3 件事
- Git中~你必須掌握的!Git
- 必須懂的mysql知識MySql