小編給大家分享一下DB2中在線增量備份失敗的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯公司是一家集網站建設,淶源企業(yè)網站建設,淶源品牌網站建設,網站定制,淶源網站建設報價,網絡營銷,網絡優(yōu)化,淶源網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
公司有一臺DB2服務器在線增量備份失敗,使用的備份軟件為NETBACKUP 7.5。具體報錯如下:
nbu報4號錯誤,在賽門鐵克的官網上,對4號錯誤的描述是
給出的解決方案是驗證權限,是否可刪除文件。如果你從這個思路去找原因解決問題,就會很困惑。因為即使你把權限設成777,也還是會報這個錯誤。
換一個思路,還是看看DB2的db2diag.log日志吧。日志里有這樣一段描述:
2013-06-19-15.22.29.980017-360 E437909183A905 LEVEL: Severe
PID : 798772 TID : 1 PROC : db2agent (idle) 0
INSTANCE: db2inst2 NODE : 000 DB : PORTALDB
APPHDL : 0-490 APPID: *LOCAL.db2inst2.130619212231
AUTHID : DB2INST2
FUNCTION: DB2 UDB, database utilities, sqlubInitCheck, probe:310
MESSAGE : SQL2426N The database has not been configured to allow the
incremental backup operation. Reason code = "".
這個信息告訴我們數據庫沒有配置允許增量備份的功能,在DB2中需要開啟。在ORACLE中,則可以通過RMAN實現比較方便的增量和差異備份。
接下來我們查一下TRACKMOD參數
$ db2 get db cfg for portaldb|grep -i trackmod
Track modified pages (TRACKMOD) = OFF
發(fā)現此參數為OFF,這顯然是導致DB2增量備份失敗的最主要的原因。
因為db2的增量備份需要設置tracemod為on,這樣數據庫將在物理頁上記錄更改的部分頁,做dirty標記。開啟了增量備份意味著,不需要每次備份一個超大的數據庫.同時意味著你可以將數據庫恢復到崩潰前的狀態(tài),而不是你最后一次備份時的狀態(tài),最大可能的減少數據損失.
正確設置增量備份需要注意三個參數:
db2 update db cfg using logretain on(或者recovery); 啟用歸檔日志
db2 update db cfg using trackmod on; 啟用增量備份功能
db2 update db cfg using userexit on; 啟用用戶出口
更改的效果:
$ db2 update db cfg using trackmod on
DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.
SQL1363W One or more of the parameters submitted for immediate modification
were not changed dynamically. For these configuration parameters, all
applications must disconnect from this database before the changes become
effective.
也就是說,對于這些配置參數,必須在所有應用程序都與此數據庫斷開連接之后(db2 force applications all),更改才會生效。另外在更改參數后,數據庫處于backup pending狀態(tài),在執(zhí)行增量、在線備份之前必須執(zhí)行離線全備份一次,以使狀態(tài)正常。
補充:如何進行在線備份、增量備份、差異備份?
db2 backup db testdb online to 備份路徑(在線全備份) include logs
db2 backup db testdb online incremental to 備份路徑(增量備份)
db2 backup db testdb online incremental delta to 備份路徑(delta備份)
如何使用備份文件進行恢復?
1.查看備份文件的完整性,并驗證是否可用
db2ckbkp -h /db2logs/PORTALDB.0.db2inst2.NODE0000.CATN0000.20130619001007.001
2.執(zhí)行db2ckrst命令返回建議的必需的恢復操作命令。
db2ckrst -d portaldb -r database -t 20130619001007
3.執(zhí)行上個命令給出的命令序列
db2 restore db portaldb incremental from /backup taken at 20130619001007 buffer 100
將會將數據庫還原到備份的時刻,之后應該執(zhí)行日志前滾(此時數據庫處于前滾暫掛狀態(tài),將無法使用)
db2 rollforward db portaldb to end of logs and complete
當然如果你認為不需要前滾(這樣將丟失最后一次備份之后的更改),也可以
db2 rollforward db portaldb stop
當你了解了這些知識,就能夠正確有序的執(zhí)行備份恢復,快速高效的解決問題。
以上是“DB2中在線增量備份失敗的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!