1. Load 高速裝載資料(標準模板)
# 1. 導出乾淨資料 (可並行多表)
db2 "EXPORT TO tempfile OF DEL SELECT * FROM tab WHERE NOT cleanup_condition;"
# 2. Load 裝載 (非記錄、替換、優化參數)
db2 "LOAD FROM tempfile OF DEL MODIFIED BY DELPRIORITYCHAR
REPLACE INTO tab NONRECOVERABLE;"
# 關鍵修飾符說明:
# DELPRIORITYCHAR - 防止資料含換行符導致解析錯誤
# REPLACE - 清空目標表再裝載
# NONRECOVERABLE - 不記錄日誌,速度最快,裝載後必須備份
2. 應用程式管理
| 任務 | 指令 |
| 列出所有應用 (含代理編號) | db2 LIST APPLICATIONS 或 db2 LIST APPLICATIONS | grep DBNAME |
| 強制斷開指定應用 | db2 "FORCE APPLICATION (handle1, handle2, ...)" |
| 強制斷開所有應用 | db2 FORCE APPLICATIONS ALL |
| 查看特定代理執行狀態 | db2 GET SNAPSHOT FOR APPLICATION AGENTID 299 | grep Row |
3. 資料庫配置檢視與修改
# 檢視完整配置
db2 GET DB CFG FOR # 當前連接資料庫可省略 FOR 子句
# 修改單一參數 (線上生效視參數而定)
db2 UPDATE DB CFG USING
# 常調參數範例:
# LOGFILSIZ, LOGPRIMARY, LOGSECOND (日誌檔大小/數量)
# LOCKTIMEOUT, LOCKLIST, MAXLOCKS (鎖相關)
# SORTHEAP, SHEAPTHRES (排序堆)
# MAXFILOP (最大開啟檔案)
# BUFFPAGE / 各緩衝池 SIZE
4. DB2STOP FORCE 解決掛起停止
現象:db2stop 報 SQL1025N databases are still active,無法正常停止。
db2stop FORCE
# 輸出:SQL1064N DB2STOP processing was successful.
db2start
# 重新連接、重新 BIND 套件
FORCE 會強制斷開所有連接、回滾進行中事務、關閉資料庫、停止實例。
- 僅在無法正常停止、維護窗口緊迫時使用,可能導致應用端連接異常中斷。
5. 緩衝池大小動態調整
# 將預設緩衝池調整為 10,240 頁 (40MB @ 4K頁面)
db2 "ALTER BUFFERPOOL IBMDEFAULTBP SIZE 10240"
# 查看所有緩衝池定義
db2 "SELECT * FROM SYSCAT.BUFFERPOOLS"
- 調整即時生效(記憶體允許前提下),無需重啟。
- 建議依 GETPAGE : 同步讀 比率 科學調大至邊際收益遞減點。
6. 日誌模式切換與處理規範
6.1 兩種模式對照
| 模式 | 參數 | 備份/恢復能力 | 適用環境 |
| 循環日誌 (預設) | LOGCRETAIN=OFF, LOGRETAIN=OFF | 僅離線備份/恢復 | 開發、測試、決策支援、非核心系統 |
| 歸檔日誌 | LOGRETAIN=ON (顯示為 RECOVERY) | 線上備份、前滾恢復、時間點恢復 | 生產核心業務、綜合業務系統 |
6.2 切換至歸檔日誌標準流程
db2 UPDATE DB CFG FOR USING LOGRETAIN ON
- 檢視配置確認
LOGRETAIN = RECOVERY。
- 資料庫進入 Backup Pending 狀態。
- 立即執行離線備份:
db2 BACKUP DB TO /backup/path
- 備份完成 → 狀態恢復正常,可線上備份/前滾恢復。
6.3 歸檔日誌清理規範 (嚴禁 rm 直接刪除)
- 確保應用已停止(聯機已下線)。
db2 GET DB CFG FOR 記錄:
Path to log files (如 /db2log/)
First active log file (如 S0015913.LOG)
- 第一活動日誌檔之前的所有檔案 均為已歸檔、可清理。
- 使用 PRUNE 指令:
db2 "PRUNE HISTORY 20240101 AND DELETE" / "PRUNE LOG FILE PRIOR TO S0015913.LOG"
- 或透過
db2adutl (TSM) 管理歸檔保留策略。
7. 綜合運維檢查清單 (日/週/月)
| 頻率 | 檢查項目 | 關鍵指標/動作 |
| 日 | 實例/資料庫狀態 | db2 LIST ACTIVE DATABASES, db2 GET SNAPSHOT FOR DBM |
| 日 | 鎖/死鎖/應用等待 | db2 GET SNAPSHOT FOR LOCKS ON dbname |
| 日 | 日誌檔案系統使用率 | df -h /db2log < 80% |
| 週 | 緩衝池命中率/同步讀 | db2 GET SNAPSHOT FOR BUFFERPOOLS ON dbname,比率 > 95% |
| 週 | 表/索引重組需求 | REORGCHK_TB_STATS, REORGCHK_IX_STATS |
| 週 | 統計資料新鮮度 | RUNSTATS 最後時間 < 7 天 |
| 月 | 配置參數審視 | 對照效能基線調整 |
| 月 | 授權合規 | db2licm -l |