1. 程式人生 > >[Oracle維護工程師手記]為什麼flashback 的時候既需要 flashback log ,又需要 archive log?

[Oracle維護工程師手記]為什麼flashback 的時候既需要 flashback log ,又需要 archive log?

為什麼flashback 的時候既需要 flashback log ,又需要 archive log 呢?

如果資料庫的活動不是很頻繁,可以看到,其flashback log 是比較小的。那麼是通過怎樣的方式 flashback 到過去的呢?

示意如下:

12:50 第一次更改資料(100-->200)

       1:00 進行 第一次 flashback log 寫入。 記錄內容是 更改前的資料:100

1:10 第二次更改資料(200-->300)

        1:30 再進行下一次flashback log 寫入。 記錄內容是 更改前的資料:200

1:45 第三次更改資料(300-->400)

        2:00 再進行下一次flashback log 寫入。 記錄內容是 更改前的資料:300

2:20 第四次更改資料(400-->500)

        2:30 再進行下一次flashback log 寫入。 記錄內容是 更改前的資料:400

2:40 第五次更改資料(500-->600)

       3:00 再進行下一次flashback log 寫入。 記錄內容是 更改前的資料:500

如果想要 flashback   到 1:15 時刻,

資料庫需要先找到最靠近這個時間點的之前的 flashback log 的時刻。

也就是 1:00 是的 flashback 的內容,用這個內容覆當前的資料,然後再吧 1:00 到 1:15 的 archive log 的內容 apply 此資料上。

上面舉的例子是一個數據塊的變更,資料庫執行中有多個數據塊被在不同時刻修改。所以真實的 flashback 是這樣的一個過程:

 比如現在是 3:10分,想要回到1:15 時刻,那麼要經過如下的過程:

先利用 3:00 的 flashback ,用其中的更改前的資料, 回到3:00 的時刻的狀態。

再利用 2:30 的 flashback ,用其中的更改前的資料, 回到2:30 的時刻的狀態。

再利用 2:00 的 flashback ,用其中的更改前的資料, 回到2:00 的時刻的狀態。

再利用 1:30 的 flashback ,用其中的更改前的資料, 回到1:30 的時刻的狀態。

再利用 1:00 的 flashback ,用其中的更改前的資料, 回到1:00 的時刻的狀態。

然後,再利用 1:00 到 1:15 的archive log 內容,apply後達到 1:15 時刻的狀態。

相關推薦

[Oracle維護工程師手記系列]為什麽flashback 的時候需要 flashback log ,需要 archive log?

頻繁 acl ack 就是 系列 AS arc ive flashback 為什麽flashback 的時候既需要 flashback log ,又需要 archive log 呢? 如果數據庫的活動不是很頻繁,可以看到,其flashback log 是比較小的。那麽是通

[Oracle維護工程師手記]為什麼flashback 的時候需要 flashback log ,需要 archive log?

為什麼flashback 的時候既需要 flashback log ,又需要 archive log 呢? 如果資料庫的活動不是很頻繁,可以看到,其flashback log 是比較小的。那麼是通過怎樣的方式 flashback 到過去的呢? 示意如下: 12:50 第一次更改資料(100-->2

[Oracle維護工程師手記系列]Data Guard Broker中改屬性是否需要兩側分別執行?

HA out 需要 nal res 登陸 tor status external Data Guard Broker中改屬性是否需要兩側分別執行?Data Guard Broker有一些屬性,可以通過 show configuration 看到。我有時會想,這些個屬性,是否

[Oracle維護工程師手記]Data Guard Broker中改屬性是否需要兩側分別執行?

Data Guard Broker中改屬性是否需要兩側分別執行?Data Guard Broker有一些屬性,可以通過 show configuration 看到。我有時會想,這些個屬性,是否是分別屬於primary 和 standby,如果想要修改,是否需要分別登陸到primary 和 standby ,來

[Oracle維護工程師手記系列]一次升級後運行變慢的分析

設置 增加 整體 dex classes 並不是 select 統計 系列 客戶報告,當他從 Oracle 11.1.0.7 ,遷移到雲環境,並且升級到12.1.0.2。運行客戶的應用程序測試,發現比以前更慢了。從AWR report 的"Top 10 Foreground

[Oracle維護工程師手記]兩表結合的MVIEW的告訴重新整理

對兩表結合查詢建立MVIEW,進行MVIEW的的高速重新整理失敗,如何處理?例如: SQL> drop user u1 cascade;User dropped.SQL> grant dba to u1 identified by u1;Grant succeeded.SQL> con

[Oracle維護工程師手記]一次升級後執行變慢的分析

客戶報告,當他從 Oracle 11.1.0.7 ,遷移到雲環境,並且升級到12.1.0.2。執行客戶的應用程式測試,發現比以前更慢了。從AWR report 的"Top 10 Foreground Events by Total Wait Time"和"Wait Classes by Total Wait

3.Oracle 閃回特性(Flashback Query、Flashback Table)

http rest acl urg alter version sel 錯誤 current 轉載自:https://blog.csdn.net/leshami/article/details/6112607 Oracle 閃回查詢是指針對特定的表來查詢特定的時間段內的數據

4. Oracle 閃回特性(Flashback Version、Flashback Transaction)

del undo 不同的 acl per posit brush 根據 into 轉載自:https://blog.csdn.net/leshami/article/details/6112981 Oracle閃回特性為數據的快速回復某一對象的特定數據提供了更多的便利。前面

[Oracle運維工程師手記] 如何從trace 檔案,判斷是否執行了並行

[Oracle運維工程師手記系列]如何從trace 檔案,判斷是否執行了並行客戶說,明明指定了並行的hint,OEM 卻報說沒有並行,並且提供了畫面。客戶的SQL文長這樣:INSERT/*+ parallel(4) */ INTO TAB001_WORK SELECT/*+ FULL(USR002) */US

Oracle Flashback技術之Flashback Table

Oracle Flashback家族有四個成員,分別是以下: Flashback Database  ——閃回資料庫 Flashback Drop     ——閃回刪除Flashback Tabl

oracle業務硬盤出現故障無法訪問,提示需要重新格式化後解決方法

互聯網 折騰了兩天,終於把這個問題解決了,記錄一下,也幫助那些和我一樣碰到類似問題的朋友們,數據無價,我們必須謹慎處理。 這塊硬盤是我們公司一卡通平臺的存儲服務器LUN,由多塊硬盤組成,按道理說它不應該出現問題,因為裏面還有RAID等保護,但偏偏就出現了這樣的問題:硬盤盤符還能看見,但一打開提示“需要

oracle維護服務 oracle解決方案 oracle售後服務

效率 安全 負責 keyword 現象 div 直接 評估 數據庫優化 為客戶提供的oracle 金牌技術服務內容為: 1.電話服務 (7*24) 熱線支持電話800-810-0081 每周7天,每天24小時北京技術支持中心每天都有專

Oracle維護之日常偽DBA操作

好記性不如爛筆頭,本人日常DBA的SQL如下,整理了常用的,建立使用者之類的就直接不寫了,因為他不算日常的SQL,偶爾用一下,直接通過筆記調出來 -- 查詢當前使用者所有表 select t.* from user_tables t -- impdp匯出 imp xx

Oracle:SQL語句提高執行效率的5種需要注意的書寫方法

        1、操作符號: NOT IN操作符   2、注意union和union all的區別。union比union all多做了一步distinct操作。能用union all的情況下儘量不用union。   3、查詢時儘量不要返回不需要的行、列。另外在多表連線查詢

Pycharm下執行除錯Python專案時,當除錯需要給除錯的程式傳入命令列引數需要程式在設定的斷點處停下里檢視變數時的解決方法

  今天在除錯了一個複雜的Python專案,其中這個專案的除錯需要事先從命令列讀取引數,並且在除錯期間需要再事先設定的斷點處停下來。檢查相關的變數。   問題是,在Pycharm的Terminal 輸入檔名+引數後,程式就處於執行狀態,除非程式出錯,否則程式會一

Oracle維護常用SQL語句

1、查看錶空間的名稱及大小   select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size   from dba_tablespaces t, dba_data_files d   where t.tablespace_name =

淺談嵌入式工程師入門及嵌入式工程師進階,學嵌入式這些你需要知道

你是 找到 一個人 不知道 裏來 方法 高級編程 嵌入式系統 實用 想要從事嵌入式開發,但又不知道怎麽入門的,可以看下,下面我結合自身實際來談一談。 前提基礎:簡單的電路、模電、數電知識,C語言 一、從51單片機入手 如果有一些前提的基礎知識,要上手51單片機不算難。首先,

登錄窗口不是系統主窗口 但需要最先顯示 用delphi怎麽編寫代

edit nat show form sender ati for 需要 result 主窗體FormShow事件(主窗體為Form1為例,Form2為登陸窗體) procedure TForm1.FormShow(Sender: TObject); begin

企業不需要“好人”,而是需要稱職的人!

幹什麽 而是 原則 價值 綁架 進行 中國 交流 自己的 企業到底需要不需要好人?企業應該從什麽角度評價員工?相信這是很多企業、大多數老板都會遇到的困擾!這幾天和老板朋友交流對幹部員工的看法,不僅老板口頭上少不了對幹部是“好人”的評價,連我也會有“他的確是一個好人”的回應。