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

DB2 實戰操作手冊:資深 DBA 分享 10 個高頻維護指令與技巧

     編輯:DB2 教學

資料載入與清理

1. 高效 Load 替代 Delete/Insert

-- 匯出保留資料
EXPORT TO tempfile OF DEL SELECT * FROM TABLENAME WHERE NOT 清理條件;
-- 以無日誌模式載入替換
LOAD FROM tempfile OF DEL MODIFIED BY DELPRIORITYCHAR REPLACE INTO TABLENAME NONRECOVERABLE;

關鍵點:DELPRIORITYCHAR 防止換行符導入失敗;REPLACE 截斷表重載;NONRECOVERABLE 避免日誌爆增。多表可並發 Export 提升效率。

應用程式監控與控制

2. 列出指定資料庫的應用連線

db2 list applications | grep <DB名>

3. 強制中斷指定應用

db2 "force application (app_handle1, app_handle2, ...)"

應用代碼(Agent ID)從 list applications 取得。

4. 監控特定應用執行狀態

db2 get snapshot for application agentid <ID> | grep Row

快速查看該應用處理的資料列數,判斷進度與阻塞。

資料庫配置管理

5. 查看/修改資料庫配置參數

-- 查看
db2 get db cfg for <DB名>
-- 修改(範例:調整日誌參數)
db2 update db cfg using <參數名> <參數值>

實例啟停與鎖定處理

6. 強制停止實例 (db2stop force)

當 db2stop 因資料庫仍啟動而失敗(SQL1025N),使用強制模式:

db2stop force
db2start

之後重新連接資料庫執行 BIND 即可解決套件鎖定問題。

緩衝池與日誌進階管理

7. 調整緩衝池大小

db2 alter bufferpool ibmdefaultbp size 10240
db2 "select * from syscat.bufferpools"

8. 日誌模式切換:循環 vs 歸檔

  • 歸檔日誌 (LOGRETAIN ON):支援線上備份/還原。啟用後資料庫進入 BACKUP PENDING,需執行離線備份才能恢復正常。
  • 循環日誌 (LOGRETAIN OFF):僅支援離線備份,適合非關鍵系統(決策支援、中間業務等)。
db2 update db cfg for <DB> using logretain on
db2 update db cfg for <DB> using logretain off

9. 日誌檔案清理規範

  • 嚴禁使用 OS rm 刪除,必須用 PRUNE HISTORY 或 db2prune。
  • 清理前確保應用已停止(離線狀態)。

總結

這 10 項操作涵蓋資料載入、連線控制、配置調優、實例管理、日誌維護等 DBA 核心職責,熟練掌握可顯著提升事故響應速度與系統穩定性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved