亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

利用表空間的備份快速恢復IBM DB2數據庫

2024-07-21 02:44:02
字體:
來源:轉載
供稿:網友
在 DB2 V9 版本中,提供了一個重要的新特性,即利用DB2表空間的備份來快速恢復數據庫,甚至可以根據數據的重要性選擇恢復一部分重要數據,達到快速恢復的目的。本文結合實例對 DB2 V9 的該重要技術特性做了詳細介紹,希望對用戶規劃系統備份 / 恢復策略有所幫助。

關于DB2數據庫的恢復(Rebuild)

當我們的 DB2 數據庫由于一些嚴重錯誤 ( 如存儲損壞等 ) 而導致數據庫庫損壞時,我們通常需要在修復相關錯誤后,通過 Restore 命令來進行數據庫的恢復 (DB2 目前也支持通過 HADR 等多機容錯機制實現系統高可用,本文僅對單機數據庫損壞,需要進行數據庫恢復的情況進行探討 )。一般的做法是通過以前的數據庫全備份來進行整庫恢復,然后通過日志對數據庫進行前滾 (RollForward),從而使數據庫恢復到接近災難點的時間。但當我們數據庫的數據量較大時,數據庫的全備份和整庫恢復都會很是非常消耗時間的。

在 DB2 V9 版本中,提供了一個重要的新特性,即利用 DB2 表空間的備份來快速恢復數據庫,甚至可以根據數據的重要性選擇恢復一部分重要數據,達到快速恢復的目的。本文結合實例對 DB2 V9 的該重要技術特性做了詳細介紹,希望對用戶規劃系統備份 / 恢復策略有所幫助。

場景1:利用表空間備份來重建整個 DB2 數據庫

在進行數據庫重建時,DB2 V9 現在能夠支持通過表空間一級的備份來重建整個數據庫,而不需要整個數據庫的全備份。DB2 的此項能力使得我們對核心系統的重要數據進行快速備份和恢復成為可能。讓我們首先看以下的一個例子:

假設我們有一個數據庫 TEST,該數據庫采用歸檔日志。某天,系統突然掉電,導致數據庫存放的磁盤損壞了。這時,數據庫將處于不可用的狀態,作為 DBA,我們需要迅速對數據庫進行恢復。假如該數據庫有以下的表空間:

◆SYSCATSPACE ( 系統表空間 )

◆USERSPACE1 ( 用戶數據表空間 1)

◆USERSPACE2 ( 用戶數據表空間 2)

◆USERSPACE3 ( 用戶數據表空間 3)

你手頭可用于進行數據庫恢復的數據包括 :

所有數據庫日志文件由于日志被存放在另外的磁盤上 ( 而且很多時,我們還會對日志進行鏡像,因為它們實在太重要了 ),因此它們沒有損壞。

你沒有數據庫的全備份,但是你有以下的表空間備份:

◆TEST.3.DB2.NODE0000.CATN0000.20060515135047.001 - SYSCATSPACE 和 USERSPACE 1 表空間在 2006051513504 7 時間點的備份;

◆TEST.3.DB2.NODE0000.CATN0000.20060516135136.001 - USERSPACE 2 和 USERSPACE 3 表空間在 2006051613513 6 時間點的備份;

◆TEST.3.DB2.NODE0000.CATN0000.20060517135208.001 - USERSPACE 3 表空間在 2006051713520 8 時間點的備份。

對于傳統的 Restore 和 Rollforward 的 DB2 恢復策略,我們需要一個數據庫的全備份影像來進行數據庫恢復然后利用日志來進行數據庫的前滾 (Rollforward) 操作,但不幸的是,在本例中,我們并沒有數據庫的全備份,而只有不同時間做的表空間備份。

錯誤的數據庫恢復方法

如果我們試圖直接用表空間備份來恢復整個數據庫,我們會得到以下的錯誤提示:

清單1 :直接用表空間備份來恢復整個數據庫的錯誤提示

db2 restore db test taken at 20060517135208

SQL2560N The target database is not identical to the source database

for a restore from a table space level backup.

上述命令支持完整數據庫備份的數據庫恢復,不支持表空間級別的數據庫恢復。

利用表空間備份恢復數據庫

在 DB2 V9 中,提供了一個新的功能,就是通過表空間備份和日志來快速重建整個 DB2 數據庫,這個功能是通過在 RESTORE DATABASE 命令中加入 REBUILD 選項來實現的。

以下的步驟幫助我們通過 REBUILD 選項來利用表空間備份恢復 TEST 數據庫:

第一步,我們利用表空間備份執行帶 REBUILD 選項的 RESTORE DATABASE 命令恢復數據庫。

清單2:通過 REBUILD 選項來利用表空間備份恢復 TEST 數據庫

db2 restore db test rebuild with all tablespaces in database taken at 20060517135208

這一步我們是從已有的幾個表空間備份影像中選取一個備份來進行數據庫恢復。一般,我們會選取最近備份的表空間影像,這個備份影像我們稱之為“目標影像”(Target Image),因為它包含了我們用于恢復 TEST 數據庫所需的最新的表空間備份、數據庫配置參數、日志序列等重要信息。實際上,這個“目標影像”可以是任何一種備份 ( 全備份、表空間備份、增量備份、在線或離線的備份 )。在本例中,最近的一個備份影像是 TEST.3.DB2.NODE0000.CATN0000.20060517135208.001,因此我們就選取它作為我們進行數據庫恢復的“目標影像”。

當我們執行完上述 RESTORE 命令之后,TEST 數據庫的結構將被重建和恢復。我們可以得到數據庫的參數和其備份歷史之類的信息。如果我們發出 LIST HISTORY 命令 ( 如:LIST HISTORY ALL FOR TEST),我們將得到以下的輸出(參照清單 3) 。

清單3 :使用 LIST HISTORY查詢數據庫備份歷史信息

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID

-- --- ------------------ ---- --- ------------ ------------ --------------

R D 20060519121107001 F 20060517135208

---------------------------------------------------------------------------

Contains 1 tablespace(s):

00001 USERSPACE3

---------------------------------------------------------------------------

Comment: RESTORE TEST WITH RF

Start Time: 20060519121107

End Time: 20060519121108

Status: A

---------------------------------------------------------------------------

EID: 7 Location:

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID

-- --- ------------------ ---- --- ------------ ------------ --------------

R P 20060519121108001 F 20060515135047

---------------------------------------------------------------------------

Contains 2 tablespace(s):

00001 USERSPACE1

00002 SYSCATSPACE

---------------------------------------------------------------------------

Comment: RESTORE TEST WITH RF

Start Time: 20060519121108

End Time: 20060519121113

Status: A

---------------------------------------------------------------------------

EID: 8 Location:

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID

-- --- ------------------ ---- --- ------------ ------------ --------------

R P 20060519121113001 F 20060516135136

---------------------------------------------------------------------------

Contains 1 tablespace(s):

00001 USERSPACE2

---------------------------------------------------------------------------

Comment: RESTORE TEST WITH RF

Start Time: 20060519121113

End Time: 20060519121114

Status: A

---------------------------------------------------------------------------

EID: 9 Location:

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID

-- --- ------------------ ---- --- ------------ ------------ --------------

R D 20060519121107 R S0000001.LOG S0000003.LOG 20060518135208

---------------------------------------------------------------------------

Contains 4 tablespace(s):

00001 USERSPACE3

00002 USERSPACE2

00003 USERSPACE1

00004 SYSCATSPACE

---------------------------------------------------------------------------

Comment: REBUILD TEST WITH RF

Start Time: 20060519121107

End Time: 20060519121115

Status: A

---------------------------------------------------------------------------

EID: 10 Location:

如上,LIST HISTORY 命令產生了 4 條輸出條目 (EID 7 – EID 10),它們都和我們數據庫的恢復有關。第一個條目,EID 7,包含了在 20060517135208 時間點做的備份影像,該備份影像中我們只對 USERSPACE3 做了備份。然而,回顧我們進行數據庫恢復時發出的命令,參照清單 4。

清單4:使用 ALL TABLESPACES 參數恢復數據庫

db2 restore db test rebuild with all tablespaces in database taken at 20060517135208

我們使用了 ALL TABLESPACES 參數要求恢復所有的表空間,所以 DB2 會利用 LIST HISTORY 中所看到的其它備份影像來恢復數據庫其它的表空間 ( 注意,在使用 TEST.3.DB2.NODE0000.CATN0000.20060516135136.001 備份影像進行恢復時 EID=9,雖然該影像包括 USERSPACE2 和 USERSPACE3 的備份,但 DB2 只恢復了 USERSPACE2,因為 USERSPACE3 已經通過更新的備份影像 TEST.3.DB2.NODE0000.CATN0000.20060517135208.001 完成恢復了 )。在完成上述恢復后,表空間將處于 ROLL-FORWARD 狀態。通過 LIST HISTORY 命令,我們可以看到表空間都被置成了 WITH RF 標志,表明這些表空間處于 ROLL-FORWARD 狀態。另外,為了使該恢復順利完成,所有備份影像都需要放在 HISTORY FILE 所表明的備份路徑下,否則 DB2 將會給出一個無法找到備份影像的錯誤提示。

第二步,通過 ROLLFORWARD DATABASE 命令及 TO END OF LOGS 選項來前滾數據庫 TEST,使其恢復到最近的一個同步時間點 (Point in Time)。

清單5 :前滾數據庫到最近的一個同步時間點

db2 rollforward db test to end of logs

當所有表空間恢復完畢,它們將處于 rollforward pending 的狀態,我們需要通過數據庫日志和 rollforward 命令來對數據庫進行前滾操作,從而將數據庫置為正常 (Normal) 狀態。

為了順利完成前滾操作,從上述備份影像最早一個時間點到最近一個時間點之間的數據庫日志必須存在,以用于將上述通過不同時間點備份影像進行恢復的表空間前滾到同一時間點上。本例中,從 20060515135047 到 20060517135208 時間點的日志必須存在,我們才可以將表空間同步到同一個時間點。如果我們還想繼續前滾數據庫,則我們還需要從 20060517135208 時間點往后的日志文件。

在本例中,我們假設這些日志文件都能夠在 LOGPATH 數據庫配置參數所指定的目錄中找到,如果它們被移動了位置,則我們還需要在 ROLLFORWARD 命令中通過 OVERFLOW LOG PATH 選項來指定這些日志文件的新位置。

第三步,通過執行 ROLLFORWARD DATABASE 命令來結束數據庫前滾的狀態。

清單6:結束數據庫前滾的命令

db2 rollforward db test stop

該命令執行完畢后,TEST 數據庫就恢復到 NORMAL 狀態,這樣您就可以正常使用它了。

場景2:通過表空間備份快速重建數據庫,恢復重要數據

通過上面的例子,我們知道 DB2 V9 現在支持通過不同時間做的不同表空間的備份來重建和恢復整個數據庫,這個強大的新特性無疑給我們考慮備份 / 恢復策略時帶來了很多新的啟發。

下面我們將進一步對這個特性進行探討。讓再我們回到上一個例子,我們假設 TEST 數據庫是一個重要的記錄在線交易的數據庫,其中,USERSPACE1 和 USERSPACE2 表空間存放了在線交易所需要的全部重要數據,而 USERSPACE3 表空間存放的則是部分歷史數據,主要用于歷史查詢,數據量較大,而其重要性相對較低。

恢復表空間 USERSPACE1 和 USERSPACE2 的數據

一旦我們的數據庫系統發生故障,如果我們需要恢復全部 3 個表空間,則由于 USERSPACE3 數據量較大,導致恢復速度緩慢。我們所希望的是,首先能夠快速恢復 USERSPACE1 和 USERSPACE2 表空間的數據,快速恢復在線交易;然后我們再在合適的時機,恢復 USERSPACE3 表空間的歷史數據。下面,讓我們看看如何實現我們的想法。

第一步,通過發出 RESTORE DATABASE 命令和 REBUILD 選項,告訴 DB2 首先恢復 USERSPACE1 和 USERSPACE2 表空間。

清單7 :恢復表空間 USERSPACE1 和 USERSPACE2 方法一

db2 restore db test rebuild with tablespace (SYSCATSPACE,USERSPACE1,USERSPACE2)

taken at 20060516135136

盡管我們希望只恢復 USERSPACE1 和 USERSPACE2 表空間,但 SYSCATSPACE 系統表空間是必須的,否則 DB2 無法正常工作。上述命令中指定的“目標影像”TEST.3.DB2.NODE0000.CATN0000.20060516135136.001 包含了 USERSPACE2 和 USERSPACE3 表空間的備份。這是我們所有備份影像中最近的包含 USERSPACE2 和 USERSPACE3 表空間備份的影像。需要注意的是,盡管 20060517135208 才是時間最近的一個備份影像,但它不包括 USERSPACE1, USERSPACE2, 或 SYSCATSPACE 表空間備份,因此我們不會用它來進行恢復。

以下的命令可以達到同樣的效果。

清單8: 恢復表空間 USERSPACE1 和 USERSPACE2方法二

第二步,執行 ROLLFORWARD DATABASE 命令和 TO END OF LOGS 選項來前滾數據庫到最近的一個同步時間點。

清單9:前滾數據庫

db2 rollforward db test to end of logs

第三步,發出 ROLLFORWARD DATABASE 命令和 STOP 選項來停止前滾 。

清單10:停止數據庫前滾

db2 rollforward db test stop

當然,你也可以選擇將數據庫前滾到某個時間點,而不是日志的末尾,但該時間點必須是你備份影像時間點之后的某個時間點。上述命令執行完畢后,數據庫就可以正常使用,而且 USERSPACE1 和 USERSPACE2 也可以正常訪問了。USERSPACE3 仍然處于 RESTORE PENDING 狀態,你可以選擇遲一點的某個時間來恢復它。

恢復表空間 USERSPACE3的數據

第一步,執行 RESTORE DATABASE 命令來恢復表空間 USERSPACE3 的數據。

清單11 :恢復表空間USERSPACE3

db2 restore db test tablespace (USERSPACE3) taken at 20060517135208

第二部,執行 ROLLFORWARD DATABASE 和 TO END OF LOGS 選項來前滾 USERSPACE3 表空間。

清單12 :前滾表空間 USERSPACE3

db2 rollforward db test to end of logs tablespace (USERSPACE3)

第三步, 發出 ROLLFORWARD DATABASE 命令和 STOP 選項結束 USERSPACE3 的前滾。

清單13:結束表空間 USERSPACE3 的前滾

db2 rollforward db test stop

現在,TEST 數據庫的所有 4 個表空間都可以正常使用了。

通過上面的兩個例子,我們學習了如何通過部分或全部表空間級的備份來重建和恢復整個數據庫,或根據數據的重要性和優先級來分步重建和恢復數據庫。

這個特性可以有效的減小我們數據備份的時間,我們可以按照不同頻率來有選擇的備份不同重要性的表空間,而不是整個數據庫。這個特性同樣可以縮短我們進行系統恢復的時間,我們可以根據數據的重要性,分步來恢復數據庫,而不需要一次恢復整個數據庫。最后,值得提醒的是,為了使用這個很好的特性,數據庫的日志和 SYSCATSPACE 系統表空間的備份仍然是至關重要不可缺少的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影免费观看高清| 欧美成人合集magnet| 亚洲激情第一页| 色综合天天综合网国产成人网| 欧美亚洲另类激情另类| 欧美激情网站在线观看| 亚洲精品av在线| 国产精品露脸av在线| 国产精品1区2区在线观看| 亚洲精品一区二三区不卡| 国产精品直播网红| 欧美一区二区视频97| 欧美一级大片在线观看| 欧美久久久精品| 精品久久久久久中文字幕大豆网| 欧美激情按摩在线| 欧美体内谢she精2性欧美| 国产欧亚日韩视频| 97在线观看免费| 亚洲国产成人爱av在线播放| 亚洲人成在线免费观看| 亚洲天堂一区二区三区| 亚洲色图17p| 国产精品亚洲综合天堂夜夜| 中文字幕在线日韩| 国产精品偷伦视频免费观看国产| 亚洲变态欧美另类捆绑| 国产区精品视频| 国产日韩欧美综合| 九九热在线精品视频| 欧美日韩国产成人| 毛片精品免费在线观看| 日产精品99久久久久久| 亚洲天堂第二页| 国内成人精品视频| 精品magnet| 亚洲国产一区二区三区四区| 亚洲va男人天堂| 欧美成年人视频网站欧美| 日韩成人在线视频| 亚洲欧美日韩综合| 在线观看免费高清视频97| 国产一区二区香蕉| 欧美成人中文字幕在线| 成人在线视频福利| 欧美成人精品激情在线观看| 91精品久久久久久综合乱菊| 精品国产自在精品国产浪潮| 国产日韩在线一区| 亚洲精品日韩av| 按摩亚洲人久久| 久久久久久91香蕉国产| 97视频在线观看亚洲| 亚洲国产天堂久久综合网| 亚洲人成电影网站色xx| 国产在线精品成人一区二区三区| 精品视频—区二区三区免费| 亚洲天堂av电影| 91嫩草在线视频| 伊人伊成久久人综合网站| 精品国产一区二区三区在线观看| 亚洲精品日产aⅴ| 成人h视频在线观看播放| 国产精品美乳一区二区免费| 国产日韩中文字幕在线| 91色精品视频在线| 亚洲免费一级电影| 国内免费久久久久久久久久久| 国产福利视频一区二区| 亚洲黄色有码视频| 在线日韩第一页| 日韩成人在线观看| 日韩暖暖在线视频| 亚洲久久久久久久久久久| 亚洲国产私拍精品国模在线观看| 2025国产精品视频| 欧美视频在线看| 精品国产区一区二区三区在线观看| 成人写真视频福利网| 亚洲精选在线观看| 国产精品女人久久久久久| 久久影视电视剧免费网站| 国产成人精品在线播放| 亚洲欧美激情视频| 久久人人爽人人爽爽久久| 日韩av在线影院| 欧美中文字幕视频在线观看| 日韩在线视频导航| 精品国产乱码久久久久久婷婷| 欧美激情乱人伦一区| 国产z一区二区三区| 91久久精品久久国产性色也91| 久久久日本电影| 亚洲另类欧美自拍| 久久综合久久美利坚合众国| 亚洲区bt下载| 亚洲精品电影在线观看| 欧美肥老妇视频| 亚洲**2019国产| 日韩av免费在线看| 国产91露脸中文字幕在线| 日韩欧美国产中文字幕| 亚洲的天堂在线中文字幕| 久久91精品国产91久久跳| 久久视频精品在线| 国产精品视频一区国模私拍| 久久免费视频这里只有精品| 久久精品91久久久久久再现| 国产精品jvid在线观看蜜臀| 国产午夜精品理论片a级探花| 永久免费精品影视网站| 日韩精品黄色网| 精品高清一区二区三区| 欧美激情xxxxx| 久久人人爽人人爽人人片亚洲| 中文字幕视频一区二区在线有码| 91探花福利精品国产自产在线| 日韩欧美国产视频| 一个人看的www久久| 午夜精品美女自拍福到在线| 国产精品爱久久久久久久| 欧美在线视频一区| 亚洲香蕉av在线一区二区三区| 国产欧美日韩亚洲精品| 川上优av一区二区线观看| 亚洲伊人成综合成人网| 91欧美精品成人综合在线观看| 欧美一区二粉嫩精品国产一线天| 亚洲国产一区二区三区在线观看| 日本高清+成人网在线观看| 成人www视频在线观看| 在线视频一区二区| 日韩中文字幕网| 欧美亚洲午夜视频在线观看| 亚洲欧美国产制服动漫| 98精品国产高清在线xxxx天堂| 精品偷拍各种wc美女嘘嘘| 国产精品久久久久久久久男| 亚洲视频精品在线| 一区二区三区 在线观看视| 久久精品国产精品亚洲| 中文字幕亚洲专区| 爽爽爽爽爽爽爽成人免费观看| 91国内揄拍国内精品对白| 欧美极品少妇xxxxⅹ喷水| 91精品久久久久久久久久久久久| 久久久久久亚洲精品中文字幕| 97热精品视频官网| 日本一本a高清免费不卡| 亚洲欧美成人一区二区在线电影| 情事1991在线| 国产精品夫妻激情| 97视频人免费观看| 欧美一区二区三区四区在线| 成人欧美一区二区三区黑人| 亚洲第一区第一页| 97香蕉久久夜色精品国产| 亚洲人成电影网站色xx| 久久久久久国产免费| 欧美一级黑人aaaaaaa做受| 色阁综合伊人av| 日韩电影在线观看中文字幕| 国产精品视频在线播放| 国产视频精品一区二区三区|