新聞中心
如何安全高效備份db2數(shù)據(jù)庫

隨著企業(yè)數(shù)字化進程的加速,企業(yè)數(shù)據(jù)增長速度快,數(shù)據(jù)安全也變得越來越重要。DB2數(shù)據(jù)庫是企業(yè)常用的關系型數(shù)據(jù)庫之一,數(shù)據(jù)備份是數(shù)據(jù)安全的重要手段。本文介紹如何安全高效備份DB2數(shù)據(jù)庫。
一、備份類型
DB2數(shù)據(jù)庫有兩種備份類型:完整備份和增量備份。
完整備份指備份整個數(shù)據(jù)庫,包括所有數(shù)據(jù)庫對象和數(shù)據(jù)。完整備份較耗費時間和資源,適合為剛剛建立的數(shù)據(jù)庫進行備份,或將整個數(shù)據(jù)庫移植到新的系統(tǒng)上。
增量備份指備份某一個時刻到上一次備份之間的更新操作。增量備份比完整備份省時間和空間,適合經常更新的數(shù)據(jù)庫。
為保證數(shù)據(jù)安全,備份應該定期進行。完整備份一般在每周備份一次,增量備份可以每天備份一次。
二、備份方式
DB2數(shù)據(jù)庫有多種備份方式:在線備份、離線備份、壓縮備份、加密備份。
在線備份指在數(shù)據(jù)庫仍在運行的情況下進行備份,備份期間不會停止數(shù)據(jù)庫的操作。在進行在線備份過程中,需要控制備份的并發(fā)和備份所占用的資源。
離線備份指停止數(shù)據(jù)庫的操作并備份完整數(shù)據(jù)庫。離線備份應在數(shù)據(jù)庫負載較低的時段操作,否則可能導致系統(tǒng)響應嚴重下降。
壓縮備份指在備份后將備份文件壓縮。壓縮備份可以減少備份文件大小,縮短備份時間,但會增加備份花費的CPU時間。
加密備份指在備份之前對備份文件進行加密,以保證備份文件的安全性。加密備份可以使用密鑰進行解密,但加密也會增加備份花費的CPU時間。
三、備份工具
IBM Data Studio是一款適用于DB2數(shù)據(jù)庫的備份恢復工具。該工具可以對完整數(shù)據(jù)庫和部分數(shù)據(jù)庫進行備份,并支持增量備份和壓縮備份。
IBM Tivoli Storage Manager是一款用于企業(yè)數(shù)據(jù)備份和恢復的軟件。該軟件支持對多種類型的數(shù)據(jù)庫進行備份和恢復,并支持在線和離線備份方式。Tivoli Storage Manager還支持數(shù)據(jù)壓縮和加密備份。
DB2 Backup and Recovery Tool是一款由IBM提供的用于DB2數(shù)據(jù)庫備份和恢復的工具。該工具支持在線和離線備份方式,并支持壓縮和加密備份。此外,DB2 Backup and Recovery Tool還支持增量備份和增量恢復功能。
四、備份策略
為保證備份的安全和可靠性,企業(yè)需要制定備份策略。
需要確定備份周期。備份周期應該根據(jù)數(shù)據(jù)庫的負載、更新頻率和備份文件大小等因素,確定更佳的備份周期。
需要確定備份方式。備份方式應該根據(jù)公司的具體情況,確定最合適的備份方式。在線備份適用于數(shù)據(jù)量較小、數(shù)據(jù)庫更新頻率高的情況;離線備份適用于數(shù)據(jù)量較大、數(shù)據(jù)庫更新頻率較低的情況;壓縮備份和加密備份應由企業(yè)自行決定是否采用。
需要保證備份文件的安全存儲。備份文件存儲應該避免在數(shù)據(jù)庫服務器本機存儲備份文件,以免數(shù)據(jù)庫服務器運行狀況不穩(wěn)定、遭受安全威脅或因硬件故障等原因導致數(shù)據(jù)丟失。應同時備份到不同位置,以確保備份文件的安全,并可以在需要時快速恢復數(shù)據(jù)。
綜上所述,DB2數(shù)據(jù)庫備份是企業(yè)數(shù)據(jù)安全的重要手段。備份類型、備份方式、備份工具和備份策略都會影響備份效果,企業(yè)應該根據(jù)具體情況綜合考慮,制定合理的備份方案。
相關問題拓展閱讀:
- 如何使用 T 備份 DB2
如何使用 T 備份 DB2
對 T server 進行配置
安裝好譽備軟件后,需要分別對 T server 進行配置。
使用 T 對 DB2 進行備份,必須對 DB2 備份數(shù)據(jù)的保存策略以及保存位置進行定義。因此,需要在 T server 上,對以下幾項進行配置和定義。
定義設備類 (device class)
需要根據(jù)備份數(shù)據(jù)庫的大橋核小和備份、還原頻率來選擇某一種類型的設備類來存儲 DB2 的備份數(shù)據(jù)庫。T server 使用 define devclass 來完成此功能。
這里使用 FILE 類型的設備類來模擬磁帶存儲 DB2 備份數(shù)據(jù)。具體的命令如下:
Define devclass filedevclass devtype=file directory=d:\tfiledata\db2backup
如果運行成功,則返回如下結果:
ANR2203I Device class FILEDEVCLASS defined.
該命令定義了一個新的設備類:filedevclass,它的目錄指向 d:\tfiledata\db2backup。
定義存儲池 (storage pool) 和存儲卷 (volume)
存儲池是一個邏輯概念,它表示了備份 / 歸檔數(shù)據(jù)的實際存儲設備,每一個存儲池都對應了一個特定的設備類。T server 使用 define stgpool 來完成此功能。
下面定義一個存儲池用來表示 DB2 備份數(shù)據(jù)的實際存儲位置。具體的命令如下:
Define stgpool db2filepool filedevclass maxscratch=100
如果運行成功,則返回如下結果:
ANR2200I Storage pool DB2FILEPOOL defined(device class FILEDEVCLASS)
他定義了一個新的存儲池 db2filepool,并關聯(lián)了之前定義的設備類 filedevclass.
對于存儲池,如果 maxscratch>0, 則表示可以使用 scratch 類型的存儲卷,不需要特別定義。當慶消毀然也可以使用自己定義的存儲卷,使用的命令是 define volume。具體示例如下:
Define volume db2filepool d:\tfiledata\db2backup\volm1 format=100
如果運行成功,則返回如下結果:
ANR2491I Volume Creation Process starting for D:\TFILEDATA\DB2BACKUP\VOLM1
上述命令在 db2filepool 中定義了一個大小為 100M 的存儲卷 , 位置是:D:\tfiledata\db2backup\volm1。
定義節(jié)點
為了讓 DB2 通過 T client API 備份數(shù)據(jù),必須在 T server 上為其注冊一個節(jié)點,設置它的節(jié)點名及密碼。相關的命令為 register node。具體示例如下:
register node db2 password
在這里,db2 為新注冊的節(jié)點,默認注冊到 STANDARD 的策略域上。
定義策略
在 T server 中,需要為 DB2 使用的節(jié)點定義其存儲策略。
定義策略域 (policy domain):
T server 使用 define domain 命令來定義策略域,具體示例如下:
Define domain db2domain description=”policy domain for db2 backup”
如果運行成功,則返回如下結果:
ANR1500I Policy domain DB2DOMAIN defined
該命令定義了一個名為 db2domain 的策略域。
定義策略集 (policy set):
T server 使用 define policyset 命令來定義策略域,具體示例如下:
Define policyset db2domain db2policyset description=”policy set for db2”
如果運行成功,則返回如下結果:
ANR1510I Policy set DB2POLICYSET defined in policy domain DB2DOMAIN
該命令定義了一個名為 db2policyset 的策略集,它是屬于 db2domain 這個策略域中的。
定義管理類 (management class):
T server 使用 define mgmtclass 命令來定義策略域,具體示例如下:
Define mgmtclass db2domain db2policyset db2mgmtclass
description=”management class for db2”
如果運行成功,則返回如下結果:
ANR1510I Management class DB2MGMTCLASS defined in
policy domain DB2DOMAIN, set DB2POLICYSET.
上述命令定義了管理類 db2mgmtclass, 它屬于策略集 db2policyset, 策略域 db2domain。
把定義的管理類作為該策略集中的默認管理類。
T server 使用 assign defmgmtclass 命令把設置某個策略集中的默認管理類。具體示例如下:
Assign defmgmtclass db2domain db2policyset db2mgmtclass
如果運行成功,則返回如下結果:
ANR1538I Default management class set to DB2MGMTCLASS
for policy domain DB2DOMAIN, set DB2POLICYSET.
該命令把之前定義的管理類 db2mgmtclass 設置成策略集 db2policyset 的默認管理類。
定義拷貝組 (copy group)
分別為備份數(shù)據(jù)和歸檔數(shù)據(jù)定義 copy group
定義拷貝組的命令是 define copygroup,根據(jù)參數(shù) type 的設置,可以分別定義 backup copy group 和 archive copy group。具體的命令如下:
定義備份拷貝組:
Define copygroup db2domain db2policyset db2mgmtclass dest=db2filepool
如果運行成功,則返回如下結果:
ANR1530I Backup copy group STANDARD defined in policy domain DB2DOMAIN,
set DB2POLICYSET, management class DB2MGMTCLASS.
定義歸檔拷貝組:
Define copygroup db2domain db2policyset db2mgmtclass
type=archive dest=db2archivepool
如果運行成功,則返回如下結果:
ANR1535I Archive copy group STANDARD defined in policyset
domain DB2DOMAIN,set DB2POILCYSET, management class DB2MGMTCLASS.
這兩個命令在 db2mgmtclass 中分別定義了 backup copy group 和 archive copy group, 并指明 backup 和 archive 的數(shù)據(jù)分別存儲在 db2filepool 和 db2archivepool 兩個存儲池中。其中 db2archivepool 存儲池的定義與 db2filepool 的定義是類似的,這里就不再介紹。
驗證并激活策略集
T server 使用 validate policyset 以及 active policyset 命令來驗證并激活策略集。只有激活以后的策略集,才會在后面的備份中使用到。具體的命令示例如下:
驗證策略集:
Validate policyset db2domain db2policyset
如果運行成功,則返回如下結果:
ANR1515I Policy set DB2POLICYSET validated in domain DB2DOMAIN(ready for activation)
激活策略集:
Activate policyset db2domain db2policyset
該命令會詢問客戶是否確認執(zhí)行,確認后,如果運行成功,則返回如下結果:
ANR1514I Policy set DB2POLICYSET activated in policy domain DB2DOMAIN
上述倆命令驗證并激活了策略域 db2domain 中的策略集 db2policyset.
更新 T 節(jié)點信息
需要更新節(jié)點信息,把 T 節(jié)點指定到為其定義的策略域中。T server 使用 update node 來實現(xiàn)該功能。具體命令如下:
Update node db2 domain=db2domain archdelete=yes backdelete=yes
如果運行成功,則返回如下結果:
ANR2023I Node DB2 updated.
該命令把節(jié)點 db2 關聯(lián)到了策略域 db2domain 上,并修改了節(jié)點參數(shù) archdelete 和 backdelete 的設置。
到這里,T server 端的配置就完成了。關于這些 t server 命令的詳細介紹,可參考《IBM Tivoli Storage Manager for AIX Administrator’s Reference》。
回頁首
設置環(huán)境變量
在安裝完 T backup-archive 客戶端后,它會自動安裝相應的 T client API,之后需要在系統(tǒng)環(huán)境變量中定義三個環(huán)境變量。分別是:DI_CONFIG, DI_DIR 和 DI_LOG。之后的 DB2 備份中,將會使用這三個變量。
DI_CONFIG
這個環(huán)境變量設置了 T client API option file 的位置。如果安裝了 T backup-archive 客戶端,則它在 WINDOWS 平臺下的默認值為‘C:\Program Files\Tivoli\T\baclient\d.opt’。如果把它安裝到了其他位置,則將該環(huán)境變量設置成相應的值。如果該目錄下沒有 d.opt 文件,可以自己生成一個。關于如何配置該文件可參考《IBM Tivoli Storage Manager for Windows Backup-Archive Clients Installation and User’s Guide》。
DI_DIR
這個環(huán)境變量設置了 T client API 的安裝路徑。在 WINDOWS 平臺下,默認的安裝路徑為:‘C:\Program Files\Common Files\Tivoli\T\api’。
需要注意的是,T V5.5 之前的默認位置是‘C:\Program Files\Tivoli\T\api’。新版本發(fā)生了一些變化。
DI_LOG
該環(huán)境變量設置了 T client API 的錯誤日志 dsierror.log 所在的目錄位置。如果安裝了 T backup-archive 客戶端,則它在 WINDOWS 平臺下的默認值為:‘C:\Program Files\Tivoli\T\baclient’。如果沒有,生成一個即可。
回頁首
對 T client 進行配置
配置完 T server 后,需要對 T client API 進行配置。Windows 主要配置的是 d.opt 文件。也就是 DI_CONFIG 中所指向的文件。在這個文件中,需要指明 T client 與 T server 的通訊方式,T client 所使用的 T 節(jié)點名,以及密碼的訪問模式。下面,如圖 1 所示給出一個 d.opt 的文件示例??梢杂梦谋揪庉嬈鲗ζ溥M行編輯:
圖 1. d.opt 的文件示例
d.opt 的文件示例
回頁首
生成 T 節(jié)點的加密密碼
在前面的配置都完成后,需要調用 dapipw.exe 可執(zhí)行文件,默認安裝 DB2 的安裝目錄“c:\program files\ibm\sqllib\ad\”下,對之前設置的 T 節(jié)點密碼進行加密。這個加密的密碼將會被保存在 windows 的注冊表中。
運行 dapipw.exe 的時候,將會要求輸入當前的節(jié)點密碼,新密碼,并且對新密碼進行確認,如圖 2 所示。
圖 2. 設置的 T 節(jié)點密碼
設置的 T 節(jié)點密碼
除了可以通過密碼來進行安全保護外,T V5.5 版本還提供了一種叫做 Secure Socket Layer(SSL) 的數(shù)據(jù)保護機制。通過配置使用 SSL, 可以在 client 和 server 之間提供一條安全的通信通道,提高用戶備份數(shù)據(jù)的安全性。具體的 SSL 配置說明,可參考《IBM Tivoli Storage Manager for Windows Administrator’s Guide》。
回頁首
對 DB2 進行設置
對于每一個需要備份的 DB2 數(shù)據(jù)庫,它都有四個與 T 有關的參數(shù)需要設置,分別是:T_MGMTCLASS, T_NODENAME, T_PASSWORD, T_OWNER。
T_MGMTCLASS
這個參數(shù)值表示的是該數(shù)據(jù)庫將會綁定到哪一個管理類中。如果該參數(shù)設置了,那它的優(yōu)先級將高于默認的管理類和 include-exclude list 中的設置。相應的 DB2 命令為 update db cfg。具體的命令示例如下:
Update db cfg for sample using t_mgmtclass db2mgmtclass
如果運行成功,則返回如下結果:
DB20230I The UPDATE DATABASE CONFIGURATION command completed succesfully
該命令把 sample 數(shù)據(jù)庫的配置參數(shù) T_MGMTCLASS 的值設置成了之前定義的管理類 db2mgmtclass。
當然,該功能也可以通過 DB2 GUI 來實現(xiàn)。
T_NODENAME
該參數(shù)值表示了 DB2 數(shù)據(jù)庫備份時使用的節(jié)點名。
如果在 d.opt 中設定 PasswordAccess=generate,則該參數(shù)需要設為空值
如果在 d.opt 中設定 PasswordAccess=prompt,則該參數(shù)需要設置為前面定義的節(jié)點名
T_PASSWORD
該參數(shù)值表示了 DB2 數(shù)據(jù)庫備份時使用的節(jié)點的密碼。
如果在 d.opt 中設定 PasswordAccess=generate,則該參數(shù)需要設為空值
如果在 d.opt 中設定 PasswordAccess=prompt,則該參數(shù)需要設置為前面定義的節(jié)點密碼
T_OWNER
該參數(shù)表示了備份對象的 owner. 這個參數(shù)是針對 UNIX 操作系統(tǒng)的,對于 WINDOW 平臺,不需要設置。在 UNIX 平臺下,
如果在 d.opt 中設定 PasswordAccess=generate,則該參數(shù)需要設為空值
如果在 d.opt 中設定 PasswordAccess=prompt,則該參數(shù)需要設置
回頁首
進行數(shù)據(jù)庫備份操作
到這里為止,所有的配置都已經完成?,F(xiàn)在就可以使用 T 來備份 DB2 了。
DB2 的備份操作可以通過 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 來實現(xiàn)。下面,就以 Command line interface 為例進行說明。在 DB2 中的相關命令為 backup db。具體的命令示例如下:
Backup db sample use t.
如果運行成功,則返回如下結果:
Backup successful. The timestamp for the backup image is:6
該命令用 T 對數(shù)據(jù)庫 sample 進行了一次全備份。這次備份的時間戳為6。
在 T server 上,可以使用命令 query volume 以及 query content 對備份數(shù)據(jù)所在的存儲卷進行查詢,從而可以得到存儲的內容。具體示例如下:
Query volume volm1
該命令可以獲得存儲池 db2filepool 中存儲卷 volm1 的信息。
Query content volm1
該命令可以獲得存儲卷 volm1 中的所有備份文件的信息。
這些命令的運行結果如圖 3 所示:
圖 3. 數(shù)據(jù)庫備份運行結果
數(shù)據(jù)庫備份運行結果
從中可以看到,sample 數(shù)據(jù)庫作為一個文件保存在 T 的存儲卷中。
回頁首
進行數(shù)據(jù)庫還原操作
和數(shù)據(jù)庫的備份一樣,數(shù)據(jù)庫的還原操作也可以通過 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 來實現(xiàn)。下面,就以 Command line interface 為例進行說明。它使用的命令是 restore db。具體的命令示例如下:
Restore db sample use t taken at6
在這里,sample 數(shù)據(jù)庫使用時間戳為6 的數(shù)據(jù)庫備份來進行數(shù)據(jù)庫還原。該命令的運行結果如下圖 4 所示:
圖 4. 數(shù)據(jù)庫還原命令的運行結果
數(shù)據(jù)庫還原命令的運行結果
回頁首
進行數(shù)據(jù)庫表空間的備份操作
T 除了支持對 DB2 數(shù)據(jù)庫級別的備份之外,還支持表空間級別的備份操作。它同樣可以通過 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 來實現(xiàn)。下面,就以 Command line interface 為例。它使用到的命令是 backup database DBNAME tablespace(SPACENAME) online use t。具體的命令示例如下:
Backup database sample tablespace(userspace2) online use t
如果運行成功,返回如下結果:
Backup successful. The timestamp for this backup image is:1
在這里,T 對 sample 數(shù)據(jù)庫中的表空間 userspace2 做了一次全備份,時間戳為1。
回頁首
進行數(shù)據(jù)庫表空間的還原操作
數(shù)據(jù)庫表空間的還原操作也可以通過 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 來實現(xiàn)。下面,就以 Command line interface 為例。它使用到的命令是 restore database DBNAME tablespace(SPACENAME) online use t。具體的命令示例如下:
restore database sample tablespace(userspace2) online use t taken at1.
如果運行成功,返回如下結果:
DB20230I The RESTORE DATABASE command completed successfully.
在這里,sample 數(shù)據(jù)庫的表空間 userspace2 使用時間戳為1 的備份來進行表空間還原。
T 軟件把備份的數(shù)據(jù)保存在各種類型的存儲卷中。對于 V5.5 之前的版本,T 只允許對 FILE 類型的存儲卷進行互斥的訪問,而 V5.5 增加了對于 FILE 類型存儲卷的并發(fā)讀寫操作。也就是說,在同一時刻,可以允許以下行為的并發(fā):
1.多個 client 對同一個 FILE 類型的存儲卷進行并發(fā)的讀操作。
2.一個 client 對 FILE 類型的存儲卷進行寫操作,而其他的用戶可以同時對該卷進行讀操作。
因此,在使用 T V5.5 來備份 DB2 數(shù)據(jù)庫 / 表空間的時候,如果采用的是 FILE 類型的存儲卷保存?zhèn)浞輸?shù)據(jù)(如本文中的示例),則可以進行以下的并發(fā)行為:
1.多個 client 同時對保存在同一個存儲卷中的備份數(shù)據(jù)庫 / 表空間進行還原操作。
2.一個 client 在備份 DB2 數(shù)據(jù)的同時,可以允許其他 client 對該存儲卷中的其他備份數(shù)據(jù)進行還原操作。
T V5.5 的這項新功能通過對 FILE 類型存儲卷的并發(fā)支持,可以比較好的提高客戶在還原數(shù)據(jù)庫時的性能。
備份db2數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于備份db2數(shù)據(jù)庫,如何安全高效備份db2數(shù)據(jù)庫,如何使用 T 備份 DB2的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯(lián)網基礎服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)——四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數(shù)據(jù)中心機房租用、服務器托管、機柜租賃、大帶寬租用,高電服務器托管,算力服務器租用,可選線路電信、移動、聯(lián)通機房等。
當前文章:如何安全高效備份db2數(shù)據(jù)庫(備份db2數(shù)據(jù)庫)
當前地址:http://m.fisionsoft.com.cn/article/dhdoogi.html


咨詢
建站咨詢
