IBM DB2 9.7,無法增加 LOGFILSIZ 或 LOGPRIMARY 值
我正在使用 IBM DB2 9.7 LUW 數據庫。我目前的循環日誌記錄數據庫配置值如下:
LOGFILSIZ: 1024 LOGPRIMARY: 13 LOGSECONDARY: 15
我收到事務日誌已滿的錯誤,因此我需要增加日誌大小。我嘗試了以下方法:
LOGFILSIZ: 4000 LOGPRIMARY: 10 LOGSECONDARY: 20
我還重新啟動了數據庫。
LOGSECONDARY
更改為 20,但仍LOGFILSIZ
保持在 1024 和LOGPRIMARY
13。我是否為我的問題更改了正確的值,為什麼即使我重新啟動了數據庫,這些值也不會改變?
您正在更改正確的參數,但聽起來好像您實際上並沒有重新啟動數據庫,這可以解釋為什麼
LOGSECOND
立即生效,但LOGPRIMARY
尚未LOGFILSIZ
更改。您可以使用命令查看這些配置參數的目前值和延遲(待定)值GET DATABASE CONFIGURATION FOR <yourdb> SHOW DETAIL
。我懷疑你會看到 和 的延遲值LOGPRIMARY
分別LOGFILSIZ
是 10 和 4000。確保完全回收 DB2 數據庫的最簡單方法是停止並重新啟動整個實例(使用
db2stop force
和db2start
命令)。之後,您可以選擇使用該ACTIVATE DATABASE
語句啟動數據庫。不過,您不必關閉整個 DB2 實例。要正確地重新啟動 DB2 數據庫,您必須停用它(即,使數據庫解除分配給它的所有記憶體)。您可以通過終止與數據庫的所有連接(使用該
FORCE APPLICATION
語句)然後(如有必要)發出該DEACTIVATE DATABASE
語句來做到這一點。您可以通過發出命令來驗證數據庫是否已完全停止LIST ACTIVE DATABASES
- 如果您的數據庫不在返回的列表中,則它已停止。在此(或)之後與數據庫的任何新連接
ACTIVATE DATABASE
都將導致 DB2 啟動有問題的數據庫,此時它將使用新參數分配日誌文件。