DB2日誌類型

鑑於CSDN無故刪除博文,本博客不再更新,暫時遷至http://www.db365.net


一直想寫一篇關於數據庫日誌和數據庫恢復的文章,由於心情原因一直沒寫。今天先把數據庫日誌部分寫出來。

 

數據庫中有兩類日誌:

    循環日誌

    歸檔日誌

 

1.循環日誌

循環日誌是db2默認的。這種類型的日誌以循環的模式重用日誌。

在這種模式下,只要某個日誌文件中包含的所有事物提交。就是說,如果日誌仍然是活動日誌,那麼他就不可以被重用。循環日誌包括兩部分:

    主日誌文件

    輔日誌文件

主日誌預先分配,輔日誌只有在需要的時候才分配。

主日誌文件和輔日誌文件的數目有LOGPRIMARY和LOGSECOND來決定。

 

2.歸檔日誌

歸檔日誌要求用戶經常保存日誌。所有日誌文件將保留下來。所以日誌目錄(或歸檔目錄)將包含越來越多的日誌文件。

活動日誌:如果某個日誌滿足以下條件中的任一個,就屬於活動日誌:

    包含尚未提交或回滾的事物

    包含已經提交但是更改尚未寫到磁盤上的事物

在線歸檔日誌:包含已提交且已寫到磁盤上的日誌。這些日誌與活動日誌放在相同的目錄。

離線歸檔日誌:已經從活動日誌目錄轉移到另一個目錄上的歸檔日誌。

要設置日誌爲歸檔模式,需要設置LOGARCHMETH1參數爲以下任意情況:

    LOGRETAIN   日誌文件將被保留在活動日誌目錄中。

    USEREXIT   日誌的歸檔和檢索是由用戶提供的用戶出口程序自動執行,這個出口程序必須由db2uext2調用。用於將在線歸檔日誌移動到與活動日誌目錄不同的一個目錄中。當在ROLLFORWARD操作期間需要離線歸檔日誌時,這個程序還可以用於將離線歸檔日誌取出到活動日誌目錄中。

    DISK:directory_name   使用與USEREXIT相同的算法。db2不調用用戶出口程序,而是自動將日誌從活動日誌歸檔到指定目錄。

    TSM:[management class name]   使用與USEREXIT相同的算法。日誌被歸檔到本地TSM服務器上。

    VENDOR:library_name   使用與USEREXIT相同的算法。日誌使用指定供應商的庫來歸檔。

歸檔日誌不是默認的日誌工作方式,但它是允許用戶執行前滾(roll forward)回覆的唯一方法。

 

3.無限日誌

採用循環日誌或者歸檔日誌,日誌目錄均可能被填滿。如果啓用無限日誌,db2就會在一個日誌被填滿時立即歸檔該日誌。他不會等到日誌中所有事物都被提交且寫入磁盤。這樣可以保證活動日誌目錄永遠不會被填滿。但是這樣可能延遲緊急事故恢復時間,所以不建議採用。如果要啓用:

    將LOGSECOND數據庫參數設爲-1

    啓用歸檔日誌模式

 

日誌相關參數

LOGPRIMARY

LOGSECOND

LOGFILSIZ:用於指定一個日誌文件的大小(4kb頁的個數)

LOGBUFSZ

NEWLOGPATH

SOFTMAX:軟檢查點,是個百分數,例如60%表示日誌文件寫滿60%時,數據庫執行checkpoint操作,把內存中的已提交的數據(髒頁)寫到磁盤

MINCOMMIT

LOGARCHMETH1:第一個日誌歸檔方法

LOGARCHMETH2

MIRRORORLOGPATH

TRACKMOD:啓用增量備份

通過命令update db cfg命令更改參數。

 

啓用了歸檔日誌的數據庫成爲可恢復數據庫。

循環日誌的數據庫稱爲不可恢復數據庫。

 

下次將寫一篇關於數據庫備份恢復的文章。

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