例項崩潰恢復原理 檢查點佇列的作用

2022-07-22 05:36:10 字數 1099 閱讀 8750

資料庫中存在著buffercache,buffercache有很多的塊,其中包括髒塊

資料庫執行期間有很多的髒塊,這些髒塊是還未寫入磁碟,這時,如果資料庫存在的伺服器突然斷電宕機,出現故障,這些未寫入磁碟的髒塊的資料就會丟失。

資料丟失分為兩種情況

1.可以丟失的資料

對於oracle資料庫來講,未提交的事務所修改的資料塊可以丟失

2.不可以丟失的資料

已經提交的事務所對應的資料塊不可以丟失

資料崩潰的瞬間,這兩種髒塊時都存在的

oracle崩潰以後,有些資料是要通過日誌來找回的

資料庫崩潰瞬間,塊型別包括:

1.髒塊對應的日誌已經寫入磁碟------說明塊對應的事務已經提交,可以通過日誌將髒塊構造出來

2.髒塊對應的日誌在logbuffer中-----說明塊對應的修改了的事務還未提交,對於資料庫來講,說明這個塊是可以丟失的。丟失的話,也就意味著對於資料的修改沒有進行

資料庫非正常關閉的情況下,是要啟動例項崩潰恢復的

例項崩潰恢復

使用磁碟上的日誌,將資料庫崩潰的瞬間所對應的髒塊構造出來,也就是說,將buffercache恢復到了資料庫崩潰的瞬間。

oracle使用日誌恢復的時候,只能恢復到磁碟上的最後乙個日誌

oracle資料庫非正常關閉或者伺服器宕機,斷電等等一些原因導致oracle例項崩潰。導致髒塊丟失,oracle就可以使用redolog裡面的日誌將我們所有需要的髒塊構造出來。

redolog中的日誌,使用到最後一條,將所有日誌跑完,

終點是current日誌的最後一條,問題是起點是誰呢?

1.oracle發現資料庫例項關閉崩潰,需要做例項恢復

2.oracle在控制檔案中找到檢查點佇列的lrba位址,根據lrba位址找到日誌起點,從日誌起點跑到日誌終點,整個過程中,oracle中已經提交事務的髒塊以及未提交事務的髒塊全被構造出來,而未提交的事務已經在undo中進行記錄了。

oracle在此後的操作中,會自動將崩潰前未提交事務,自動進行回滾。

前滾----跑日誌,將丟失髒塊構造出來

回滾----會自動將崩潰前未提交事務,自動進行回滾。

1.確定日誌起點

2.加快oracle資料庫例項崩潰恢復速度

資料恢復原理 FAT32資料恢復原理

fat32資料恢復原理 結構 mbr dbr dbr2 fat1 fat2 dir data fat32 資料恢復原理 由於fat與fdt對資料的鏈式儲存管理的,可以通過鏈式搜尋查詢。只有fat表和fdt配合使用,才能可以統一管理整個磁碟檔案,也就可以準確定位被刪除的檔案的確切位置。在 window...

資料恢復原理實驗

用winhex檢視硬碟資訊 1.為虛擬機器新增一塊硬碟 1 登入到實驗主機上。右擊 我的電腦 管理 2 點選磁碟管理,會出現磁碟初始化和轉換嚮導,利用嚮導新增一塊新的磁碟 3 點選下一步選擇要初始化的磁碟,預設即可 4 選擇要轉換的磁碟,勾選 磁碟 1 一直下一步,完成新增過程後會發現多了一塊磁碟1...

資料恢復原理實驗

z任務一 用winhex檢視硬碟資訊 1 為虛擬機器新增一塊硬碟 登入到實驗主機上。右擊 我的電腦 管理 點選磁碟管理,會出現磁碟初始化和轉換嚮導,利用嚮導新增一塊新的磁碟 點選下一步選擇要初始化的磁碟,預設即可 選擇要轉換的磁碟,勾選 磁碟 1 下一步直至完成 完成新增過程後會發現多了一塊磁碟1,...