DB2 back 存檔使用與正確維護(hù)
以下的文章主要向大家描述的是DB2 back 存檔使用與正確維護(hù),在實(shí)際操作中我們是否希望以更好的方法管理 IBM® DB2® for Linux® or AIX® 服務(wù)器上的診斷文件?如果是這樣,本文會(huì)對(duì)您有幫助。
這里提供一個(gè)腳本,它可以幫助您存檔和維護(hù)這些文件。通過(guò)壓縮和刪除舊的文件,可以進(jìn)一步簡(jiǎn)化管理過(guò)程。
簡(jiǎn)介
隨著自治技術(shù)的應(yīng)用日益增加,DB2 數(shù)據(jù)庫(kù)服務(wù)器可能會(huì)產(chǎn)生很大的消息日志文件、管理通知日志文件和事件日志文件。在具有許多邏輯和物理分區(qū)的大型數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中,這種情況尤其顯著。另外,在出現(xiàn)問(wèn)題時(shí),為了滿足首次故障數(shù)據(jù)捕捉的需要,DB2 往往會(huì)產(chǎn)生大量診斷數(shù)據(jù)。
日志記錄活動(dòng)的增加還會(huì)增加占用的文件系統(tǒng)空間,導(dǎo)致可管理性問(wèn)題。簡(jiǎn)單地刪除日志文件是不可行的,因?yàn)?DB2 支持人員常常要求用戶提供歷史診斷數(shù)據(jù),尤其是在研究當(dāng)前問(wèn)題期間和遷移實(shí)例之后。
本文介紹一個(gè)新腳本,可以使用它對(duì) DB2 實(shí)例的診斷日志和數(shù)據(jù)執(zhí)行維護(hù)任務(wù)。這個(gè)腳本稱(chēng)為 db2dback.ksh,可以通過(guò)后面 下載 部分中的 zip 文件獲得它。這個(gè)腳本可以在單一分區(qū)和多分區(qū)環(huán)境中運(yùn)行,它會(huì)考慮不同的用戶設(shè)置,不同的物理分區(qū)可以使用共享的或單獨(dú)的診斷數(shù)據(jù)路徑。
腳本概述
db2dback.ksh shell 腳本可以對(duì)來(lái)自 DB2 數(shù)據(jù)庫(kù)實(shí)例配置的診斷數(shù)據(jù)路徑 (DIAGPATH) 的診斷數(shù)據(jù)進(jìn)行存檔。還可以對(duì)目標(biāo)(存檔)目錄中已經(jīng)存檔的數(shù)據(jù)進(jìn)行維護(hù)。
DB2 實(shí)例的所有者應(yīng)該定期運(yùn)行此腳本。可以手工運(yùn)行此腳本,也可以通過(guò)調(diào)度工具(例如,cron 作業(yè))運(yùn)行。
此腳本當(dāng)前可以處理 AIX 和 Linux 操作系統(tǒng)上的 DB2 實(shí)例。在這兩種環(huán)境中,它可以處理單分區(qū)實(shí)例或用 Data Partitioning Feature (DPF) 創(chuàng)建的多分區(qū)實(shí)例,還包括 Balanced Warehouse 設(shè)置。在 DPF 環(huán)境中,此腳本支持不同的實(shí)例配置:
在所有分區(qū)之間共享單一 DIAGPATH
每個(gè)物理分區(qū)使用單獨(dú)的 DIAGPATH
注意:DIAGPATH 是一個(gè) DB2 數(shù)據(jù)庫(kù)管理程序配置參數(shù)值。如果在實(shí)例配置中沒(méi)有設(shè)置這個(gè)參數(shù),那么使用 DB2 實(shí)例所有者的默認(rèn)值 $HOME/sqllib/db2dump。關(guān)于數(shù)據(jù)庫(kù)管理程序配置參數(shù)的更多信息,請(qǐng)參見(jiàn) DB2 Information Center。
安裝腳本
DB2 實(shí)例所有者可以按以下步驟安裝此腳本:
從下面的 下載 部分獲取 db2dback.zip 文件。
從 zip 文件中提取出 db2dback.ksh 腳本。
把 db2dback.ksh 復(fù)制到 DB2 數(shù)據(jù)庫(kù)實(shí)例的 sqllib/bin 目錄中。
必須有在 DPF 設(shè)置上遠(yuǎn)程執(zhí)行腳本所需的執(zhí)行權(quán)限。
下面的命令示例設(shè)置正確的執(zhí)行權(quán)限:
- cp db2dback.ksh ~/sqllib/bin
 - hmod 755 ~/sqllib/bin/db2dback.ksh
 
獲得腳本幫助
可以用 –h 命令行選項(xiàng)運(yùn)行 db2dback.ksh 腳本,顯示腳本選項(xiàng)的幫助:
- $ db2dback.ksh -h
 - 04-01-2009 13:13:25: DIAGPATH is set to /home3/agrankin/sqllib/db2dump
 - Usage: db2dback.ksh [-ahzvptl] [-o <path> ] [-r <days> ]
 - Options:
 - -h Print help message
 - -a Archive diagnostic data
 - -r <days> Remove diagnostic archives that are >
 - then <days> old. Can be combined with -a
 - -o <dir> Specify output directory
 - -z Compress diagnostic data tar archive
 - -v Verbose output.
 - -p Run diag data archiving in parallel
 - (default is sequential).
 - -l Local execution. This is used in cases
 - when db2dump is shared by all partitions.
 - It also can be used if archive runs on
 - just single physical partition.
 - -t Suboption for -a, archives data to a
 - tar archive at destination.
 
下面詳細(xì)介紹不同的選項(xiàng)。
指定目標(biāo)(存檔)目錄
如果沒(méi)有在命令行上指定目標(biāo)目錄,腳本使用 DIAGPATH/db2dump_archive 目錄作為默認(rèn)的目標(biāo)。如果此目錄不存在,腳本會(huì)創(chuàng)建它。
可以創(chuàng)建一個(gè) DIAGPATH/db2dump_archive 鏈接,讓它指向另一個(gè)有足夠空間的本地或 NFS 掛載文件系統(tǒng)。在有多個(gè)物理分區(qū)的 DPF 設(shè)置中,如果物理分區(qū)不共享診斷路徑目錄,那么必須在每個(gè)物理分區(qū)上創(chuàng)建此鏈接。
存檔
使用 –a (archive) 命令行選項(xiàng)存檔來(lái)自 DIAGPATH 的診斷數(shù)據(jù):
- db2dback.ksh -a [-o <destination_path> ]
 
在默認(rèn)情況下,在 DPF 系統(tǒng)上腳本嘗試使用 rah 命令在每個(gè)物理分區(qū)上運(yùn)行本身的本地版本。如果所有物理分區(qū)共享 DIAGPATH(BCU 不建議這么做),可以使用 –l 子選項(xiàng)調(diào)用腳本的本地版本。
腳本把 db2diag.log 和管理日志文件重命名為 db2diag.log.
剛創(chuàng)建的 db2數(shù)據(jù)庫(kù)diag.log 和管理通知日志文件。
stmmlog 目錄中的自調(diào)優(yōu)內(nèi)存管理程序 (STMM) 日志文件。STMM 自動(dòng)地管理它的日志文件使用的空間,通常不會(huì)讓空間總量超過(guò) 50MB。
在 15 分鐘以內(nèi)創(chuàng)建的任何診斷數(shù)據(jù)文件或首次發(fā)生數(shù)據(jù)捕捉 (FODC) 目錄。這是為了確保在診斷數(shù)據(jù)轉(zhuǎn)儲(chǔ)期間啟動(dòng)存檔的情況下,文件不會(huì)分配到不同的存檔或目標(biāo)中。
從 DIAGPATH 轉(zhuǎn)移到新目標(biāo)的所有文件保留原有的目錄層次結(jié)構(gòu)。所有文件轉(zhuǎn)移到采用以下命名約定的子目錄中:
- db2dback.<hostname>.YYYY-MM-DD-hhmmss
 
使用 –t 命令行選項(xiàng)為目標(biāo)目錄中的所有診斷數(shù)據(jù)文件創(chuàng)建 tar 存檔:
- db2dback.ksh -a -t [-o <destination_path> ]
 
從源目錄中刪除已經(jīng)復(fù)制到 tar 存檔中的文件。上面的文件例外規(guī)則也適用于 tar 存檔。tar 文件采用以下命名約定:
- db2dback.<hostname>.YYYY-MM-DD-hhmmss.tar
 
使用 –z 命令行子選項(xiàng)壓縮目標(biāo)目錄中的文件。在默認(rèn)情況下,腳本使用 gzip 工具壓縮文件。如果腳本在系統(tǒng)上找不到 gzip 命令,它會(huì)嘗試使用 compress 實(shí)用程序??梢耘c –t 子選項(xiàng)同時(shí)使用此選項(xiàng),也可以單獨(dú)使用:
- db2dback.ksh -a –z [-o <destination_path> ]
 - db2dback.ksh -a -t –z [-o <destination_path> ]
 
在把數(shù)據(jù)發(fā)送給 tar 存檔時(shí),工具在最后壓縮存檔。如果要轉(zhuǎn)移數(shù)據(jù)(沒(méi)有 –t 選項(xiàng)),那么在目標(biāo)目錄中分別壓縮轉(zhuǎn)移的每個(gè)文件。只壓縮超過(guò) 200KB 的文件。
在默認(rèn)情況下,DPF 系統(tǒng)上的診斷數(shù)據(jù)存檔是連續(xù)的,這意味著工具每次存檔一個(gè)物理分區(qū)的數(shù)據(jù)。使用 –p 子選項(xiàng)對(duì)所有物理分區(qū)同時(shí)執(zhí)行存檔。這會(huì)在腳本中的 DB2 rah 命令中插入 ||& 前綴。關(guān)于使用 rah 命令的更多信息,請(qǐng)參見(jiàn) DB2 數(shù)據(jù)庫(kù)Information Center。
【編輯推薦】















 
 
 
 
 
 
 