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

DB2 運維筆記精華:歸檔、不記錄日誌、備份優化與檔案命名規範

     編輯:DB2 教學

五大實戰技巧速查

1. 手動強制歸檔日誌

適用場景:歸檔模式下日誌積壓、備份前確保日誌連續性。

db2 "ARCHIVE LOG FOR DATABASE <db_alias> [USER <user> USING <pwd>] 
  [ON DBPARTITIONNUM <num> | ON ALL DBPARTITIONNUMS]"

參數詳解:ON DBPARTITIONNUM 支援單節點、範圍、排除列表,DPF 環境尤為實用。

2. NOT LOGGED INITIALLY:大量載入的加速器

CREATE TABLE ... NOT LOGGED INITIALLY
ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY

作用:該表後續 INSERT/UPDATE 不產生重做日誌,大幅降低日誌 I/O 與鎖競爭。
警示:僅適用於資料可重建場景(如暫存表、ETL 中繼表),啟用期間發生崩潰將導致該表資料不可恢復,操作完成後自動失效。

3. BLK_LOG_DSK_FUL:防止日誌磁碟滿掛起

預設 NO:活動日誌路徑無空間時回報錯誤,應用掛起。
設 YES:DB2 封鎖新日誌檔建立,應用繼續運行但無法提交事務,待磁碟釋放後自動恢復。
適用於無法立即擴充日誌磁碟、容忍短暫不可提交的非核心系統。

4. 備份效能雙引擎:PARALLELISM 與 BACKBUFSZ

BACKUP DATABASE DB2CERT TO /dev/rmt0
  WITH 2 BUFFERS BUFFER 512 PARALLELISM 2
  • PARALLELISM:平行讀取執行緒數,每執行緒負責一表空間,預設 1。增加可縮短備份窗口,但消耗 CPU/記憶體。
  • BACKBUFSZ / BUFFER:緩衝區大小(4KB 頁為單位),建議為最大 Extent Size 的倍數;多通道時緩衝區數 ≥ 2×通道數,避免等待。

5. 備份檔案命名解碼

格式:SAMPLE.0.db2inst1.NODE0000.CATN0000.20050705103703.001

段落含義範例
資料庫別名1-8 字元SAMPLE
備份類型0=全庫、3=表空間0
實例名1-8 字元db2inst1
節點號DPF 節點編號NODE0000
目錄節點目錄分區節點號CATN0000
時間戳YYYYMMDDHHMMSS20050705103703
序號三位數擴展名001

掌握命名規則有利於自動化備份保留、刪除與跨機還原腳本編寫。

實戰建議清單

  • 歸檔日誌模式下,排程每日強制歸檔配合異地備份
  • ETL 載入暫存表加 NOT LOGGED INITIALLY,載入後 ALTER TABLE ... DEACTIVATE
  • 備份窗口緊張時,先調 PARALLELISM 至 CPU 核心數 50%,再微調 BUFFER
  • 監控 BLK_LOG_DSK_FUL 狀態,避免長時間封鎖導致應用假死
  • 建立備份檔案命名解析函式,整合至監控儀表板
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved