DB2的備份和歸檔設置

 跟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,則將數據庫配置爲無限活動日誌空間。對在數據庫上運行的未完成事務的大小或數量沒有任何限制。在必須容納大型作業的環境中(這些作業需要的日誌空間 比通常分配給主日誌的空間多),無限活動日誌記錄功能非常有用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章