1. 程式人生 > >日誌切換時的檢查點

日誌切換時的檢查點

做一次日誌切換

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

額外的因為檢查點引起的資料庫寫入操作 (因為不必要的檢查點的產生,設定一個非常小的系統恢復時間將會對效能產生負面影響,為了幫助管理員監測這個引數設定較小時對資料庫的影響,這個檢視