DB2的備份和歸檔設(shè)置
轉(zhuǎn)自www.loveunix.net
http://bbs.loveunix.net/thread-71621-1-1.html
跟Oracle類似DB2也分為兩個模式,日志循環(huán)vs歸檔日志,也就是非歸檔和歸檔模式,下面對這兩種模式做簡單的介紹。
日志循環(huán)
日志循環(huán)是默認(rèn)方式,也就是非歸檔模式,這種模式只支持backup offline脫機(jī)備份,在備份過程中需要DB2停止服務(wù)。
運(yùn)行脫機(jī)備份需要如下注意的地方:
1,停止應(yīng)用對DB2的訪問。
2,通過LIST APPLIACATIONS命令查看現(xiàn)有的連接,然后通過FORCE APPLIACATION命令來結(jié)束連接。
3,通過DEACTIVATE DATABASE 命令來確保數(shù)據(jù)庫未處于活動狀態(tài)。
4,通過BACKUP DATABASE命令來對數(shù)據(jù)庫進(jìn)行備份。
歸檔日志
歸檔日志不是默認(rèn)狀態(tài),需要配置后才會起作用,DB2在使用日志保留模式的時候數(shù)據(jù)庫是可恢復(fù)的數(shù)據(jù)庫,支持在線備份、前滾恢復(fù)和崩潰恢復(fù)。
配置DB2進(jìn)入歸檔日志模式主要是靠Logarchmeth1和Logarchmeth2兩個參數(shù)(注:Logretain參數(shù)在DB2 v8以后已經(jīng)被Logarchmeth1取代,可以不用管)。
Logarchmeth1設(shè)置為LOGRETAIN
使用歸檔日志,數(shù)據(jù)庫是可恢復(fù)的數(shù)據(jù)庫。啟用前滾恢復(fù)和崩潰恢復(fù),但是非自動歸檔模式。
歸檔日志文件之后,必須人工將無用的歸檔日志刪除,以便新的日志文件可以復(fù)用磁盤空間。每當(dāng)日志文件已滿,DB2 就開始將記錄寫至另一個日志文件,并且不斷創(chuàng)建新日志文件。
Logarchmeth1設(shè)置為除OFF 或LOGRETAIN以外的值
使用歸檔日志。數(shù)據(jù)庫是可恢復(fù)的數(shù)據(jù)庫。啟用前滾恢復(fù)和崩潰恢復(fù)。當(dāng)日志文件滿時,自動對它進(jìn)行歸檔,歸檔的目的地就是Logarchmeth1設(shè)置的位置。
如果在歸檔日志文件時發(fā)生錯誤,歸檔暫掛一段時間,此時間由ARCHRETRYDELAY數(shù)據(jù)庫配置參數(shù)指定。還可以使用NUMARCHRETRY 數(shù)據(jù)庫配置參數(shù)來指定 DB2 嘗試將日志文件歸檔到主要或輔助歸檔目錄的次數(shù),然后它再嘗試將日志文件歸檔到故障轉(zhuǎn)移目錄(由 FAILARCHPATH 數(shù)據(jù)庫配置參數(shù)指定)。
Logarchmeth1和Logarchmeth2配置可能有如下幾種組合
1,Logarchmeth1設(shè)置為LOGRETAIN,Logarchmeth2只能設(shè)置為OFF
歸檔日志位置就是DB2數(shù)據(jù)庫日志的位置,需要人工干預(yù)歸檔日志的轉(zhuǎn)移和空間維護(hù)工作
2,Logarchmeth1設(shè)置為USEREXIT,Logarchmeth2只能設(shè)置為OFF
歸檔日志的管理交由USEREXIT來處理,通過設(shè)置編譯USEREXIT可以實(shí)現(xiàn)相對復(fù)雜一些的歸檔管理方式
3,Logarchmeth1設(shè)置為<Directory>,Logarchmeth2設(shè)置為OFF
歸檔日志的工作將會自動進(jìn)行,需要?dú)w檔日志將會被自動歸檔到<Directory>指定的位置,由于歸檔是自動進(jìn)行,DB2的日志目錄中只有正常logprimary+logsecond個數(shù)據(jù)庫日志。
4,Logarchmeth1設(shè)置為<Directory1>,Logarchmeth2設(shè)置為<Directory2>
歸檔日志的工作將會自動進(jìn)行,需要?dú)w檔日志將會被自動歸檔到<Directory1>和<Directory2>指定的位置,也就是會產(chǎn)生兩份歸檔日志由于歸檔是自動進(jìn)行,DB2的日志目錄中只有正常logprimary+logsecond個數(shù)據(jù)庫日志。
<Directory1>或者<Directory2>都可以設(shè)置為TSM。一般推薦<Directory1>為文件系統(tǒng),<Directory2>設(shè)置為TSM,既可以歸檔到TSM離線保存,又可以在線使用文件系統(tǒng)中歸檔日志,比較方便。
注意:設(shè)置Logarchmeth1和Logarchmeth2后,數(shù)據(jù)庫會進(jìn)入backup pending狀態(tài),必須進(jìn)行一次脫機(jī)備份,數(shù)據(jù)才會進(jìn)入recovery模式并且正常工作。
其他常用的日志設(shè)置參數(shù)
1,故障轉(zhuǎn)移歸檔路徑(failarchpath)
如果指定的日志歸檔方法失敗,則為歸檔日志文件指定備用目錄。在失敗的日志歸檔方法再次可用之前,此目錄是日志文件的臨時存儲器,此時日志文件將從此目錄中移至日志歸檔方法。通過將日志文件移動至該臨時位置,可以避免日志目錄發(fā)生已滿情況。此參數(shù)必須是一個標(biāo)準(zhǔn)現(xiàn)有目錄。
如果用tsm作為歸檔目的,這個參數(shù)比較必要,當(dāng)tsm出現(xiàn)問題不能接收歸檔文件數(shù)據(jù)的時候,這個可以救急,以免數(shù)據(jù)庫掛起。
2,日志文件大小(logfilsiz)
此參數(shù)以 4 KB 的頁數(shù)指定每個配置日志的大小。
如果logfilsiz太小會引起頻繁的日志切換和歸檔,而且遇到大事務(wù)的時候 (logprimary+logsecond)× logfilsiz 不足裝下所有內(nèi)容的時候,該事務(wù)會失敗回滾。
3,每個事務(wù)的最大日志數(shù)(max_log)
此參數(shù)指示一個事務(wù)可以消耗的主日志空間的百分比。該值是為 logprimary 配置參數(shù)指定的值的百分比。
如果該值設(shè)置為 0,則對一個事務(wù)可以消耗的總的主日志空間的百分比沒有限制。如果應(yīng)用程序違反了 max_log 配置,則將強(qiáng)制該應(yīng)用程序與數(shù)據(jù)庫斷開連接,事務(wù)將被回滾,并且將返回錯誤 SQL1224N。
如果對事務(wù)大小無法估計(jì),一般都設(shè)置為0,避免意外回滾發(fā)生。
4,主日志(logprimary)
此參數(shù)指定將創(chuàng)建的大小為 logfilsiz 的主日志數(shù)。 默認(rèn)為3
主日志,無論是空的還是滿的,都需要相同的磁盤空間容量。因此,若配置的日志多于需要的日志,將會不必要地占用磁盤空間。若配置的日志太少,可能會遇到日志滿載的情況。當(dāng)選擇要配置的日志數(shù)時,必須考慮建立的每個日志的大小,以及應(yīng)用程序是否可以處理日志滿載的情況。對活動日志空間的總?cè)罩疚募笮∠拗茷?256 GB。
5,輔助日志(logsecond)
此參數(shù)指定創(chuàng)建并用于恢復(fù)(如果需要的話)的輔助日志文件的數(shù)目。 默認(rèn)為2
如果主日志文件已滿,可按需要一次分配一個輔助日志文件(大小為 logfilsiz),最多可分配由此參數(shù)指定的最大數(shù)目。如果此參數(shù)設(shè)置為 -1,則將數(shù)據(jù)庫配置為無限活動日志空間。對在數(shù)據(jù)庫上運(yùn)行的未完成事務(wù)的大小或數(shù)量沒有任何限制。在必須容納大型作業(yè)的環(huán)境中(這些作業(yè)需要的日志空間比通常分配給主日志的空間多),無限活動日志記錄功能非常有用。
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/lenolong/archive/2008/12/11/3499838.aspx