您好,登錄后才能下訂單哦!
這篇文章主要介紹了db2中日志模式和備份歸檔、恢復的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、日志循環(huán)
這是默認方式,也就是非歸檔模式,這種模式只支持(backup offline)脫機備份,在備份過程中需要DB2停止服務。
在DB2中查看數(shù)據(jù)庫設置,如發(fā)現(xiàn)如下信息
$db2 get db cfg for db_name |grep -i log
結(jié)果如下:
Log retain for recovery enabled (
LOGRETAIN) = OFF
User exit for logging enabled (USEREXIT) = OFF
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
First log archive method
(LOGARCHMETH1) = OFF
則說明為非歸檔模式, 默認情況下為循環(huán)日志
在這種模式下進行脫機備份需要注意:
1、停止應用對DB2的訪問??梢酝ㄟ^db2 list applications命令查看現(xiàn)有的連接,然后通過db2 force application命令來結(jié)束連接。另外通過db2 deactivate database命令來確保數(shù)據(jù)庫未處于活動狀態(tài)。
2、通過db2 backup db 數(shù)據(jù)庫名 命令來對數(shù)據(jù)庫進行備份。
二、歸檔日志
歸檔日志不是默認的,需要配置后才會生效,這種模式下的數(shù)據(jù)庫是可恢復的數(shù)據(jù)庫,支持在線備份、前滾恢復和崩潰恢復。
配置DB2歸檔日志模式主要是要修改Log retain for recovery enabled和First log archive method這兩個參數(shù)。
修改參數(shù)(update更新參數(shù))后,查看數(shù)據(jù)庫是如下設置
$db2 get db cfg for db_name |grep -i log
Log retain for recovery enabled (LOGRETAIN) = RECOVERY
User exit for logging enabled (USEREXIT) = OFF
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
First log archive method (LOGARCHMETH1) = LOGRETAIN
注意這里First log archive method的參數(shù)LOGRETAIN只表明你開啟了歸檔,還需進一步設置才能正常備份
下面需要進一步指定歸檔目錄的路徑
更改歸檔目錄:
$db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log"
使用歸檔日志,當日志文件滿時,會自動對它進行歸檔,歸檔的目的地就是Logarchmeth2設置的位置。歸檔日志文件之后,必須人工將無用的歸檔日志刪除,以便新的日志文件可以復用磁盤空間。每當日志文件已滿,DB2 就開始將記錄寫至另一個日志文件,并且不斷創(chuàng)建新日志文件。
如果在歸檔日志文件時發(fā)生錯誤,歸檔將暫掛一段時間,此時間由“Log archive retry Delay (secs)” ARCHRETRYDELAY數(shù)據(jù)庫配置參數(shù)指定,還可以使用“ Number of log archive retries on error ”NUMARCHRETRY 數(shù)據(jù)庫配置參數(shù)來指定 DB2 嘗試將日志文件歸檔到主要或輔助歸檔目錄的次數(shù),然后它再嘗試將日志文件歸檔到故障轉(zhuǎn)移目錄(由“ Failover log archive path” FAILARCHPATH 數(shù)據(jù)庫配置參數(shù)指定)。
還有就是容易遇見數(shù)據(jù)庫事務日志已滿導致備份出錯的問題,這是可以查看這三個參數(shù)
Log file size (4KB) (LOGFILSIZ) = 8192
Number of primary log files (LOGPRIMARY) = 10
Number of secondary log files (LOGSECOND) = 4
并適當調(diào)整日志文件大小和主輔日志的文件個數(shù)。
最后就是要注意這兩個參數(shù)的設置
Options for logarchmeth2 (LOGARCHOPT1) =
Second log archive method (LOGARCHMETH2) =
有以下幾種情況:
1、Logarchmeth2設置為LOGRETAIN,Logarchmeth3設置為OFF
這時歸檔日志位置就是DB2數(shù)據(jù)庫日志的位置,需要人工干預歸檔日志的轉(zhuǎn)移和空間維護工作
2、Logarchmeth2設置為USEREXIT,Logarchmeth3設置為OFF
這時歸檔日志的管理交由USEREXIT來處理,通過設置編譯USEREXIT可以實現(xiàn)相對復雜一些的歸檔管理方式
3、Logarchmeth2設置為指定目錄<Directory>,Logarchmeth3設置為OFF
歸檔日志的工作將會自動進行,需要歸檔日志將會被自動歸檔到<Directory>指定的位置,由于歸檔是自動進行,DB2的日志目錄中只有正常logprimary+logsecond個數(shù)的數(shù)據(jù)庫日志。
4、Logarchmeth2設置為<Directory1>,Logarchmeth3設置為<Directory2>
歸檔日志的工作將會自動進行,需要歸檔日志將會被自動歸檔到<Directory1>和<Directory2>指定的位置,也就是會產(chǎn)生兩份歸檔日志。由于歸檔是自動進行,DB2的日志目錄中只有正常logprimary+logsecond個數(shù)的數(shù)據(jù)庫日志。對性能有一定的影響。
<Directory1>或者<Directory2>都可以設置為TSM。一般推薦<Directory1>為文件系統(tǒng),<Directory2>設置為TSM,這樣既可以歸檔到TSM離線保存,又可以在線使用文件系統(tǒng)中的歸檔日志,比較方便。
注意:設置Logarchmeth2和Logarchmeth3后,數(shù)據(jù)庫會進入backup pending狀態(tài),必須進行一次脫機備份,數(shù)據(jù)才會進入recovery模式并且正常工作。
三、備份與恢復
1、簡單的冷備與恢復
$ db2 backup db [dbname] to 路徑
$ db2 restore db [dbname] from 路徑 taken at 時間戳
2、在線熱備與恢復
$ db2 backup db dbname online to 路徑 include logs
$ db2 restore db dbname from 路徑 taken at 時間戳
$ db2 "rollforward db dbname to 2013-02-31-20.00.00.000000 using local time and complete overflow log path (/backup/logs)" 前滾日志恢復至指定時間點
3、查看備份記錄
$ db2 list history backup all for dbname 可以看到備份的紀錄
附:DB2數(shù)據(jù)庫備份恢復的概念和知識點
備份類型:脫機備份(也稱冷備份或離線備份)、聯(lián)機備份(也稱熱備份或在線備份)、完全備份、增量備份(也稱累積備份)、差異備份
數(shù)據(jù)庫備份文件結(jié)構(gòu)
恢復類型:崩潰恢復、版本恢復、前滾恢復(任意時間點恢復,恢復到最近時間點)
恢復情形:完全恢復、不完全恢復
手動恢復數(shù)據(jù)庫的順序
日志類型:循環(huán)日志(默認)、歸檔日志(活動日志、在線歸檔日志、離線歸檔日志)
日志類型與恢復類型:循環(huán)日志只支持崩潰恢復和版本恢復,歸檔日志支持所有類型的恢復
凡是聯(lián)機備份產(chǎn)生的備份集在恢復時都需要使用歸檔日志,歸檔日志方式是是允許用戶執(zhí)行前滾(rollforward)恢復的唯一方法。
前滾的時間要在最小恢復時間點之后,最后的事務提交時間點之前。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“db2中日志模式和備份歸檔、恢復的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。