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,則將數據庫配置為無限活動日志空間。對在數據庫上運行的未完成事務的大小或數量沒有任何限制。在必須容納大型作業的環境中(這些作業需要的日志空間比通常分配給主日志的空間多),無限活動日志記錄功能非常有用。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lenolong/archive/2008/12/11/3499838.aspx