DB2日誌頻繁歸檔的原因

[test@demo db2cfg]$ db2 list history archive log all for testdb
 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  Backup ID
 -- --- ------------------ ---- --- ------------ ------------ --------------
  X  D  20190108163458      1    D  S0000033.LOG C0000002      
 ----------------------------------------------------------------------------
    Comment:                                                                  
 Start Time: 20190108163458
   End Time: 20190108163458
     Status: A
 ----------------------------------------------------------------------------
  EID: 77 Location: /db2cfg/test/TESTDB/NODE0000/C0000002/S0000033.LOG

[test@demo db2cfg]$ ll -h /db2cfg/test/TESTDB/NODE0000/C0000001
total 180K
-rw-r----- 1 test test 24K Jan  8 16:06 S0000020.LOG
-rw-r----- 1 test test 12K Jan  8 16:06 S0000021.LOG
-rw-r----- 1 test test 12K Jan  8 16:06 S0000022.LOG
-rw-r----- 1 test test 24K Jan  8 16:14 S0000023.LOG
-rw-r----- 1 test test 12K Jan  8 16:14 S0000024.LOG
-rw-r----- 1 test test 12K Jan  8 16:17 S0000025.LOG
-rw-r----- 1 test test 12K Jan  8 16:18 S0000026.LOG
-rw-r----- 1 test test 12K Jan  8 16:20 S0000027.LOG
-rw-r----- 1 test test 12K Jan  8 16:25 S0000028.LOG
-rw-r----- 1 test test 12K Jan  8 16:25 S0000029.LOG
-rw-r----- 1 test test 12K Jan  8 16:28 S0000030.LOG
-rw-r----- 1 test test 12K Jan  8 16:28 S0000031.LOG
-rw-r----- 1 test test 12K Jan  8 16:31 S0000032.LOG

查看上面的歸檔日誌大小都很小,而且比較頻繁,是爲什麼呢?
正常情況下,只要一個日誌文件寫滿了(不管活動還是非活動,含有未提交事務或事務雖提交
但是數據還未刷入磁盤的日誌是活動日誌)就會被歸檔,
但是在歸檔日誌模式下,某些場景,如在數據庫deactivate/發出archive log命令/
online backup結束
後等也會觸發日誌管理器對日誌進行歸檔(不管日誌是否寫滿都截斷當前
日誌進行歸檔,然後開始使用新的日誌文件)。
以上我的環境是由於測試環境,頻繁的做online backup測試和在沒有顯式激活數據庫情況
下頻繁connect和disconnect數據庫,所以導致於頻繁的歸檔且大小非常小。

數據庫的激活有兩種方式:
顯式激活 :手動發出激活數據庫命令db2 activate db <dbname>,
隱式激活: 第一個連接連到數據庫時,db2 connect to <dbname>就會隱式地激活數據庫,

如果在沒使用 activate db命令激活數據庫下,第一次的連接時候,db2會分配所有資源如緩
衝池等,當所有對數據庫連接斷開後,數據庫就會自動deactivate,然後對日誌進行歸檔,比如
頻繁執行 db2 connect to <dbname>
              db2 terminate/db2 connect reset
數據庫頻繁自動的deactivate,就會導致於頻繁歸檔;

如果採用db2 activate db <dbname>顯式激活數據庫,所有連接斷開後,DB2並不會自動
deactivate數據庫,也就不會觸發日誌歸檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章