DB2報“資料庫日誌已滿”問題解決

guyuanli發表於2012-09-14

用控制中心直接改會比較容易一點,在資料庫名稱上點右鍵--&gt配置--&gt日誌--&gt日誌檔案大小、主

日誌檔案數、輔助日誌檔案數改大一點。

也可用命令列db2cmd

db2 update db cfg for mymakro using LOGFILSIZ 512 --日誌檔案大小

db2 update db cfg for mymakro using LOGPRIMARY 20 --主日誌

db2 update db cfg for mymakro using LOGSECOND5 10 --輔助日誌

要將與此資料庫的所有連線斷開後才會生效。

[@more@]

執行批處理時,DB2 報資料庫的事務日誌已滿的錯誤,解決辦法

輔助日誌檔案的數目 (LOGSECOND) = 25

已更改的至日誌檔案的路徑 (NEWLOGPATH) =

日誌檔案路徑 = D:DB2NODE0000SQL00

003SQLOGDIR

溢位日誌路徑 (OVERFLOWLOGPATH) =

映象日誌路徑 (MIRRORLOGPATH) =

首個活動日誌檔案 = S0000005.LOG

磁碟上已滿的塊日誌 (BLK_LOG_DSK_FUL) = NO

事務使用的最大活動日誌空間的百分比 (MAX_LOG) = 0

1 個活動 UOW 的活動日誌檔案的數目 (NUM_LOG_SPAN) = 0

組落實計數 (MINCOMMIT) = 1

軟檢查點前回收的日誌檔案的百分比 (SOFTMAX) = 100

啟用的恢復的日誌保留 (LOGRETAIN) = RECOVERY

啟用的日誌記錄的使用者出口 (USEREXIT) = OFF

HADR 資料庫角色 = STANDARD

HADR 本地主機名 (HADR_LOCAL_HOST) =

HADR 本地服務名稱 (HADR_LOCAL_SVC) =

HADR 遠端主機名 (HADR_REMOTE_HOST) =

HADR 遠端服務名稱 (HADR_REMOTE_SVC) =

遠端伺服器的 HADR 例項名 (HADR_REMOTE_INST) =

HADR 超時值 (HADR_TIMEOUT) = 120

HADR 日誌寫同步方式 (HADR_SYNCMODE) = NEARSYNC

第一個日誌歸檔方法 (LOGARCHMETH1) = LOGRETAIN

logarchmeth1 的選項 (LOGARCHOPT1) =

第二個日誌歸檔方法 (LOGARCHMETH2) = OFF

logarchmeth2 的選項 (LOGARCHOPT2) =

故障轉移日誌歸檔路徑 (FAILARCHPATH) =

錯誤時重試日誌歸檔次數 (NUMARCHRETRY) = 5

日誌歸檔重試延遲(秒) (ARCHRETRYDELAY) = 20

供應商選項 (VENDOROPT) =

啟用的自動重新啟動 (AUTORESTART) = ON

索引重新建立時間和重做索引構建 (INDEXREC) = SYSTEM (RESTART)

在索引構建期間記錄頁 (LOGINDEXBUILD) = OFF

loadrec 會話的預設數目 (DFT_LOADREC_SES) = 1

要保留的資料庫備份的數目 (NUM_DB_BACKUPS) = 12

恢復歷史保留時間(天數) (REC_HIS_RETENTN) = 366

TSM 管理類 (TSM_MGMTCLASS) =

TSM 節點名 (TSM_NODENAME) =

TSM 所有者 (TSM_OWNER) =

TSM 密碼 (TSM_PASSWORD) =

自動維護 (AUTO_MAINT) = OFF

自動資料庫備份 (AUTO_DB_BACKUP) = OFF

自動錶維護 (AUTO_TBL_MAINT) = OFF

自動 runstats (AUTO_RUNSTATS) = OFF

自動統計資訊概要分析 (AUTO_STATS_PROF) = OFF

自動概要檔案更新 (AUTO_PROF_UPD) = OFF

自動重組 (AUTO_REORG) = OFF

db2 => quit

DB20000I QUIT 命令成功完成。

C:>db2 connect to testdatabase

資料庫連線資訊

資料庫伺服器 = DB2/NT 8.2.4

SQL 授權標識 = ADMINIST...

本地資料庫別名 = TESTDATABASE

connect to testdatabase

資料庫連線資訊

資料庫伺服器 = DB2/NT 8.2.4

SQL 授權標識 = ADMINIST...

本地資料庫別名 = TESTDATABASE

update db cfg for testdatabase using logfilsiz 6000

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 為立即修改而提交的一個或多個引數未動態更改。對於這些配置引數,必須在所

有應用程式都與此資料庫斷開連線之後,更改才會生效。

update db cfg for testdatabase using logprimary 4

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 為立即修改而提交的一個或多個引數未動態更改。對於這些配置引數,必須在所

有應用程式都與此資料庫斷開連線之後,更改才會生效。

update db cfg for testdatabase using logsecond 25

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

C:>db2 ? sql964 (根據錯誤碼檢視錯誤解釋)

SQL0964C資料庫的事務日誌已滿。

解釋:

已使用事務日誌中的所有空間。

若使用具有輔助日誌檔案的迴圈日誌,則嘗試分配和使用這些日誌。當檔案

系統沒有更多空間時,不能使用輔助日誌。

若使用歸檔日誌,則檔案系統不提供空間來包含新日誌檔案。

不能處理該語句。

使用者響應:

在接收到此訊息 (SQLCODE) 時,執行 COMMIT

ROLLBACK,或重試該操作。

若併發應用程式正在更新資料庫,則重試該操作。當另一個應用程式完成事

務時,可能釋放日誌空間。

發出更頻繁的落實操作。若事務還未落實,則當落實事務時,可能會釋放日

志空間。設計應用程式時,應考慮何時落實已更新的事務,以防止日誌已滿

的情況。

若發生死鎖,則更頻繁地檢查它們。這可以透過減小資料庫配置引數

DLCHKTIME 來實現。這將檢測到死鎖,並且很快解決(透過

ROLLBACK),這將釋放日誌空間。

若經常發生這種情況,則增大資料庫配置引數以允許更大的日誌檔案。更大

的日誌檔案需要更多空間,但是減少了應用程式重試該操作的需要。

若正在安裝樣本資料庫,則刪除它並再次安裝樣本資料庫。

sqlcode : -964

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1059420/,如需轉載,請註明出處,否則將追究法律責任。

相關文章