日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle介质恢复的内部过程--推断与参考

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle介质恢复的内部过程--推断与参考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個是兩年前蔡子楠學習oracle總結的東西,不算什么新東西,僅作為個人的一個記錄,也歡迎大家一起學習討論。

oracle數據庫的介質恢復過程相對非常復雜,oracle畢竟作為一個大系統,設計是相當復雜和龐大的。鄙人結合對controlfile,redo log,datafile等文件的dump內容進行分析,試圖深入的了解oracle的介質恢復過程。雖不能從正向了解內部工作機制,但是從逆向推斷也能做個大致了解,以此增強對oracle的使用信心吧。

從這里開始吧:


1,獲取media-recovery-start SCN.
檢查所有數據文件頭,選擇最小的checkpoint SCN值作為start SCN。

假如獲取到的checkpoint SCN值在數據文件的offline的SCN范圍內,則采用offline-end的SCN。

2,checkpoint structure檢查thread啟動數量
media-recovery SCN中的checkpoint structure檢查在該SCN點有幾個thread線程啟動了。

3,分配log buffer
為第二步中的每個啟動的thread分配log buffer。

4,打開log文件
? --如果log文件在線,系統將會自動打開;
? --如果已經歸檔,將會提示管理員輸入log文件名稱。

5,分配獨占型media recovery lock
為每個需要執行media recovery的數據文件分配一個excusive(獨占)media recovery lock。

6,對每個數據文件設置fuzzy bit

7,checkpoint bitvec 決定了初始啟動的thread。

8,thread線程讀取相應的redo,并應用于數據庫。

9,Media recovery發生檢查點:
???? --應用redo文件過程中,需要轉換redo文件,每當轉換時都會發生Media Recovery checkpoints。
???? --當數據文件的STOP SCN達到時,也會發生Media Recovery checkpoints,數據文件頭的checkpoint也會被推進到該值。

10,完成media checkpoint
所有的thread完成其對應的redo日志應用,達到數據文件的有限STOP SCN值,完成了media recovery;
media recovery fuzzy bit被清除,或者叫做重置為(0x0000.00000000 day/month/year hh24:mi:ss);
接著更新數據文件頭和控制文件,表明了數據庫整體一致。

文檔參考:記著開始時從google找到一篇介紹oracle internal的文章作為了參考,并結合著dump文件的內容才有此體會。要感謝一些那位“默默無聞”的作者。

總結

以上是生活随笔為你收集整理的oracle介质恢复的内部过程--推断与参考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。