程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 back 存檔使用與正確維護

DB2 back 存檔使用與正確維護

編輯:DB2教程

以下的文章主要向大家描述的是DB2 back 存檔使用與正確維護,在實際操作中我們是否希望以更好的方法管理 IBM® DB2® for Linux® or AIX® 服務器上的診斷文件?如果是這樣,本文會對您有幫助。

這裡提供一個腳本,它可以幫助您存檔和維護這些文件。通過壓縮和刪除舊的文件,可以進一步簡化管理過程。

簡介

隨著自治技術的應用日益增加,DB2 數據庫服務器可能會產生很大的消息日志文件、管理通知日志文件和事件日志文件。在具有許多邏輯和物理分區的大型數據倉庫環境中,這種情況尤其顯著。另外,在出現問題時,為了滿足首次故障數據捕捉的需要,DB2 往往會產生大量診斷數據。

日志記錄活動的增加還會增加占用的文件系統空間,導致可管理性問題。簡單地刪除日志文件是不可行的,因為 DB2 支持人員常常要求用戶提供歷史診斷數據,尤其是在研究當前問題期間和遷移實例之後。

本文介紹一個新腳本,可以使用它對 DB2 實例的診斷日志和數據執行維護任務。這個腳本稱為 db2dback.ksh,可以通過後面 下載 部分中的 zip 文件獲得它。這個腳本可以在單一分區和多分區環境中運行,它會考慮不同的用戶設置,不同的物理分區可以使用共享的或單獨的診斷數據路徑。

腳本概述

db2dback.ksh shell 腳本可以對來自 DB2 數據庫實例配置的診斷數據路徑 (DIAGPATH) 的診斷數據進行存檔。還可以對目標存檔)目錄中已經存檔的數據進行維護。

DB2 實例的所有者應該定期運行此腳本。可以手工運行此腳本,也可以通過調度工具例如,cron 作業)運行。

此腳本當前可以處理 AIX 和 Linux 操作系統上的 DB2 實例。在這兩種環境中,它可以處理單分區實例或用 Data Partitioning Feature (DPF) 創建的多分區實例,還包括 Balanced Warehouse 設置。在 DPF 環境中,此腳本支持不同的實例配置:

在所有分區之間共享單一 DIAGPATH

每個物理分區使用單獨的 DIAGPATH

注意:DIAGPATH 是一個 DB2 數據庫管理程序配置參數值。如果在實例配置中沒有設置這個參數,那麼使用 DB2 實例所有者的默認值 $HOME/sqllib/db2dump。關於數據庫管理程序配置參數的更多信息,請參見 DB2 Information Center。

安裝腳本

DB2 實例所有者可以按以下步驟安裝此腳本:

從下面的 下載 部分獲取 db2dback.zip 文件。

從 zip 文件中提取出 db2dback.ksh 腳本。

把 db2dback.ksh 復制到 DB2 數據庫實例的 sqllib/bin 目錄中。

必須有在 DPF 設置上遠程執行腳本所需的執行權限。

下面的命令示例設置正確的執行權限:

  1. cp db2dback.ksh ~/sqllib/bin  
  2. hmod 755 ~/sqllib/bin/db2dback.ksh 

獲得腳本幫助

可以用 –h 命令行選項運行 db2dback.ksh 腳本,顯示腳本選項的幫助:

  1. $ db2dback.ksh -h  
  2. 04-01-2009 13:13:25: DIAGPATH is set to /home3/agrankin/sqllib/db2dump  
  3. Usage: db2dback.ksh [-ahzvptl] [-o  ] [-r  ]  
  4. Options:  
  5. -h Print help message  
  6. -a Archive diagnostic data  
  7. -r  Remove diagnostic archives that are >   
  8. then  old. Can be combined with -a  
  9. -o  Specify output directory  
  10. -z Compress diagnostic data tar archive  
  11. -v Verbose output.  
  12. -p Run diag data archiving in parallel  
  13. (default is sequential).  
  14. -l Local execution. This is used in cases   
  15. when db2dump is shared by all partitions.   
  16. It also can be used if archive runs on   
  17. just single physical partition.  
  18. -t Suboption for -a, archives data to a   
  19. tar archive at destination. 

下面詳細介紹不同的選項。

指定目標存檔)目錄

如果沒有在命令行上指定目標目錄,腳本使用 DIAGPATH/db2dump_archive 目錄作為默認的目標。如果此目錄不存在,腳本會創建它。

可以創建一個 DIAGPATH/db2dump_archive 鏈接,讓它指向另一個有足夠空間的本地或 NFS 掛載文件系統。在有多個物理分區的 DPF 設置中,如果物理分區不共享診斷路徑目錄,那麼必須在每個物理分區上創建此鏈接。

存檔

使用 –a (archive) 命令行選項存檔來自 DIAGPATH 的診斷數據:

  1. db2dback.ksh -a [-o  ] 

在默認情況下,在 DPF 系統上腳本嘗試使用 rah 命令在每個物理分區上運行本身的本地版本。如果所有物理分區共享 DIAGPATHBCU 不建議這麼做),可以使用 –l 子選項調用腳本的本地版本。

腳本把 db2diag.log 和管理日志文件重命名為 db2diag.log..log.,然後為實例創建新的日志文件。然後,腳本使用 UNIX mv 命令轉移 DIAGPATH 中的所有文件和目錄,但是以下文件和目錄除外:

剛創建的 db2數據庫diag.log 和管理通知日志文件。

stmmlog 目錄中的自調優內存管理程序 (STMM) 日志文件。STMM 自動地管理它的日志文件使用的空間,通常不會讓空間總量超過 50MB。

在 15 分鐘以內創建的任何診斷數據文件或首次發生數據捕捉 (FODC) 目錄。這是為了確保在診斷數據轉儲期間啟動存檔的情況下,文件不會分配到不同的存檔或目標中。

從 DIAGPATH 轉移到新目標的所有文件保留原有的目錄層次結構。所有文件轉移到采用以下命名約定的子目錄中:

  1. db2dback..YYYY-MM-DD-hhmmss  

使用 –t 命令行選項為目標目錄中的所有診斷數據文件創建 tar 存檔:

  1. db2dback.ksh -a -t [-o  ]  

從源目錄中刪除已經復制到 tar 存檔中的文件。上面的文件例外規則也適用於 tar 存檔。tar 文件采用以下命名約定:

  1. db2dback..YYYY-MM-DD-hhmmss.tar 

使用 –z 命令行子選項壓縮目標目錄中的文件。在默認情況下,腳本使用 gzip 工具壓縮文件。如果腳本在系統上找不到 gzip 命令,它會嘗試使用 compress 實用程序。可以與 –t 子選項同時使用此選項,也可以單獨使用:

  1. db2dback.ksh -a –z [-o  ]  
  2. db2dback.ksh -a -t –z [-o  ]  

在把數據發送給 tar 存檔時,工具在最後壓縮存檔。如果要轉移數據沒有 –t 選項),那麼在目標目錄中分別壓縮轉移的每個文件。只壓縮超過 200KB 的文件。

在默認情況下,DPF 系統上的診斷數據存檔是連續的,這意味著工具每次存檔一個物理分區的數據。使用 –p 子選項對所有物理分區同時執行存檔。這會在腳本中的 DB2 rah 命令中插入 ||& 前綴。關於使用 rah 命令的更多信息,請參見 DB2 數據庫Information Center。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved