DB2数据库日志
terminate force application all //强行终止所有连接
terminate //清除所有db2的后台进程
在db2ic中可查到相关详细信息
数据库为db2数据库,在delete删除一张较大的表时,出现如下报错:
db2 "select count(*) from fix.fix_entrust"
1
-----------
999999
1 record(s) selected.
db2 "delete from fix.fix_entrust"
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0964C The transaction log for the database is full. SQLSTATE=57011
解决步骤:
先将事务显式终止:使用commit或rollback命令
db2 rollback
DB20000I SQL 命令成功完成。
查找当前的日志信息:
db2 get db cfg for ksdbs
………………
日志文件大小(4KB)
(LOGFILSIZ) = 1000 ***************************需要修改
主日志文件的数目
(LOGPRIMARY) = 3 ***************************需要修改
辅助日志文件的数目
(LOGSECOND) = 2 ***************************(是否要修改根据具体情况而定)
………………
修改相关的参数:
db2 update db cfg for ksdbs using LOGFILSIZ 2048
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。
db2 update db cfg for ksdbs using LOGPRIMARY 20
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。
db2 update db cfg for ksdbs using LOGSECOND 5
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。
db2 get db cfg for ksdbs
………………
日志文件大小(4KB) (LOGFILSIZ) = 2048
主日志文件的数目 (LOGPRIMARY) = 20
辅助日志文件的数目 (LOGSECOND) = 5
………………
db2 "delete from fix.fix_entrust"
DB20000I SQL 命令成功完成。