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

DB2 循環日誌與歸檔日誌模式深度解析與切換實戰

     編輯:DB2 教學

兩種日誌模式核心差異

特性循環日誌(預設)歸檔日誌
日誌檔重用是,空間循環覆寫否,標記非作用但保留
時間點恢復不支援支援(完整備份+日誌前滾)
適用場景測試、可重載資料、不需 PITR生產、需 PITR、高可用

日誌空間分配機制

  • 主日誌檔 (LOGPRIMARY):啟動時預先配置。
  • 次要日誌檔 (LOGSECOND):主日誌耗盡時動態分配,運行期配置較耗資源。
  • 錯誤 SQL0964C:主+次日誌皆滿,交易失敗。

建議:依最大交易量設定 LOGPRIMARY,將 LOGSECOND 降至最低。

循環日誌運作

所有交易寫入主日誌,當日誌不再需恢復時標記為可重用,內容最終被覆寫。僅能恢復至最近一次完整備份。

歸檔日誌運作

日誌寫滿後不重用,改標記為「非作用」,永久保留。配合完整備份可執行時間點恢復(Rollforward)。長交易可能觸發次要日誌分配。

從循環切換至歸檔步驟

  1. 建立歸檔目錄(如 e:\db_name\archive),確保空間充足且與作用日誌目錄分離。
  2. TERMINATE 斷開所有連線。
  3. UPDATE DB CFG FOR db_name USING LOGARCHMETH1 "Disk:e:\db_name\archive" 啟用歸檔。
  4. CONNECT TO db_name → 會報 SQL1116N backup pending。
  5. BACKUP DATABASE db_name TO d:\db_name\backup 執行完整備份。
  6. 再次 CONNECT TO db_name 成功,模式切換完成。

常見誤區提醒

  • 切換模式後必須重新完整備份,舊備份不可用於前滾。
  • 勿手動刪除作用日誌檔,會導致資料庫掛掛。
  • 歸檔模式下若磁碟滿,視 BLK_LOG_DSK_FUL 參數決定是掛起寫入或整庫停擺。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved