日誌切換時的檢查點
做一次日誌切換
ALTER SYSTEM SWITCH LOGFILE;
-- 然後看看alert裡面的記錄
Mon Aug 4 22:31:39 2008
Beginning log switch checkpoint up to RBA [0x9.2.10], SCN: 534450
Thread 1 advanced to log sequence 9
Current log# 2 seq# 9 mem# 0: /u/app/oracle/oradata/orcl/redo02.log
Mon Aug 4 22:35:58 2008
Completed checkpoint up to RBA [0x9.2.10], SCN: 534450
-- 我們能看到checkpoint是在過了一段時間(這裡是4分鐘)之後才完成的
-- 接著我們來看下V$DATAFILE_HEADER中的結果
NO STATUS TABLESPACE_NAME CUR_SCN RST_DT RST_SCN CKPT_DT CKPT_SCN CKPT_CNT
--- ------- -------- -------- --------- ---------
1 ONLINE SYSTEM 534770 2008-01-12 16:51:53 446075 2008-08-04 22:31:44 534450 67
2 ONLINE UNDOTBS1 534770 2008-01-12 16:51:53 446075 2008-08-04 22:31:44 534450 30
3 ONLINE SYSAUX 534770 2008-01-12 16:51:53 446075 2008-08-04 22:31:44 534450 67
4 ONLINE USERS 534770 2008-01-12 16:51:53 446075 2008-08-04 22:31:44 534450 66
5 ONLINE EXAMPLE 534770 2008-01-12 16:51:53 446075 2008-08-04 22:31:44 534450 26
-- 在這裡我們能發現下V$DATAFILE_HEADER裡面記錄的SCN和日誌切換髮生的checkpoint的SCN是一樣的,
-- 這就證明了日誌切換是會更新資料檔案頭的,同時日誌切換的checkpoint是一個級別比較低的操作,
-- 它不會立即完成,這也是出於效能上考慮的。
增量checkpoint檢視
當前所知只有在LOG_checkpoint_TIMEOUT設定了非0值之後觸發的增量checkpoint會在alert檔案中有記錄,其他條件觸發的增量checkpoint都不會記錄在alert檔案中。
-- 下面是當LOG_checkpoint_TIMEOUT設定為1800s的時候所產生的增量checkpoint記錄
Sun Aug 3 19:08:56 2008
Incremental checkpoint up to RBA [0x8.e17.0], current log tail at RBA [0x8.1056.0]
Sun Aug 3 19:39:00 2008
Incremental checkpoint up to RBA [0x8.1be0.0], current log tail at RBA [0x8.1c6e.0]
Sun Aug 3 20:09:04 2008
Incremental checkpoint up to RBA [0x8.2af5.0], current log tail at RBA [0x8.2b6a.0]
Sun Aug 3 20:39:07 2008
Incremental checkpoint up to RBA [0x8.3798.0], current log tail at RBA [0x8.3851.0]
Sun Aug 3 21:09:10 2008
Incremental checkpoint up to RBA [0x8.47b9.0], current log tail at RBA [0x8.48bb.0]
Sun Aug 3 21:39:14 2008
Incremental checkpoint up to RBA [0x8.548d.0], current log tail at RBA [0x8.5522.0]
Mon Aug 4 21:05:18 2008
top檢視fast_start_mttr_target
通過檢視V$INSTANCE_RECOVERY動態效能檢視可以檢視一些MTTR相關的資訊。
SELECT TARGET_MTTR,ESTIMATED_MTTR,CKPT_BLOCK_WRITES,CKPT_BLOCK_WRITES FROM V$INSTANCE_RECOVERY
TARGET_MTTR
使用者設定的引數FAST_START_MTTR_TARGET的值.
ESTIMATED_MTTR
根據目前髒塊數目和日誌塊數目,評估的現在進行恢復所需要的時間.
CKPT_BLOCK_WRITES
檢查點寫完的塊數目.
CKPT_BLOCK_WRITES
額外的因為檢查點引起的資料庫寫入操作 (因為不必要的檢查點的產生,設定一個非常小的系統恢復時間將會對效能產生負面影響,為了幫助管理員監測這個引數設定較小時對資料庫的影響,這個檢視