问题:
Db2中,执行SELECT 语句导致事务日志满,报出以下错误:
SQL0964C
The transaction log for the database is full.
分析:
一般而言,SELECT语句不会使用事务日志,不会导致日志满。但在索引失效的情况下,访问表的时候就会自动重建索引,这种情况下,如果数据库配置参数LOGINDEXBUILD设置为ON(默认值为OFF),那么重建索引的操作就会记录到日志中,就由可能导致日志满。诊断起来也很容易,只需要看一下db2diag.log中是否有重建索引的消息,并检查一下LOGINDEXBUILD是否为ON。
参考资料:
logindexbuild - Log index pages created configuration parameter