[test@demo ~]$ db2 ? sql0964
SQL0964C The transaction log for the database is full.
Explanation:
All space in the transaction log is being used.
活动日志满一般有下面2种情形:
1.事务特别大,迅速占满日志空间(比如insert非常多数据)
Log file size (4KB) (LOGFILSIZ) = 1024 --->每个日志大小为1024*4K=4M
Number of primary log files (LOGPRIMARY) = 13
Number of secondary log files (LOGSECOND) = 4 ---->主日志+辅日志一共可以17个日志
也就是所如果事务使用日志达4M*17=68M,就会报日志满,大事务酌情调整日志个数或拆分成小事务。
2.事务小,但是是一个非常早的事务,一直没有提交,导致首个活动日志一直是活动状态,不被释放,
那即使后面的事务都提交,也没有用。
1>需要找到拿着首个活动日志的application是哪个。
检查是否打开监控开关db2 get monitor switches,否则打开
[test@demo ~]$ db2 update monitor switches using statement on