當前位置:首頁 » 操作系統 » db2資料庫的備份與恢復

db2資料庫的備份與恢復

發布時間: 2023-12-20 00:17:45

㈠ 從Linux備份DB2資料庫到AIX上怎麼恢復

DB2資料庫離線和在線全備、增量備份及恢復的具體操作步驟:

1、離線全備份

(1)、首先確保沒有用戶使用DB2:

$db2 list applications for db sample

(2)、停掉資料庫並重新啟動,以便斷掉所有連接:

db2stop force

db2start

(3)、執行備份命令:(使用TSM作為備份的介質)

db2 backup db sample use tsm

備份成功,將會返回一個時間戳。

(4)、檢查備份成功:

Db2 list history backup all for sample ,可以看到多了這個備份的紀錄。

Db2atl query命令也可以看到返回值。

(5)、備註:

首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。

2、 在線備份:

(1)、首先打開一下支持在線備份的資料庫配置參數:

db2 update db cfg for sample using userexit on 啟用用戶出口

db2 update db cfg for sample using logretain on 啟用歸檔日誌

db2 update db cfg for sample using trackmod on 啟用增量備份功能

(需要各個Node都分別做設置)

開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。

(2)、在線備份命令如下:

db2 backup db sample online use tsm

備份成功,返回一個時間戳。

(3)、同樣可以用db2atl 和db2 list history察看備份紀錄。

(4)、備註:

同樣,對每個節點都做這個操作。

3、 在線增量備份

(1)、在開啟了必須的三個參數的情況下,做增量備份:

db2 backup db sample online incremental use tsm

備份成功,返回一個時間戳。

(2)、同樣可以用db2atl 和db2 list history察看備份紀錄。

(3)、還有一種delta的備份:

db2 backup db sample online

incremental delta use tsm

這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。

(4)、備註:同樣,對每個節點都做這個操作。

4、 恢復資料庫

(1)、手工drop資料庫,模擬災難恢復的情況,執行如下操作:

db2 drop db sample

(2)、恢復備份歷史紀錄(每次backup,不論類型,都會備份歷史紀錄文件)。這里的時間戳應該是最新的:

db2 restore db sample history file use tsm

taken at 20030102223107 buffer 100

(3)、使用db2的恢復幫助工具:

db2ckrst -d sample -t 20030101224424 -r database

命令返回建議的必需的恢復操作命令。

(4)、按照幫助工具的提示,先做版本恢復,恢復命令如下:

db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100

同樣先做主節點的恢復,再做其他節點的恢復操作。

(5)、這時資料庫處於rollforward-pending state的狀態,需要做roll forward 操作:

db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop

前滾到同一個時間點。這個操作要在主節點來做。

5、說明:

(1)、恢復操作也有online和offline的,區別等同backup的操作。

(2)、按照表空間的備份和恢復類似,加子句TABLESPACE ( tablespace-name 即可。表空間級別的備份/恢復操作要求資料庫處於歸檔日誌和啟用增量備份模式下。

(3)、恢復的例子中只做了版本恢復。若還有更新的全備份和增量備份的image,可以依次做恢復(請注意使用db2ckrst的建議恢復次序和次數)之後,最後做roll forward.

㈡ db2備份後,怎麼恢復

活動日誌是下面兩種概念的日誌:
1.
日誌里包含未提交的實務
2.
日誌中包含已提交但是數據變動並沒有被刷入磁碟,只是在bufferpool中存著。
簡單來說,活動日誌和歸檔日誌的根本差別就是歸檔日誌記錄的是實實在在已經數據變動已經生效了的事務,而活動日誌就是沒有完全確認的事務。這也是為什麼如果刪除活動日誌後資料庫會起不來的原因。因為資料庫不知道自己的狀態了。
另外,每一份活動日誌會在歸檔路徑下有一個備份,就是每一個活動日誌都是有兩份的,一份在活動日誌目錄,一份在歸檔路徑下。當日誌寫滿,或者手動歸檔,又或者發動備份的時候,資料庫會自動歸檔活動日誌,即是把資料庫活動日誌路徑下的日誌刪除,這樣,該日誌就只存在於資料庫的歸檔路徑目錄裡面,這也就是歸檔的過程。
所以,你備份恢復的時候,只需要把恢復後把源環境中的歸檔日誌出來就可以。裡面的日誌也包含了當前資料庫活動日誌中的內容。
回答了這么多,望採納!

㈢ 淺談IBMDB2的資料庫備份與恢復

摘要 本文探討了基於 IBM DB 的各種資料庫備份與恢復策略 並附有完整的實驗步驟 本文試圖通過具體的實驗使讀者領會各種資料庫備份方式的優劣和異同 並掌握 IBM DB 的資料庫備份與恢復技術

若無特殊說明 以下資料庫備份與恢復的試驗環境均為 Windows XP + IBM DB V 企業版 同樣的語句也在 AIX + IBM DB V 上驗證通過

叢宏舉一 資料庫備份的重要性

在信息日趨發達的時代 數據顯得尤其重要 如何保障數據的完整性和安全性呢?如何避免數據災難事故的發生呢?資料庫備份作為數據安全和完整最有利保障手段的重要性就不言而喻了

資料庫絕穗備份的重要性主要體現在

提高系統的高可用性和災難可恢復性 (在資料庫系統崩潰的時候 沒有資料庫備份怎麼辦!?)

使用資料庫備份還原資料庫是資料庫系統崩潰時提供數據恢復最小代價的最優方案 (總不能讓客戶重新填報數據吧!?)

沒有數據就沒有一切 資料庫備份就是一種防範災難於未然的強力手段 (沒有了數據 應用再花哨也是鏡中花水中月)

對於DBA來說 最首要也是最重要的任務就是資料庫備份

二 DB 資料庫備份的方式與分類

按照資料庫備份對資料庫的使用影響來劃分

A 聯機備份(也稱熱備份或在線備份)

B 離線備份(也稱冷備份或離線備份)

說明 聯機備份和離線備份最大的不同在於 聯機備份資料庫時 資料庫仍然可以供用戶使用 而離線備份資料庫則不行 離線備份資料庫時 必須斷開所有與資料庫有連接的應用後才能進行

按照資料庫的數據備份范圍來劃分

A 完全備份

B 增量備份

說明 完全備份資料庫是指備份資料庫中的所有數據 而增量備份只是備份資料庫中的部分數據 至於增量備份到底備份哪些數據 稍候會提到

增量備份的兩種實現方式

A 增量備份(也稱累計備份)

B delta備份

說明 這兩種備份方式的嚴格定義如下

增量備份是自最近成功的完全備份以來所有更改的數據的備份

delta 備份則是上一次成功的完全 增量或 delta 備份以後所做更改的數據的備份

這里請讀者們仔細的看上面兩個增量備份方式的定義 注意這兩種備滲碧份方式的細微差別 這里我們舉一個例子來說明

假設有一個資料庫 它每天都有部分數據在發生變化 我們星期一晚上對該資料庫做了一次完全備份 星期二晚上對該資料庫做了一次增量備份A(注 這里的增量備份是指累計備份 下同) 星期三晚上又做了一次增量備份B 星期四則做了一次delta 備份

那麼 我們可以得出以下結論

星期一的資料庫備份包含了所有的數據

星期二沒有變動過的數據沒有發生備份 在星期二變動過的數據會備份 並且備份到增量備份A中

星期三的備份中含有自星期一完全備份以來發生過變動的所有數據 包含了星期二和星期三發生過變動的數據 顯然 增量備份A 被 增量備份 B 包含

星期四做的是delta備份 注意 它會也只會備份自星期三備份之後變動過的數據

三 DB 備份文件的結構介紹

在不同的操作系統下 DB 的備份文件的結構是不同的 這里概要地介紹一下

Windows 操作系統下的資料庫備份文件結構

說明 Windows 操作系統下的資料庫備份文件是嵌套在一系列文件夾之下的特殊結構 上例中 D:DB _Train 是指備份目錄 TESTDB 是指資料庫名稱為 TESTDB DB 是指實例名稱 NODE 是指節點名稱 CATN 是指編目名稱 是指備份發生的年月日 形如YYYYMMDD 是指備份發生的時間 精確到秒 也就是指 點 分 秒 形如HHMMSS 最後的 則是備份文件的一個序列號

Unix 操作系統下的資料庫備份文件結構

說明 Unix 操作系統下的資料庫備份文件就是一個文件 上例中 HTDC 是指資料庫名稱 db inst 是指實例名稱 NODE 是指節點名稱 CATN 是指編目名稱 是指備份發生的具體時間 形如YYYYMMDDHHMMSS 同樣地 它的時間精確到秒 也就是指 年 月 日 點 分 秒發生備份 最後的 則是備份文件的一個序列號

四 DB 資料庫備份實驗(附完整命令腳本清單)

DB 資料庫實驗准備工作

( ) Step 創建測試資料庫 TestDB

腳本清單 CREATE DATABASE TestDB ON D: USING CODESET GBK TERRITORY CN WITH Pjj s Test DB ; }

( ) Step 創建資料庫管理表空間 Data_SP(注意路徑 如果沒有請創建)

腳本清單 CREATE REGULAR TABLESPACE Data_SP PAGESIZE K MANAGED BY DATABASE USING ( FILE D:DB ) BUFFERPOOL IBMDEFAULTBP;

說明 上面的腳本創建了一個名為 Data_SP 的資料庫管理表空間 該表空間使用的緩沖池為 IBMDEFAULTBP 存儲路徑為 D:DB ContainerTestDBUserData 存儲文件名為 UserData 大小為 * K = M 頁大小為 K

( ) Step 創建測試表 TestTable 並插入測試數據

腳本清單

CREATE TABLE TestTable ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE ) Message VARCHAR( ) PRIMARY KEY(ID) )IN Data_SP;

插入測試數據 INSERT INTO TestTable(Message) VALUES( 測試表建立成功 );

說明 建立測試表並插入數據是為了稍候驗證資料庫恢復的時候用的

( ) Step 創建測試表 TestTable 並插入測試數據

腳本清單 CREATE TABLE TestTable ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE ) Message VARCHAR( ) PRIMARY KEY(ID) )IN Data_SP;

插入測試數據 INSERT INTO TestTable(Message) VALUES( 測試表建立成功 );

DB 資料庫離線備份與恢復實驗

腳本清單

Step 完全備份資料庫(離線 備份時間戳記為 )

db backup db TestDB to D:DB _Train

Step 模擬災難 強制刪除資料庫

db drop db TestDB

Step 根據該資料庫完全備份還原資料庫

db restore db TestDB from D:DB _Train taken at

DB 資料庫增量備份與恢復實驗

腳本清單

資料庫增量備份以及還原實驗

修改資料庫參數 TrackMod 使之支持資料庫進行增量備份

db update db cfg using TrackMod YES

更改參數後必須完全離線備份資料庫(離線 備份時間戳記為 )

db backup db TestDB to D:DB _Train

插入測試數據

INSERT INTO TestTable(Message) VALUES( 開始增量資料庫備份測試 );

開始增量備份(離線 備份時間戳記為 )

db backup db TestDB incremental to D:DB _Train

刪除資料庫 模擬數據災難

db drop db TestDB

首先還原至完全離線備份狀態

db restore db TestDB from D:DB _Train taken at

還原至增量離線備份狀態

db restore db TestDB incremental automatic from D:DB _Train taken at

注意 上述語句中 有一個 automatic 它表示無論有多少個增量備份 系統將全自動檢索恢復資料庫的順序並自動恢復資料庫 如果沒有 automatic 則需要多次手動恢復資料庫 很麻煩而且容易出錯

Step 根據該資料庫完全備份還原資料庫

db restore db TestDB from D:DB _Train taken at

還原資料庫後查詢測試表數據檢驗數據是否恢復成功

DB 資料庫聯機機備份與恢復實驗

說明 聯機備份資料庫可以使資料庫在備份的同時仍然保持在可用狀態 要讓資料庫支持聯機備份 必須更改資料庫的日誌歸檔方式 在離線備份模式下 資料庫採用循環日誌方式記錄資料庫日誌 在聯機備份模式下 資料庫則採用歸檔日誌的方式備份資料庫日誌 另外 對於聯機備份的資料庫來說 活動日誌和歸檔日誌就很重要了 一定要經常備份 保存

腳本清單

資料庫聯機備份以及還原實驗

連接至資料庫並插入測試數據

db connect to TestDB

插入測試數據

INSERT INTO TestTable(Message) VALUES( 開始聯機資料庫備份測試 完全備份 );

修改資料庫參數 使之支持在線聯機備份

db update db cfg for TestDB using logretain on trackmod on

執行增量 在線備份之前必須執行離線全備份一次 否則資料庫將處於備份暫掛的不可用狀態

(聯機完全備份 時間戳記 )

db backup db TestDB

連接至資料庫並插入測試數據

db connect to TestDB

插入測試數據

INSERT INTO TestTable(Message) VALUES( 開始聯機資料庫備份測試 增量備份 );

執行聯機備份 備份同時再打開一個會話 模擬應用在線(聯機增量備份 時間戳記 )

db backup db TestDB online incremental to D:DB _Train

模擬災難 刪除資料庫!

重要 此前一定要將活動日誌文件備份至另一個路徑 保存好 本例中 活動日誌保存在 C:db admin 下

db drop db TestDB

根據在線完全備份恢復資料庫

db restore db TestDB from D:DB _Train taken at

根據在線增量備份恢復資料庫

db restore db TestDB incremental automatic from D:DB _Train taken at

恢復後的資料庫處於前滾暫掛的不可用狀態

db connect to TestDB

前滾資料庫 並指定歸檔日誌位置 重要!

db ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND PLETE OVERFLOW LOG PATH ( C:db admin )

五 綜述

對於資料庫管理人員或者維護人員來說 怎麼強調資料庫備份的重要性都不為過

希望本文能拋磚引玉 能讓大家對 IBM DB UDB 的資料庫備份與恢復有一些深入的認識 也希望大家能在本機上按照本文的腳本認真的做一次實驗 這樣 你的認識會更加深刻

lishixin/Article/program/Oracle/201311/18590

㈣ db2 v9備份 恢復到v11

一、備份(backup)資料庫:1、離線全備份:

1)、首先確保沒有用戶使用DB2:

db2 list applications for db sample


2)、停掉資料庫並重新啟動,以便斷掉所有連接:

db2stop force

db2start


3)、執行備份命令:(使用TSM作為備份的介質)

db2 backup db sample use tsm

備份成功,將會返回一個時間戳。


4)、檢查備份成功:

db2 list history backup all for sample 可以看到多了這個備份的紀錄。

db2atl query 命令也可以看到返回值。


5)、備註:

首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。


2、 在線備份:

1)、首先打開一下支持在線備份的資料庫配置參數:

db2 update db cfg for sample using userexit on 啟用用戶出口

db2 update db cfg for sample using logretain on 啟用歸檔日誌

db2 update db cfg for sample using trackmod on 啟用增量備份功能

(需要各個Node都分別做設置)


開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。

2)、在線備份命令如下:

db2 backup db sample online use tsm

備份成功,返回一個時間戳。


3)、同樣可以用db2atl 和db2 list history察看備份紀錄。

4)、備註:

同樣,對每個節點都做這個操作。


3、 在線增量備份

1)、在開啟了必須的三個參數的情況下,做增量備份:

db2 backup db sample online incremental use tsm

備份成功,返回一個時間戳。

2)、同樣可以用db2atl 和db2 list history察看備份紀錄。


3)、還有一種delta的備份:

db2 backup db sample online incremental delta use tsm

這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。


4)、備註:

同樣,對每個節點都做這個操作。


二、恢復(RESTORE)資料庫:

1、新建資料庫:

在一般管理工具, 創建資料庫(別名要和原來的資料庫別名一致)。


2、恢復資料庫:

1):斷開連接:將網路斷開,切斷所有的客戶連接,如果不行,先重啟。(如果有客戶端連接到DB2伺服器,恢復不行的,包括控制中心)

2):恢復離線備份。


3、恢復在線備份:

1)、恢復。恢復命令為:db2 restore database DBName from C:Temp taken at 20090622164642

2)、前滾。前滾命令為:db2 rollforward db DBName to end of logs(或者:控制中心->所有資料庫->dbname ->右鍵->前滾)


3)、停止前滾。停止前滾命令為:db2 rollforward db DBName stop(或者:控制中心->所有資料庫->dbname ->右鍵->停止前滾)

㈤ 如何在Linux下實現DB2資料庫備份和恢復

Linux環境下DB2資料庫的備份和恢復的實際應用代碼如下:
DB2資料庫備份腳本:
. /home/db2admin/sqllib/db2profile
db2 backup db datedb online to /dbbackup/date include logs
cd /dbbackup/datetoday=`date +」%Y%m%d」`
file1=」*$today*」
ftpfile=`ls $file1`
echo $ftpfile
lftp -c 「open ftp地址;user用戶名密碼@\$0;put $ftpfile」
find /dbbackup/date -ctime +15 -exec rm {} \;
恢復命令:
通過root命令登錄到伺服器上後切換到資料庫用戶名下用su – db2admin命令。
進入到備份文件存放目錄
執行如下命令
[db2admin@localhost db2back]$ db2 restore db datedb from /hom

熱點內容
微信視頻如何重新緩存 發布:2025-01-21 04:44:41 瀏覽:879
pdf壓縮文件大小 發布:2025-01-21 04:40:24 瀏覽:798
linux解壓文件到指定 發布:2025-01-21 04:38:36 瀏覽:874
自己做的安卓app怎麼下載 發布:2025-01-21 04:35:07 瀏覽:163
機頂盒加密頻道 發布:2025-01-21 04:26:48 瀏覽:318
騰訊應用加密 發布:2025-01-21 04:24:38 瀏覽:988
無法訪問f 發布:2025-01-21 04:24:36 瀏覽:539
sql實時 發布:2025-01-21 04:24:27 瀏覽:998
怎麼在linux伺服器上配ip地址 發布:2025-01-21 04:22:10 瀏覽:251
咖搭姆編程 發布:2025-01-21 04:19:45 瀏覽:674