DB2報“數據庫日志已滿”問題解決


用控制中心直接改會比較容易一點,在數據庫名稱上點右鍵-->配置-->日志-->日志文件大小、主日志文件數、輔助日志文件數改大一點。

也可用命令行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),這將釋放日志空間。若經常發生這種情況,則增大數據庫配置參數以允許更大的日志文件。更大的日志文件需要更多空間,但是減少了應用程序重試該操作的需要。若正在安裝樣本數據庫,則刪除它並再次安裝樣本數據庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM