CUUG ORACLE檢查點講解
徹底理解檢查點的功能、作用、原理
檢查點的實際應用
檢查點做什麼:
通知DBWn寫髒塊
資料檔案頭 select name ,CHECKPOINT_CHANGE# from v$datafile_header;
控制檔案頭 select name,CHECKPOINT_CHANGE# from v$datafile;
檢查點號來源與SCN(System Change Number),
SCN是Oracle資料庫中用來標識事務前後順序的唯一序
列號。
SCN是當 Oracle資料更新後,由 DBMS自動維護去累積遞增的一個數字。當 一個事務 commit時,LGWR會將 log buffer寫入 redo log file,同時也會將該事 務的 SCN同步寫入到 redo log file內(wait-until-completed)。因此當你 commit transaction時,在成功的訊息返回之前,LGWR必須先完整的完成上述行為之 後,否則你是看不到提交成功的響應訊息。 |
可以理解的,返回的 SCN,也是目前 redo log file最新的 SCN 紀錄。因為 commit後的交易才會有 SCN,而一旦 commit就會立刻寫入 redo log file中。 |
檢查點的作用
? Checkpoints are used to determine where recovery should start
? Checkpoint position - where recovery starts
? Checkpoint queue - link list of dirty blocks
系統時間標記與 scn之間存在一張表,即 SYS下的 SMON_SCN_TIME。 |
每隔 5分鐘,系統產生一次系統時間標記與 scn的匹配並存入 SYS.SMON_SCN_TIME表(由 SMON程式來進行 Update操作),該表中記錄了 最近 1440個系統時間標記與 scn的匹配記錄,由於該表只維護了最近的 1440條 記錄,即最近 5天內的記錄。 |
檢視 SCN和 timestamp之間的對應關係: select scn,to_char(time_dp,'yyyy-mm-dd hh24:mi:ss') from sys.smon_scn_time order by 2; |
查詢當前的檢查點號
select dbms_flashback.get_system_change_number from dual;
select current_scn from v$datafile;
轉換
select scn_to_timestamp(4082040) from dual;
select timestamp_to_scn(to_date('2011-01-25 12:10:00','yyyy-mm-dd hh24:mi:ss')) from dual; |
checkpoint有兩個目的: 1、確保資料一致性。 |
2、使資料庫能快速地恢復
檢查點型別:
全域性檢查點:
關閉資料庫
增量檢查點:
定期執行、只寫最老的塊S:
階段性的儲存操作的結果,以至於以後例項異常中斷而
不要從頭開始恢復(recovery),縮短例項恢復的時間,
類似於Word程式中設定了自動儲存功能。
部分檢查點
和部分物件 如:TS 做檢查點
部分檢查點的作用
? 用來記錄表空間何時開始備份,那麼以後就從備份的點
(檢查點)開始恢復(recovery),Oracle在做備份時
總是會發生一個檢查點,用來記錄開始備份的位置
部分檢查點的影響
? Oracle會鎖資料檔案頭,但是不會鎖表空間,不影響
DML操作
? 把跟備份表空間相關的髒塊寫入資料檔案
? 如果是UMAN(使用者管理)備份方式,為了保證資料塊
的一致性,會把被修改的資料塊的映象寫入redolog,會
導致日誌資訊量增加
相關引數:
FAST_START_MTTR_TARGET 首選--建議
比如設定為60S,假定該值處於合理的情況之下,則一旦例項崩潰,在60S以內例項應當能夠被恢復。合理即該值不能太大,也不能太小。太大則例項恢復所需的時間較長,太小則導致大量資料的及時寫入,增加了系統的I/O。
FAST_START_MTTR_TARGET設定為0將關閉檢查點自動調整功能。當設定一個大於0的值給FAST_START_MTTR_TARGET,則自動調整檢查點功能將啟用。
select target_mttr,estimated_mttr from v$instance_recovery;
select mttr_target_for_estimate,dirty_limit,estd_cache_writes,estd_cache_write_factor,estd_total_writes,estd_total_write_factor from v$mttr_target_advice;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/500314/viewspace-1069841/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CUUG oracle物化檢視講解Oracle
- OCP知識點講解 之 檢查點佇列與增量檢查點佇列
- Oracle完全檢查點和增量檢查點詳解Oracle
- 【TUNE_ORACLE】Oracle檢查點(二)檢查點效能Oracle
- Oracle 檢查點佇列與增量檢查點Oracle佇列
- oracle checkpoint檢查點Oracle
- 【TUNE_ORACLE】Oracle檢查點(一)檢查點(Checkpoint)概念介紹Oracle
- 【TUNE_ORACLE】Oracle檢查點(五)建立並利用Statspack定位檢查點故障Oracle
- Oracle 檢查點涉及的SCNOracle
- [zt]Oracle檢查點ckpt (checkpoint)Oracle
- ORACLE增量檢查點,LRBA,BWROracle
- oracle checkpoint檢查點系列一Oracle
- oracle ckpt檢查點型別(增量及常規完全檢查點)checkpointOracle型別
- 【TUNE_ORACLE】Oracle檢查點(三)增量檢查點四個關鍵引數介紹Oracle
- Oracle 同步、非同步完全檢查點Oracle非同步
- 全域性檢查點和增量檢查點
- 關於oracle的ckpt(檢查點程式)Oracle
- oracle檢查點的相關知識Oracle
- 全域性檢查點和增量檢查點(zt)
- 管理oracle日誌之調整檢查點Oracle
- 【CHECKPOINT】Oracle檢查點優化與故障處理Oracle優化
- 【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議Oracle
- Oracle鎖競爭和管理 CUUGOracle
- CUUG ORACLE高階工具的使用Oracle
- Oracle SCN機制解析 (SCN, checkpoint檢查點) - finalOracle
- 改變ogg抽取程式檢查點檔案中的檢查點
- 檢查 oracle 壞塊Oracle
- Oracle基本資訊檢查Oracle
- 檢查點和oracle資料庫的恢復(一)SCNOracle資料庫
- CUUG筆記 ORACLE索引學習筆記筆記Oracle索引
- CUUG筆記--oracle備份和恢復筆記Oracle
- CUUG《Oracle 監聽和TNS配置》- 筆記Oracle筆記
- iOS錨點的講解iOS
- Oracle DG 日常點檢Oracle
- 檢查Oracle 命中率Oracle
- oracle 常用查詢檢視Oracle
- Oracle資料庫啟動過程驗證檢查點SCNOracle資料庫
- MySQL InnoDB檢查點機制MySql