首页 > 数据库 > 数据库开发技术 > 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 --辅助日志
要将与此数据库的所有连接断开后才会生效。
执行批处理时,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),这将释放日志空间。
若经常发生这种情况,则增大数据库配置参数以允许更大的日志文件。更大
的日志文件需要更多空间,但是减少了应用程序重试该操作的需要。
若正在安装样本数据库,则删除它并再次安装样本数据库。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7490392/viewspace-1059420/ ,如需转载,请注明出处,否则将追究法律责任。