正在用的数据库出现这个错误,现在按照已知的调整方面对数据库参数做了修改后可以正常使用,现在记录下这些修改。


COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/LINUXX8664] SQL0964C The transaction log for the database is full.

这个错误还是第一次遇到,于是记录了解决方法:

解决步骤:

先将事务显式终止:使用commit或rollback命令
db2 rollback
DB20000I  SQL 命令成功完成。
查找当前的日志信息:
db2 get db cfg for ceshi
………………
日志文件大小(4KB)      
(LOGFILSIZ) = 1024         ***************************需要修改
主日志文件的数目                         
(LOGPRIMARY) = 13           ***************************需要修改
辅助日志文件的数目                        
(LOGSECOND) = 4            ***************************(是否要修改根据具体情况而定)
………………
修改相关的参数:
db2 update db cfg for ceshi using LOGFILSIZ 2048
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W  为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。
db2 update db cfg for ceshi using LOGPRIMARY 20
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W  为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。

db2stop force
2007-09-14 14:38:41     0   0   SQL1064N  DB2STOP 处理成功。
SQL1064N  DB2STOP 处理成功。

db2start
2007-09-14 14:38:45     0   0   SQL1063N  DB2START 处理成功。
SQL1063N  DB2START 处理成功。

db2 "delete from aa where  aa_num='2'"

DB21034E  该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0964C  数据库的事务日志已满。  SQLSTATE=57011

db2 update db cfg for ceshi using LOGSECOND 5
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。
db2 get db cfg for ceshi
………………
日志文件大小(4KB)                         (LOGFILSIZ) = 2048
主日志文件的数目                           (LOGPRIMARY) = 20
辅助日志文件的数目                          (LOGSECOND) = 4

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐