DB2 UDB 提供豐富的管理 API、命令列工具與系統命令,支援將 SQL、DB2 指令、系統指令與作業系統命令組合成腳本,實現重複性任務自動化、排程執行與複雜管理流程編排。Windows 平台上最常用的兩大腳本宿主環境為 Windows Shell (WSH) 與 Windows Scripting Host (WSH)。
| 工具 | 特性 | 適用場景 |
|---|---|---|
| DB2 命令中心 | GUI 介面,支援互動與批次模式,可匯入/匯出腳本 | 視覺化開發、除錯、腳本管理 |
| DB2 命令列處理器 (CLP) | 專屬提示符 DB2 =>,執行 DB2/SQL 指令;系統指令需前綴 ! | 純 DB2 管理任務、快速驗證 |
| DB2 命令視窗 | 擴展 cmd.exe 的 db2cmd.exe,直接支援 DB2、系統與 OS 指令混用,無需前綴 | 最推薦:腳本開發、排程、混合指令編排 |
關鍵提示:直接在 Windows Shell 執行 DB2 指令會報錯 DB21061E,必須先啟動 db2cmd.exe 初始化環境。
常用選項(db2 -tvf script.db2 -l log.txt -r rpt.txt):
-t:分號終止指令-v:回顯指令至標準輸出-f:從檔案讀取指令-l:記錄指令執行起訖時間至日誌檔-r:將指令輸出結果存入報表檔最佳實踐:同時使用 -l 與 -r,日誌檔追蹤細節,報表檔快速檢視摘要。
| 副檔名 | 用途 |
|---|---|
| .db2 | 通用 DB2 指令腳本 |
| .ddl | 資料定義語言 (DDL) 腳本 |
| .sql | SQL 查詢/操作腳本 |
db2backup.db2)-- Sample DB2 Backup Script
ATTACH TO DB2;
BACKUP DATABASE SAMPLE;
DETACH;
TERMINATE;
執行方式:
db2cmd -c -w -i db2 -tvf db2backup.db2 -l db2backup.log -r db2backup.rpt
db2cmd -c -w -i:啟動命令視窗、等待結束、繼承環境變數近百條系統命令涵蓋尚未整合進 GUI 的底層管理功能。常用於腳本的範例:
| 命令 | 腳本應用場景 |
|---|---|
db2audit | 自動化安全稽核 |
db2batch | 基準測試:讀取 SQL 檔、動態準備、回傳結果集 |
db2exfmt | SQL 調優:自動化解釋計畫擷取與格式化 |
db2chkbk | 備份腳本結尾驗證備份映像完整性 |
db2flsn | 日誌修剪腳本:依 LSN 確認可修剪日誌檔 |
完整命令參考請見 DB2 Command Reference;修訂包常新增/增強命令,閱讀 Release Notes 為良習。
正式支援 C/C++、COBOL、Fortran、REXX。Java、Perl、VB 等可透過 JNI (Java Native Interface) 或呼叫 C API 間接存取。DB2 控制中心即以 Java + JNI 開發。對於 VBScript/JScript/Perl 等無法直接呼叫 API 的語言,可透過 DB2 CLP 間接調用管理功能。