溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DB2數(shù)據(jù)庫怎么利用備份實現(xiàn)異機還原

發(fā)布時間:2021-09-04 16:25:16 來源:億速云 閱讀:128 作者:chen 欄目:云計算

本篇內(nèi)容介紹了“DB2數(shù)據(jù)庫怎么利用備份實現(xiàn)異機還原”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

   一生產(chǎn)的DB2數(shù)據(jù)庫需要將其數(shù)據(jù)全部備份,然后還原導(dǎo)入到一測試庫中,中間遇到一些問題,最后還是圓滿解決了,現(xiàn)將步驟記錄下來方便學(xué)習(xí)和分析。

系統(tǒng)環(huán)境:AIX5.3

數(shù)據(jù)庫: DB2 V9.1

兩臺服務(wù)器:  生產(chǎn)服務(wù)器 192.168.11.178

                          測試服務(wù)器 10.10.11.81

一、備份

分別備份一下生產(chǎn)服務(wù)器和測試服務(wù)器的數(shù)據(jù)庫(兩個服務(wù)器上數(shù)據(jù)庫一樣)

$  db2 backup db LAW online to /basefsnew/db2bak0111 include logs             #生產(chǎn)

備份成功。此備份映像的時間戳記是:20130111180236

$  db2 backup db LAW online to /basefs/db2bak0111 include logs      #測試

備份成功。此備份映像的時間戳記是:20130111190381

二、將生產(chǎn)庫的備份傳送到測試服務(wù)器

大家可以利用SCP命令或其他文件傳輸軟件來傳送備份,這里提醒一下傳過來的備份需要改屬主和屬組還有權(quán)限,否則將導(dǎo)致還原時出錯

三、具體還原過程和問題解決

$ db2 force applications all   (先停止所有應(yīng)用連接)
DB20000I  The FORCE APPLICATION command completed successfully.
DB21024I  This command is asynchronous and may not be effective immediately.

在測試服務(wù)器上開始還原
$ db2 restore db LAW from /home taken at 20130111180236
SQL2539W  Warning!  Restoring to an existing database that is the same as the backup p_w_picpath database.  The database files will be deleted.
Do you want to continue ? (y/n) y
DB20000I  The RESTORE DATABASE command completed successfully.
還原成功

但隨后連接數(shù)據(jù)庫時報錯

$ db2 connect to LAW
SQL1117N  A connection to or activation of database "LAW" cannot be made
because of ROLL-FORWARD PENDING.  SQLSTATE=57019

這個提示是說需要前滾期間的日志才能激活數(shù)據(jù)庫

下面執(zhí)行此句進(jìn)行前滾

$ db2 rollforward db LAW to end of logs and complete
SQL4970N  Roll-forward recovery on database "LAW" cannot reach the specified
stop point (end-of-log or point-in-time) because of missing log file(s) on
node(s) "0".

提示缺失日志,不能到達(dá)結(jié)束點

注:比較順利一次成功時,是這個狀態(tài)

$db2 rollforward db LAW to end of logs and complete

Rollforward Status

Input database alias = db
Number of nodes have returned status = 1

Node number = 0
Rollforward status = not pending
Next log file to be read =
Log files processed = -
Last committed transaction = 2013-1-11-10.59.23.000000

DB20000I The ROLLFORWARD command completed successfully.
 

下面通過這個命令看一下數(shù)據(jù)庫的狀態(tài)和提示
$ db2 rollforward db LAW query status

                                 Rollforward Status

 Input database alias                   = LAW
 Number of nodes have returned status   = 1

 Node number                            = 0
 Rollforward status                     = DB  working
 Next log file to be read               = S0003169.LOG
 Log files processed                    =  -
 Last committed transaction             = 2012-08-24-12.02.32.000000
通過這個命令,我們發(fā)現(xiàn)提示下一個日志為S0003169.LOG,
需要找到這個文件所在的路徑,將生產(chǎn)服務(wù)器上從備份時間點后的日志全部同步或拷貝到測試服務(wù)器。
找到生產(chǎn)服務(wù)器上DB2日志,目錄為/home/db2logs/db2inst2/LAW/NODE0000/C0000004
將此目錄下從做備份的那個時間點后的日志全部拷貝放到測試服務(wù)器的相應(yīng)目錄(可以放到庫備份的那個目錄)下,同時注意修改日志文件的屬主、屬組和權(quán)限,防止權(quán)限不一致問題。

# chown db2inst1:db2iadm1 S0003170.LOG
# chown db2inst1:db2iadm1 S0003171.LOG
# chown db2inst1:db2iadm1 S0003172.LOG
# chown db2inst1:db2iadm1 S0003173.LOG
# chown db2inst1:db2iadm1 S0003174.LOG
# chown db2inst1:db2iadm1 S0003175.LOG
# chown db2inst1:db2iadm1 S0003176.LOG
#chmod 744  S0003170.LOG
#chmod 744  S0003171.LOG
#chmod 744  S0003172.LOG
#chmod 744  S0003173.LOG
#chmod 744  S0003174.LOG
#chmod 744  S0003175.LOG
#chmod 744  S0003176.LOG  

用如下命令來前滾日志并停止日志的溢出,注意"("/home")"格式,指的是日志所在的路徑

$ db2 rollforward db LAW to end of logs and stop overflow log path "("/home")"

                                 Rollforward Status

 Input database alias                   = LAW
 Number of nodes have returned status   = 1

 Node number                            = 0
 Rollforward status                     = not pending
 Next log file to be read               =
 Log files processed                    = S0003169.LOG - S0003176.LOG
 Last committed transaction             = 2013-01-14-21.04.00.000000

DB20000I  The ROLLFORWARD command completed successfully.

最后連接數(shù)據(jù)庫,發(fā)現(xiàn)已成功了,經(jīng)檢查數(shù)據(jù)一致。
$ db2 connect to LAW

   Database Connection Information

 Database server        = DB2/6000 9.1
 SQL authorization ID   = DB2INST1
 Local database alias   = LAW

經(jīng)開發(fā)和測試人員驗證,一切正常。

“DB2數(shù)據(jù)庫怎么利用備份實現(xiàn)異機還原”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI