在对DB2数据库进行批量增删的时候, 如果数据量比较大会导致SQL0964N错误, DB2 Knowledge center(http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql00964c.html)对该错误的解释为"The transaction log for the database is full", 即事务日志满. 由于在进行增删操作的时候
DB2命令终端输入: db2 update db cfg for <dbname> using LOGPRIMARY 50 db2 update db cfg for <dbname> using LOGSECOND 20 db2 update db cfg for <dbname> using LOGFILSIZ 10240
在DB2中最早的recovery时间点,是由minBuffLsn 和 lowTranLsn 的最小值决定的. minBuffLsn: represents the oldest change to a page in the buffer pool that has not been written and persisted to disk yet. lowTranLsn: represents the oldest active uncommitted transaction (specif
DB2的日志分为两种模式,日志循环与归档日志,也就是非归档和归档模式.下面就具体介绍一下这两种方式以及和备份归档设置的关系. 一.日志循环 这是默认方式,也就是非归档模式,这种模式只支持(backup offline)脱机备份,在备份过程中需要DB2停止服务. 在DB2中查看数据库设置,如发现如下信息 $db2 get db cfg for db_name |grep -i log 结果如下: Log retain for recovery enabled ( LOGRETAIN) = OFF
概述 事务是数据库系统中的核心概念之一.作为数据库系统的逻辑工作单元(Unit of Work),事务必须具有四个属性,即原子性.一致性.隔离性和持久性(ACID).数据库系统往往通过锁机制保证事务的隔离性,通过日志机制保证事务的持久性.应用程序可以通过启动.提交.回滚等操作来控制一个事务的执行与停止.从应用的角度来看,一个事务往往对应一系列紧密关联的用户操作,例如银行系统中的存款.转账等.对于用户而言,提交一个事务相当于完成某种交易行为,因此执行一个事务前后跨越的时间是影响用户体验的因素之一.
DB2在执行一个大的insert/update操作的时候报"The transaction log for the database is full.. "错误,查了一下文档是DB2的日志文件满了的缘故. 首先执行以下命令来查看DB2的日志配置信息 $ db2 get db cfg | grep LOG 注意当中的以下配置项 Log file size (4KB) (LOGFILSIZ) = 1024 Number of primary log files (LOGPRIMARY) =