最近對增量檢查點和全域性檢查點有些疑惑,檢視了很多的資料感覺都寫得非常複雜不容易理解。下面貼出一些自己的心得,如果有錯誤的地方希望得到指正。
1,什麼是檢查點
檢查點是資料庫事件,它是指當前資料庫dbwr程序將髒塊從db buffer寫到資料檔案的進度,減少例項崩潰後,例項恢復的時間,是例項恢復的起點。
2,檢查點的分類
全域性檢查點:通常是dba手動生成 alter system checkpoint 或者正常關閉資料庫的時候會自動產生。
增量檢查點:這個比較複雜可以從dbwr寫的條件說起
dbwr寫的條件
1,檢查點發生的時候
2,髒塊達到三分之一
3,沒有空閒的塊
4,timeout occurs
5,rac ping request is made
6,表空間的離線,唯讀,熱備份
7,表的drop和truncate
一,
從上面可以看出,dbwr寫的時候並不只是檢查點發生的時候,也就是說即使檢查點沒有發生dbwr也可能在寫髒塊。 那麼資料庫如果只是記錄了全域性檢查點,例項崩潰後,很多dbwr已經寫到資料檔案中的髒塊也會被應用日誌。增加了例項恢復的時間。
二,通過增量檢查點 :oracle在db buffer中有個檢查點佇列也叫髒佇列,ckpt程序會每三秒去讀去dbwr寫的進展,並把這個點記錄到控制檔案中,但是不會記錄到資料檔案頭,也就是說它記錄的是dbwr實時的寫入情況。這樣當例項崩潰後,需要進行例項恢復,資料庫就可以從控制檔案中讀取這個增量檢查點作為例項恢復的起點,減少例項恢復的時間。
兩個概念:1,
ckpt每3秒一次將檢查點位置記錄進控制檔案,當然同時被記錄進控制檔案的
還有'心跳'等其他資訊.ckpt每3秒一次的工作和ckpt定期觸發dbwr,這兩項操作合一起被稱為--增量檢查
2,增量檢查點並不會去更新資料檔案頭,以及控制檔案中資料庫scn以及資料檔案條目的scn資訊,而只是每3秒由ckpt程序去更新控制檔案中的low cache rba資訊,也就是檢查點的位置。
檢查點 為什麼要插入檢查點 檢查點的作用
一 為什麼要插入檢查點 檢查點的作用 檢查點記錄被測系統的預期結果,在執行過程中,qtp將預期結果與實際執行結果進行比較,若一致,測試結果報告中,檢查點為passed,否則為failed。只有插入檢查點的 才具有測試能力,檢查功能點是否實現 二 標準檢查點 standard checkpoint 檢...
功能測試檢查點
測試物件 flight 程式 c s 架構 檢查mercury 是否顯示在 之間 dim a,ba window flight reservation winedit order no 4 getroproperty text b cstr a msgbox b 正規表示式檢查 if語句判定成功或者...
lr VuGen(事務 檢查點)
事務的應用 在每乙個請求前後加上transaction 和 end transaction,選單欄insert new step 記錄請求的響應時間,其中end transaction有status選項,有4個選項,若是auto就不用手工判斷事務的執行結果,但這個結果不夠準確。2 統計事務的成功率 ...