问题再现
在DB2数据库执行update操作时,数据库提示“The transaction log for the database is full”。
解决
根据控制台输出可以知晓sql语句执行失败是由于事务日志所在目录满了导致,清理掉该目录下的事务日志即可。
那事务日志所在目录是哪呢?
db2 get db cfg for <dbname>
执行上述命令,从控制台输出查找“Path to log files”,后面的值即为日志目录。
知识点
DB2数据库主要有以下两类日志:
- 实例日志。在sqllib/db2dump/db2diag.log,记录起停、出错警告信息。
- 事务日志。通过db2 get db cfg for <dbname>,即可找到日志目录。