1. 程式人生 > >DB2日誌滿解決辦法

DB2日誌滿解決辦法

例如 操作 解決辦法 rim cfg 需要 con 執行 數值

在執行一個大SQL事務時,DB2有時候會報出錯誤:

The transaction log for the database is full.. SQLCODE=-964, SQLSTATE=57011, DRIVER=4.12.79

這個錯誤產生的原因是:

在執行一個大型的SQL事務時,在提交前,數據庫會將執行的內容記入日誌中,方便萬一執行不成功後的回滾。但是日誌大小會有限制,一旦達到了日誌文件的最大上限,但是事務仍然沒有執行完,則會報出上述錯誤。

錯誤的解決方法:

(1)首先連接到DB2數據庫: db2 connect to <DB name> user <username> using <passwd> (2)讀取日誌相關的配置文件 db2 get db cfg for <DB name> | grep LOG (3)涉及日誌大小的變量有以下內容 LOGFILSIZ:單個日誌文件的大小 LOGPRIMARY:主日誌文件個數 LOGSECOND:輔助日誌文件個數 則總日誌大小為:(LOGPRIMARY + LOGSECOND)* LOGFILSIZ * 4KB (4)修改以上三個變量的內容 修改前需要註意幾個事項: a)連接的用戶必須要有DBA權限; b)設置參數值的時候,要考慮到自身硬盤的大小 具體操作指令為: db2 update db cfg for <DB name> using <parametre> <value> 例如:db2 update db cfg for SEAT using LOGFILSIZ 10240

DB2日誌滿解決辦法