久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

利用表空間的備份快速恢復(fù)IBM DB2數(shù)據(jù)庫(kù)

瀏覽:20日期:2023-11-09 15:54:34
在 DB2 V9 版本中,提供了一個(gè)重要的新特性,即利用DB2表空間的備份來(lái)快速恢復(fù)數(shù)據(jù)庫(kù),甚至可以根據(jù)數(shù)據(jù)的重要性選擇恢復(fù)一部分重要數(shù)據(jù),達(dá)到快速恢復(fù)的目的。本文結(jié)合實(shí)例對(duì) DB2 V9 的該重要技術(shù)特性做了詳細(xì)介紹,希望對(duì)用戶規(guī)劃系統(tǒng)備份 / 恢復(fù)策略有所幫助。

關(guān)于DB2數(shù)據(jù)庫(kù)的恢復(fù)(Rebuild)

當(dāng)我們的 DB2 數(shù)據(jù)庫(kù)由于一些嚴(yán)重錯(cuò)誤 ( 如存儲(chǔ)損壞等 ) 而導(dǎo)致數(shù)據(jù)庫(kù)庫(kù)損壞時(shí),我們通常需要在修復(fù)相關(guān)錯(cuò)誤后,通過(guò) Restore 命令來(lái)進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù) (DB2 目前也支持通過(guò) HADR 等多機(jī)容錯(cuò)機(jī)制實(shí)現(xiàn)系統(tǒng)高可用,本文僅對(duì)單機(jī)數(shù)據(jù)庫(kù)損壞,需要進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)的情況進(jìn)行探討 )。一般的做法是通過(guò)以前的數(shù)據(jù)庫(kù)全備份來(lái)進(jìn)行整庫(kù)恢復(fù),然后通過(guò)日志對(duì)數(shù)據(jù)庫(kù)進(jìn)行前滾 (RollForward),從而使數(shù)據(jù)庫(kù)恢復(fù)到接近災(zāi)難點(diǎn)的時(shí)間。但當(dāng)我們數(shù)據(jù)庫(kù)的數(shù)據(jù)量較大時(shí),數(shù)據(jù)庫(kù)的全備份和整庫(kù)恢復(fù)都會(huì)很是非常消耗時(shí)間的。

在 DB2 V9 版本中,提供了一個(gè)重要的新特性,即利用 DB2 表空間的備份來(lái)快速恢復(fù)數(shù)據(jù)庫(kù),甚至可以根據(jù)數(shù)據(jù)的重要性選擇恢復(fù)一部分重要數(shù)據(jù),達(dá)到快速恢復(fù)的目的。本文結(jié)合實(shí)例對(duì) DB2 V9 的該重要技術(shù)特性做了詳細(xì)介紹,希望對(duì)用戶規(guī)劃系統(tǒng)備份 / 恢復(fù)策略有所幫助。

場(chǎng)景1:利用表空間備份來(lái)重建整個(gè) DB2 數(shù)據(jù)庫(kù)

在進(jìn)行數(shù)據(jù)庫(kù)重建時(shí),DB2 V9 現(xiàn)在能夠支持通過(guò)表空間一級(jí)的備份來(lái)重建整個(gè)數(shù)據(jù)庫(kù),而不需要整個(gè)數(shù)據(jù)庫(kù)的全備份。DB2 的此項(xiàng)能力使得我們對(duì)核心系統(tǒng)的重要數(shù)據(jù)進(jìn)行快速備份和恢復(fù)成為可能。讓我們首先看以下的一個(gè)例子:

假設(shè)我們有一個(gè)數(shù)據(jù)庫(kù) TEST,該數(shù)據(jù)庫(kù)采用歸檔日志。某天,系統(tǒng)突然掉電,導(dǎo)致數(shù)據(jù)庫(kù)存放的磁盤(pán)損壞了。這時(shí),數(shù)據(jù)庫(kù)將處于不可用的狀態(tài),作為 DBA,我們需要迅速對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。假如該數(shù)據(jù)庫(kù)有以下的表空間:

◆SYSCATSPACE ( 系統(tǒng)表空間 )

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

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

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

你手頭可用于進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)的數(shù)據(jù)包括 :

所有數(shù)據(jù)庫(kù)日志文件由于日志被存放在另外的磁盤(pán)上 ( 而且很多時(shí),我們還會(huì)對(duì)日志進(jìn)行鏡像,因?yàn)樗鼈儗?shí)在太重要了 ),因此它們沒(méi)有損壞。

你沒(méi)有數(shù)據(jù)庫(kù)的全備份,但是你有以下的表空間備份:

◆TEST.3.DB2.NODE0000.CATN0000.20060515135047.001 - SYSCATSPACE 和 USERSPACE 1 表空間在 2006051513504 7 時(shí)間點(diǎn)的備份;

◆TEST.3.DB2.NODE0000.CATN0000.20060516135136.001 - USERSPACE 2 和 USERSPACE 3 表空間在 2006051613513 6 時(shí)間點(diǎn)的備份;

◆TEST.3.DB2.NODE0000.CATN0000.20060517135208.001 - USERSPACE 3 表空間在 2006051713520 8 時(shí)間點(diǎn)的備份。

對(duì)于傳統(tǒng)的 Restore 和 Rollforward 的 DB2 恢復(fù)策略,我們需要一個(gè)數(shù)據(jù)庫(kù)的全備份影像來(lái)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)然后利用日志來(lái)進(jìn)行數(shù)據(jù)庫(kù)的前滾 (Rollforward) 操作,但不幸的是,在本例中,我們并沒(méi)有數(shù)據(jù)庫(kù)的全備份,而只有不同時(shí)間做的表空間備份。

錯(cuò)誤的數(shù)據(jù)庫(kù)恢復(fù)方法

如果我們?cè)噲D直接用表空間備份來(lái)恢復(fù)整個(gè)數(shù)據(jù)庫(kù),我們會(huì)得到以下的錯(cuò)誤提示:

清單1 :直接用表空間備份來(lái)恢復(fù)整個(gè)數(shù)據(jù)庫(kù)的錯(cuò)誤提示

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.

上述命令支持完整數(shù)據(jù)庫(kù)備份的數(shù)據(jù)庫(kù)恢復(fù),不支持表空間級(jí)別的數(shù)據(jù)庫(kù)恢復(fù)。

利用表空間備份恢復(fù)數(shù)據(jù)庫(kù)

在 DB2 V9 中,提供了一個(gè)新的功能,就是通過(guò)表空間備份和日志來(lái)快速重建整個(gè) DB2 數(shù)據(jù)庫(kù),這個(gè)功能是通過(guò)在 RESTORE DATABASE 命令中加入 REBUILD 選項(xiàng)來(lái)實(shí)現(xiàn)的。

以下的步驟幫助我們通過(guò) REBUILD 選項(xiàng)來(lái)利用表空間備份恢復(fù) TEST 數(shù)據(jù)庫(kù):

第一步,我們利用表空間備份執(zhí)行帶 REBUILD 選項(xiàng)的 RESTORE DATABASE 命令恢復(fù)數(shù)據(jù)庫(kù)。

清單2:通過(guò) REBUILD 選項(xiàng)來(lái)利用表空間備份恢復(fù) TEST 數(shù)據(jù)庫(kù)

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

這一步我們是從已有的幾個(gè)表空間備份影像中選取一個(gè)備份來(lái)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。一般,我們會(huì)選取最近備份的表空間影像,這個(gè)備份影像我們稱之為“目標(biāo)影像”(Target Image),因?yàn)樗宋覀冇糜诨謴?fù) TEST 數(shù)據(jù)庫(kù)所需的最新的表空間備份、數(shù)據(jù)庫(kù)配置參數(shù)、日志序列等重要信息。實(shí)際上,這個(gè)“目標(biāo)影像”可以是任何一種備份 ( 全備份、表空間備份、增量備份、在線或離線的備份 )。在本例中,最近的一個(gè)備份影像是 TEST.3.DB2.NODE0000.CATN0000.20060517135208.001,因此我們就選取它作為我們進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)的“目標(biāo)影像”。

當(dāng)我們執(zhí)行完上述 RESTORE 命令之后,TEST 數(shù)據(jù)庫(kù)的結(jié)構(gòu)將被重建和恢復(fù)。我們可以得到數(shù)據(jù)庫(kù)的參數(shù)和其備份歷史之類的信息。如果我們發(fā)出 LIST HISTORY 命令 ( 如:LIST HISTORY ALL FOR TEST),我們將得到以下的輸出(參照清單 3) 。

清單3 :使用 LIST HISTORY查詢數(shù)據(jù)庫(kù)備份歷史信息

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 命令產(chǎn)生了 4 條輸出條目 (EID 7 – EID 10),它們都和我們數(shù)據(jù)庫(kù)的恢復(fù)有關(guān)。第一個(gè)條目,EID 7,包含了在 20060517135208 時(shí)間點(diǎn)做的備份影像,該備份影像中我們只對(duì) USERSPACE3 做了備份。然而,回顧我們進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)時(shí)發(fā)出的命令,參照清單 4。

清單4:使用 ALL TABLESPACES 參數(shù)恢復(fù)數(shù)據(jù)庫(kù)

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

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

第二步,通過(guò) ROLLFORWARD DATABASE 命令及 TO END OF LOGS 選項(xiàng)來(lái)前滾數(shù)據(jù)庫(kù) TEST,使其恢復(fù)到最近的一個(gè)同步時(shí)間點(diǎn) (Point in Time)。

清單5 :前滾數(shù)據(jù)庫(kù)到最近的一個(gè)同步時(shí)間點(diǎn)

db2 rollforward db test to end of logs

當(dāng)所有表空間恢復(fù)完畢,它們將處于 rollforward pending 的狀態(tài),我們需要通過(guò)數(shù)據(jù)庫(kù)日志和 rollforward 命令來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行前滾操作,從而將數(shù)據(jù)庫(kù)置為正常 (Normal) 狀態(tài)。

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

在本例中,我們假設(shè)這些日志文件都能夠在 LOGPATH 數(shù)據(jù)庫(kù)配置參數(shù)所指定的目錄中找到,如果它們被移動(dòng)了位置,則我們還需要在 ROLLFORWARD 命令中通過(guò) OVERFLOW LOG PATH 選項(xiàng)來(lái)指定這些日志文件的新位置。

第三步,通過(guò)執(zhí)行 ROLLFORWARD DATABASE 命令來(lái)結(jié)束數(shù)據(jù)庫(kù)前滾的狀態(tài)。

清單6:結(jié)束數(shù)據(jù)庫(kù)前滾的命令

db2 rollforward db test stop

該命令執(zhí)行完畢后,TEST 數(shù)據(jù)庫(kù)就恢復(fù)到 NORMAL 狀態(tài),這樣您就可以正常使用它了。

場(chǎng)景2:通過(guò)表空間備份快速重建數(shù)據(jù)庫(kù),恢復(fù)重要數(shù)據(jù)

通過(guò)上面的例子,我們知道 DB2 V9 現(xiàn)在支持通過(guò)不同時(shí)間做的不同表空間的備份來(lái)重建和恢復(fù)整個(gè)數(shù)據(jù)庫(kù),這個(gè)強(qiáng)大的新特性無(wú)疑給我們考慮備份 / 恢復(fù)策略時(shí)帶來(lái)了很多新的啟發(fā)。

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

恢復(fù)表空間 USERSPACE1 和 USERSPACE2 的數(shù)據(jù)

一旦我們的數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生故障,如果我們需要恢復(fù)全部 3 個(gè)表空間,則由于 USERSPACE3 數(shù)據(jù)量較大,導(dǎo)致恢復(fù)速度緩慢。我們所希望的是,首先能夠快速恢復(fù) USERSPACE1 和 USERSPACE2 表空間的數(shù)據(jù),快速恢復(fù)在線交易;然后我們?cè)僭诤线m的時(shí)機(jī),恢復(fù) USERSPACE3 表空間的歷史數(shù)據(jù)。下面,讓我們看看如何實(shí)現(xiàn)我們的想法。

第一步,通過(guò)發(fā)出 RESTORE DATABASE 命令和 REBUILD 選項(xiàng),告訴 DB2 首先恢復(fù) USERSPACE1 和 USERSPACE2 表空間。

清單7 :恢復(fù)表空間 USERSPACE1 和 USERSPACE2 方法一

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

taken at 20060516135136

盡管我們希望只恢復(fù) USERSPACE1 和 USERSPACE2 表空間,但 SYSCATSPACE 系統(tǒng)表空間是必須的,否則 DB2 無(wú)法正常工作。上述命令中指定的“目標(biāo)影像”TEST.3.DB2.NODE0000.CATN0000.20060516135136.001 包含了 USERSPACE2 和 USERSPACE3 表空間的備份。這是我們所有備份影像中最近的包含 USERSPACE2 和 USERSPACE3 表空間備份的影像。需要注意的是,盡管 20060517135208 才是時(shí)間最近的一個(gè)備份影像,但它不包括 USERSPACE1, USERSPACE2, 或 SYSCATSPACE 表空間備份,因此我們不會(huì)用它來(lái)進(jìn)行恢復(fù)。

以下的命令可以達(dá)到同樣的效果。

清單8: 恢復(fù)表空間 USERSPACE1 和 USERSPACE2方法二

第二步,執(zhí)行 ROLLFORWARD DATABASE 命令和 TO END OF LOGS 選項(xiàng)來(lái)前滾數(shù)據(jù)庫(kù)到最近的一個(gè)同步時(shí)間點(diǎn)。

清單9:前滾數(shù)據(jù)庫(kù)

db2 rollforward db test to end of logs

第三步,發(fā)出 ROLLFORWARD DATABASE 命令和 STOP 選項(xiàng)來(lái)停止前滾 。

清單10:停止數(shù)據(jù)庫(kù)前滾

db2 rollforward db test stop

當(dāng)然,你也可以選擇將數(shù)據(jù)庫(kù)前滾到某個(gè)時(shí)間點(diǎn),而不是日志的末尾,但該時(shí)間點(diǎn)必須是你備份影像時(shí)間點(diǎn)之后的某個(gè)時(shí)間點(diǎn)。上述命令執(zhí)行完畢后,數(shù)據(jù)庫(kù)就可以正常使用,而且 USERSPACE1 和 USERSPACE2 也可以正常訪問(wèn)了。USERSPACE3 仍然處于 RESTORE PENDING 狀態(tài),你可以選擇遲一點(diǎn)的某個(gè)時(shí)間來(lái)恢復(fù)它。

恢復(fù)表空間 USERSPACE3的數(shù)據(jù)

第一步,執(zhí)行 RESTORE DATABASE 命令來(lái)恢復(fù)表空間 USERSPACE3 的數(shù)據(jù)。

清單11 :恢復(fù)表空間USERSPACE3

db2 restore db test tablespace (USERSPACE3) taken at 20060517135208

第二部,執(zhí)行 ROLLFORWARD DATABASE 和 TO END OF LOGS 選項(xiàng)來(lái)前滾 USERSPACE3 表空間。

清單12 :前滾表空間 USERSPACE3

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

第三步, 發(fā)出 ROLLFORWARD DATABASE 命令和 STOP 選項(xiàng)結(jié)束 USERSPACE3 的前滾。

清單13:結(jié)束表空間 USERSPACE3 的前滾

db2 rollforward db test stop

現(xiàn)在,TEST 數(shù)據(jù)庫(kù)的所有 4 個(gè)表空間都可以正常使用了。

通過(guò)上面的兩個(gè)例子,我們學(xué)習(xí)了如何通過(guò)部分或全部表空間級(jí)的備份來(lái)重建和恢復(fù)整個(gè)數(shù)據(jù)庫(kù),或根據(jù)數(shù)據(jù)的重要性和優(yōu)先級(jí)來(lái)分步重建和恢復(fù)數(shù)據(jù)庫(kù)。

這個(gè)特性可以有效的減小我們數(shù)據(jù)備份的時(shí)間,我們可以按照不同頻率來(lái)有選擇的備份不同重要性的表空間,而不是整個(gè)數(shù)據(jù)庫(kù)。這個(gè)特性同樣可以縮短我們進(jìn)行系統(tǒng)恢復(fù)的時(shí)間,我們可以根據(jù)數(shù)據(jù)的重要性,分步來(lái)恢復(fù)數(shù)據(jù)庫(kù),而不需要一次恢復(fù)整個(gè)數(shù)據(jù)庫(kù)。最后,值得提醒的是,為了使用這個(gè)很好的特性,數(shù)據(jù)庫(kù)的日志和 SYSCATSPACE 系統(tǒng)表空間的備份仍然是至關(guān)重要不可缺少的。

標(biāo)簽: DB2 數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 在线日韩视频 | 伊人爽 | 国产精品免费观看 | 一区二区三区回区在观看免费视频 | 久久99精品久久久 | 亚洲精品在线播放 | 国产精品久久久一区二区 | 蜜桃视频网站在线观看 | 精品欧美一区二区在线观看 | 婷婷毛片| 欧美日韩国产一区二区三区不卡 | 亚洲精品99 | 91免费国产 | 成人a在线视频 | 久久99精品久久久久久久青青日本 | 国产一区国产二区在线观看 | 国产偷录视频叫床高潮对白 | 亚洲人成网站999久久久综合 | 国内在线精品 | 精品国产乱码一区二区三区a | 国产欧美一区二区精品性色 | 欧美在线一区二区 | 欧美国产在线观看 | 国产中文字幕一区 | 成人免费在线观看 | 亚洲www永久成人夜色 | 成人在线播放网站 | 精品一区二区三区四区 | 国产精品久久久久久婷婷天堂 | 成人三级免费 | 成人狠狠干 | 国产成人精品免高潮在线观看 | 亚洲一区二区在线播放 | 精品久久久久一区二区国产 | 91.com在线观看| 日韩av手机在线免费观看 | 天天干国产 | 国内精品视频一区二区三区八戒 | 亚洲国产精品99久久久久久久久 | 九九精品在线 | 中国一级毛片 |