首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 表級備份實作:每日自動化匯出與壓縮腳本

     編輯:DB2 教學

應用場景

資料倉庫規模大,全庫備份耗時久且無第三方備份代理,需實現表級每日增量備份。

環境:Windows 2000 / DB2 UDB V8.2

核心元件

  1. SQL 產生器 F:\DAILY\DailyExportStmtGen.sql
    動態產生每張表的 EXPORT TO ... OF IXF SELECT * FROM ... 語句(詳見參考範本)。
  2. 批次執行腳本 C:\WINNT\SYSTEM32\Daily_dwbak.bat

批次腳本邏輯解析

@ECHO OFF
REM 1. 取日期字串 YYYYMMDD
set dst=%date:~4,4%%date:~9,2%%date:~12,2%

REM 2. 確保備份根目錄存在
if not exist F:\dailybackup md F:\dailybackup

REM 3. 建立當日子目錄
if not exist F:\dailybackup\%dst% md F:\dailybackup\%dst%

REM 4. 用 db2batch 產生實際 EXPORT 腳本
db2batch -d dwdb -a db2inst2/ibmdb2 -f F:\daily\DailyExportStmtsGen.sql -s OFF -q ON > F:\daily\DailyExportScript.sql

REM 5. 連線並執行匯出
db2 connect to dwdb user db2inst2 using ibmdb2
db2 -vf F:\daily\DailyExportScript.sql
db2 connect reset

REM 6. 移動 .ixf 檔至當日目錄並壓縮
move F:\daily\*.ixf F:\dailybackup\%dst%
F:\Daily\arj284\arj a -r F:\dailybackup\%dst%.arj F:\dailybackup\%dst%

REM 7. 清理暫存檔
del F:\dailybackup\%dst%\*.* /S /Q

關鍵點說明

  • db2batch -q ON 只輸出查詢結果(即 EXPORT 語句),不顯示格式化輸出
  • 使用 ARJ 壓縮(可替換為 7-Zip 等現代工具)
  • 排程方式:Windows 排程服務每日啟動該 .bat
  • 還原時:IMPORT FROM ... OF IXF INSERT INTO ...

擴充建議

  1. 加入錯誤碼檢查與郵件通知
  2. 改用 db2move 或 ADMIN_CMD('EXPORT ...') 簡化流程
  3. 離線複製壓縮檔至異地存儲
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved