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

DB2 日常運維實用操作手冊:Load 裝載、應用管理、配置調整、日誌處理與緩衝池調優

     編輯:DB2 教學

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 切換至歸檔日誌標準流程

  1. db2 UPDATE DB CFG FOR USING LOGRETAIN ON
  2. 檢視配置確認 LOGRETAIN = RECOVERY。
  3. 資料庫進入 Backup Pending 狀態。
  4. 立即執行離線備份:db2 BACKUP DB TO /backup/path
  5. 備份完成 → 狀態恢復正常,可線上備份/前滾恢復。

6.3 歸檔日誌清理規範 (嚴禁 rm 直接刪除)

  1. 確保應用已停止(聯機已下線)。
  2. db2 GET DB CFG FOR 記錄:
    • Path to log files (如 /db2log/)
    • First active log file (如 S0015913.LOG)
  3. 第一活動日誌檔之前的所有檔案 均為已歸檔、可清理。
  4. 使用 PRUNE 指令:
    db2 "PRUNE HISTORY 20240101 AND DELETE" / "PRUNE LOG FILE PRIOR TO S0015913.LOG"
  5. 或透過 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
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved