【DB2】數據庫的事務日志已滿。SQLSTATE=57011


問題描述

image

在使用數據庫的時候報錯如上圖,我們先使用db2 get db cfg for sample查看相關配置參數,其中sample為數據庫名稱

C:\Users\Thinkpad>db2 get db cfg for sample

       數據庫 sample 的數據庫配置

數據庫配置發行版級別                                    = 0x1400
數據庫發行版級別                                        = 0x1400

數據庫地域                                              = CN
數據庫代碼頁                                            = 1208
數據庫代碼集                                            = UTF-8
數據庫國家/地區代碼                                     = 86
數據庫整理順序                                          = IDENTITY
備用整理順序                              (ALT_COLLATE) =
數字兼容性                                              = OFF
Varchar2 兼容性                                         = OFF
日期兼容性                                              = OFF
數據庫頁大小                                            = 8192

語句集中器                                  (STMT_CONC) = OFF

對此數據庫的發現支持                      (DISCOVER_DB) = ENABLE

限制訪問                                                = NO
缺省查詢優化類                           (DFT_QUERYOPT) = 5
並行度                                     (DFT_DEGREE) = 1
在算術異常時繼續                      (DFT_SQLMATHWARN) = NO
缺省刷新有效期                        (DFT_REFRESH_AGE) = 0
缺省維護的選項(DFT_MTTB_TYPES)的表類型                = SYSTEM
保留的高頻值的數目                     (NUM_FREQVALUES) = 10
保留的分位點數目                        (NUM_QUANTILES) = 20

十進制浮點舍入方式                    (DECFLT_ROUNDING) = ROUND_HALF_EVEN

十進制運算方式                         (DEC_ARITHMETIC) =

備份暫掛                                                = NO

已將所有已落實的事務寫入磁盤                            = NO
前滾暫掛                                                = NO
復原暫掛                                                = NO

升級暫掛                                         = NO

啟用的多頁文件分配                                      = YES

恢復狀態的日志保留                                      = NO
日志記錄狀態的用戶出口                                  = NO

自調整內存                            (SELF_TUNING_MEM) = OFF
數據庫共享內存大小 (4KB)              (DATABASE_MEMORY) = AUTOMATIC(76032)
數據庫內存閾值                          (DB_MEM_THRESH) = 100
鎖定列表的最大存儲量 (4KB)                    (LOCKLIST) = 4096
每個應用程序的鎖定百分比列表                 (MAXLOCKS) = 22
程序包高速緩存大小 (4KB)                   (PCKCACHESZ) = (MAXAPPLS*8)
共享排序的排序堆域值 (4KB)             (SHEAPTHRES_SHR) = 5000
排序列表堆 (4KB)                             (SORTHEAP) = 256

數據庫堆 (4KB)                                 (DBHEAP) = AUTOMATIC(600)
目錄高速緩存大小 (4KB)                (CATALOGCACHE_SZ) = (MAXAPPLS*5)
日志緩沖區大小 (4KB)                          (LOGBUFSZ) = 256
實用程序堆大小 (4KB)                     (UTIL_HEAP_SZ) = AUTOMATIC(5000)
SQL 語句堆 (4KB)                             (STMTHEAP) = AUTOMATIC(8192)
缺省應用程序堆 (4KB)                       (APPLHEAPSZ) = AUTOMATIC(256)
應用程序內存大小 (4KB)                 (APPL_MEMORY) = AUTOMATIC(40000)
統計信息堆大小 (4KB)                     (STAT_HEAP_SZ) = AUTOMATIC(4384)

檢查死鎖的時間間隔(毫秒)                  (DLCHKTIME) = 10000
鎖定超時(秒)                             (LOCKTIMEOUT) = -1

更改的頁閾值                           (CHNGPGS_THRESH) = 60
異步頁清除程序的數目                   (NUM_IOCLEANERS) = AUTOMATIC(2)
I/O 服務器的數目                        (NUM_IOSERVERS) = AUTOMATIC(12)
順序檢測標志                                (SEQDETECT) = YES
缺省預取大小(頁)                    (DFT_PREFETCH_SZ) = AUTOMATIC

跟蹤修改的頁數                               (TRACKMOD) = NO

容器的缺省數目                                          = 1
缺省表空間擴展數據塊大小(頁)            (DFT_EXTENT_SZ) = 32

最大活動應用程序數                           (MAXAPPLS) = AUTOMATIC(40)
活動應用程序的平均數目                      (AVG_APPLS) = AUTOMATIC(1)
每個應用程序的最大打開數據庫文件數           (MAXFILOP) = 65535

日志文件大小 (4KB)                          (LOGFILSIZ) = 1000
主日志文件的數目                           (LOGPRIMARY) = 3
輔助日志文件的數目                          (LOGSECOND) = 10

已更改的至日志文件的路徑                   (NEWLOGPATH) =
日志文件路徑                                            = C:\DB2\NODE0000\SQL00001\LOGSTREAM0000\
溢出日志路徑                          (OVERFLOWLOGPATH) =
鏡像日志路徑                            (MIRRORLOGPATH) =
首個活動日志文件                                        =
磁盤上已滿的塊日志                    (BLK_LOG_DSK_FUL) = NO
非記錄塊操作                          (BLOCKNONLOGGED) = NO
事務使用的最大主日志空間的百分比        (MAX_LOG)= 0
1 個活動 UOW 的活動日志文件的數目        (NUM_LOG_SPAN) = 0

軟檢查點前回收的日志文件的百分比              (SOFTMAX) = 0
LBP 中最舊頁面的目標       (PAGE_AGE_TRGT_MCR) = 240

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_TARGET_LIST) =
HADR 日志寫同步方式                      (HADR_SYNCMODE) = NEARSYNC
HADR 假脫機日志數據限制 (4KB)        (HADR_SPOOL_LIMIT) = AUTOMATIC(0)
HADR 日志重放延遲(秒)     (HADR_REPLAY_DELAY) = 0
HADR 對等窗口持續時間(秒)           (HADR_PEER_WINDOW) = 0

第一個日志歸檔方法                        (LOGARCHMETH1) = OFF
logarchmeth1 的歸檔壓縮   (LOGARCHCOMPR1) = OFF
logarchmeth1 的選項                        (LOGARCHOPT1) =
第二個日志歸檔方法                        (LOGARCHMETH2) = OFF
logarchmeth2 的歸檔壓縮   (LOGARCHCOMPR2) = 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
自動刪除恢復對象                     (AUTO_DEL_REC_OBJ) = OFF

TSM 管理類                              (TSM_MGMTCLASS) =
TSM 節點名                               (TSM_NODENAME) =
TSM 所有者                                  (TSM_OWNER) =
TSM 密碼                                 (TSM_PASSWORD) =

自動維護                                   (AUTO_MAINT) = ON
   自動數據庫備份                       (AUTO_DB_BACKUP) = OFF
   自動表維護                           (AUTO_TBL_MAINT) = ON
     自動 runstats                       (AUTO_RUNSTATS) = ON
       實時統計信息                    (AUTO_STMT_STATS) = ON
       統計視圖                   (AUTO_STATS_VIEWS) = OFF
       自動采樣                (AUTO_SAMPLING) = ON
     自動重組                               (AUTO_REORG) = OFF

自動重新驗證                               (AUTO_REVAL) = DEFERRED

當前已落實                                   (CUR_COMMIT) = ON
帶有 DECIMAL 輸入的 CHAR 輸出         (DEC_TO_CHAR_FMT) = NEW
啟用 XML 字符操作                      (ENABLE_XMLCHAR) = YES
監視器收集設置
請求度量值                            (MON_REQ_METRICS) = BASE
活動度量值                            (MON_ACT_METRICS) = BASE
對象度量值                            (MON_OBJ_METRICS) = EXTENDED
例程數據                                 (MON_RTN_DATA) = NONE
   例程可執行文件列表                 (MON_RTN_EXECLIST) = OFF
工作單元事件數                           (MON_UOW_DATA) = NONE
   帶軟件包列表的 UOW 事件             (MON_UOW_PKGLIST) = OFF
   帶可執行文件列表的 UOW 事件        (MON_UOW_EXECLIST) = OFF
鎖定超時事件數                        (MON_LOCKTIMEOUT) = NONE
死鎖事件數                               (MON_DEADLOCK) = WITHOUT_HIST
鎖定等待事件數                           (MON_LOCKWAIT) = NONE
鎖定等待事件閾值                        (MON_LW_THRESH) = 5000000
軟件包列表條目數目                     (MON_PKGLIST_SZ) = 32
鎖定事件通知級別                      (MON_LCK_MSG_LVL) = 1

SMTP 服務器                               (SMTP_SERVER) =
SQL 條件編譯標志                          (SQL_CCFLAGS) =
部分實際值設置                         SECTION_ACTUALS) = NONE
連接過程                                 (CONNECT_PROC) =
調整臨時 SYSTEM_TIME 時間段        (SYSTIME_PERIOD_ADJ) = NO
日志 DDL 語句                           (LOG_DDL_STMTS) = NO
日志應用程序信息                        (LOG_APPL_INFO) = NO
新模式的缺省數據捕獲                  (DFT_SCHEMAS_DCC) = NO
對 EXTBL_LOCATION 的嚴格 I/O             (EXTBL_STRICT_IO) = NO
外部表的允許路徑                       (EXTBL_LOCATION) = C:
缺省表組織                              (DFT_TABLE_ORG) = ROW
缺省字符串單元                           (STRING_UNITS) = SYSTEM
本地字符串映射                          (NCHAR_MAPPING) = CHAR_CU32
數據庫處於寫入暫掛狀態                                  = NO
擴展行大小支持                        (EXTENDED_ROW_SZ) = ENABLE
Backup 的加密庫                 (ENCRLIB) =
Backup 的加密選項                (ENCROPTS) =

WLM 收集時間間隔(分鍾)              (WLM_COLLECT_INT) = 0
每個 CPU 核心的目標代理程序負載    (WLM_AGENT_LOAD_TRGT) = AUTOMATIC(12)
已啟用 WLM 許可控制      (WLM_ADMISSION_CTRL) = NO
已分配的 CPU 資源份額       (WLM_CPU_SHARES) = 1000
CPU 共享行為(硬/軟)     (WLM_CPU_SHARE_MODE) = HARD
最大允許 CPU 使用率 (%)   (WLM_CPU_LIMIT) = 0
已加密數據庫                                      = NO
過程化語言堆棧跟蹤        (PL_STACK_TRACE) = NONE
HADR SSL 證書標簽             (HADR_SSL_LABEL) =

 

解決方法

C:\Users\Thinkpad>db2 update db cfg for sample using LOGFILSIZ 8096
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

C:\Users\Thinkpad>db2 update db cfg for sample using LOGPRIMARY 20                                                                                      
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

C:\Users\Thinkpad>db2 update db cfg for sample using LOGSECOND 15
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

 

設置完畢后,重啟數據庫參數即可生效;

特別說明:

①調整的順序,為減少對應用的影響,建議先從logsecond參數着手,因為logsecond是按需分配,當不需要的時候DB2會考慮回收,不會造成空間浪費,而且
logsecond參數修改會立即生效,不需要斷開連接,不會對業務造成中斷影響logprimary+logsecond參數的值不超過255,如果增加了logsecond仍然不能
解決問題,可以考慮修改logpriimary和logfilsiz大小,但是這兩個參數設置后需要重啟數據庫才生效

②總事務日志容量大小=(LOGPRIMARY+LOGSECOND)*LOGFILSIZ*4k

 


免責聲明!

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



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