DB2的備份和歸檔設定
轉自www.loveunix.net
http://bbs.loveunix.net/thread-71621-1-1.html
跟Oracle類似DB2也分為兩個模式,日誌迴圈vs歸檔日誌,也就是非歸檔和歸檔模式,下面對這兩種模式做簡單的介紹。
日誌迴圈
日誌迴圈是預設,也就是非歸檔模式,這種模式只支援backup offline離線備份,在備份過程中需要DB2停止服務。
運行離線備份需要如下注意的地方:
1,停止應用對DB2的訪問。
2,通過LIST APPLIACATIONS命令查看現有的串連,然後通過FORCE APPLIACATION命令來結束串連。
3,通過DEACTIVATE DATABASE 命令來確保資料庫未處於活動狀態。
4,通過BACKUP DATABASE命令來對資料庫進行備份。
歸檔日誌
歸檔日誌不是預設狀態,需要配置後才會起作用,DB2在使用日誌保留模式的時候資料庫是可恢複的資料庫,支援線上備份、前滾恢複和崩潰恢複。
配置DB2進入歸檔記錄模式主要是靠Logarchmeth1和Logarchmeth2兩個參數(註:Logretain參數在DB2 v8以後已經被Logarchmeth1取代,可以不用管)。
Logarchmeth1設定為LOGRETAIN
使用歸檔日誌,資料庫是可恢複的資料庫。啟用前滾恢複和崩潰恢複,但是非自動歸檔模式。
歸檔記錄檔之後,必須人工將無用的歸檔日誌刪除,以便新的記錄檔可以複用磁碟空間。每當記錄檔已滿,DB2 就開始將記錄寫至另一個記錄檔,並且不斷建立新記錄檔。
Logarchmeth1設定為除OFF 或LOGRETAIN以外的值
使用歸檔日誌。資料庫是可恢複的資料庫。啟用前滾恢複和崩潰恢複。當記錄檔滿時,自動對它進行歸檔,歸檔的目的地就是Logarchmeth1設定的位置。
如果在歸檔記錄檔時發生錯誤,歸檔暫掛一段時間,此時間由ARCHRETRYDELAY資料庫配置參數指定。還可以使用NUMARCHRETRY
資料庫配置參數來指定 DB2 嘗試將記錄檔歸檔到主要或輔助歸檔目錄的次數,然後它再嘗試將記錄檔歸檔到容錯移轉目錄(由
FAILARCHPATH 資料庫配置參數指定)。
Logarchmeth1和Logarchmeth2配置可能有如下幾種組合
1,Logarchmeth1設定為LOGRETAIN,Logarchmeth2隻能設定為OFF
歸檔日誌位置就是DB2資料庫日誌的位置,需要人工幹預歸檔日誌的轉移和空間維護工作
2,Logarchmeth1設定為USEREXIT,Logarchmeth2隻能設定為OFF
歸檔日誌的管理交由USEREXIT來處理,通過設定編譯USEREXIT可以實現相對複雜一些的歸檔管理方式
3,Logarchmeth1設定為<Directory>,Logarchmeth2設定為OFF
歸檔日誌的工作將會自動進行,需要歸檔日誌將會被自動歸檔到<Directory>指定的位置,由于歸檔是自動進行,DB2的日誌目錄中只有正常logprimary+logsecond個資料庫日誌。
4,Logarchmeth1設定為<Directory1>,Logarchmeth2設定為<Directory2>
歸檔日誌的工作將會自動進行,需要歸檔日誌將會被自動歸檔到<Directory1>和<Directory2>指定的位
置,也就是會產生兩份歸檔日誌由于歸檔是自動進行,DB2的日誌目錄中只有正常logprimary+logsecond個資料庫日誌。
<Directory1>或者<Directory2>都可以設定為TSM。一般推
薦<Directory1>為檔案系統,<Directory2>設定為TSM,既可以歸檔到TSM離線儲存,又可以線上使用文
件系統中歸檔日誌,比較方便。
注意:設定Logarchmeth1和Logarchmeth2後,資料庫會進入backup pending狀態,必須進行一次離線備份,資料才會進入recovery模式並且正常工作。
其他常用的日誌設定參數
1,容錯移轉歸檔路徑(failarchpath)
如果指定的日誌歸檔方法失敗,則為歸檔記錄檔指定備用目錄。在失敗的日誌歸檔方法再次可用之前,此目錄是記錄檔的臨時儲存空間,此時記錄檔將從此目錄中移至日誌歸檔方法。通過將記錄檔移動至該臨時位置,可以避免日誌目錄發生已滿情況。此參數必須是一個標準現有目錄。
如果用tsm作為歸檔目的,這個參數比較必要,當tsm出現問題不能接收歸檔檔案資料的時候,這個可以救急,以免資料庫掛起。
2,記錄檔大小(logfilsiz)
此參數以 4 KB 的頁數指定每個配置日誌的大小。
如果logfilsiz太小會引起頻繁的日誌切換和歸檔,而且遇到大事務的時候 (logprimary+logsecond)× logfilsiz 不足裝下所有內容的時候,該事務會失敗復原。
3,每個事務的最大日誌數(max_log)
此參數指示一個事務可以消耗的主日誌空間的百分比。該值是為 logprimary 配置參數指定的值的百分比。
如果該值設定為 0,則對一個事務可以消耗的總的主日誌空間的百分比沒有限制。如果應用程式違反了 max_log 配置,則將強制該應用程式與資料庫中斷連線,事務將被復原,並且將返回錯誤 SQL1224N。
如果對事務大小無法估計,一般都設定為0,避免意外復原發生。
4,主日誌(logprimary)
此參數指定將建立的大小為 logfilsiz 的主日誌數。 預設為3
主日誌,無論是空的還是滿的,都需要相同的磁碟空間容量。因此,若配置的日誌多於需要的日誌,將會不必要地佔用磁碟空間。若配置的日誌太少,可能會遇到日
志滿載的情況。當選擇要配置的日誌數時,必須考慮建立的每個日誌的大小,以及應用程式是否可以處理日誌滿載的情況。對活動紀錄空間的總記錄檔大小限制為
256 GB。
5,輔助日誌(logsecond)
此參數指定建立並用於恢複(如果需要的話)的輔助記錄檔的數目。 預設為2
如果主記錄檔已滿,可按需要一次分配一個輔助記錄檔(大小為 logfilsiz),最多可分配由此參數指定的最大數目。如果此參數設定為
-1,則將資料庫配置為無限活動紀錄空間。對在資料庫上啟動並執行未完成事務的大小或數量沒有任何限制。在必須容納大型作業的環境中(這些作業需要的日誌空間
比通常分配給主日誌的空間多),無限活動紀錄記錄功能非常有用。