[quote]SQL0964C 数据库的事务日志已满。 [/quote]
出现 LDAP 或 DB2 错误消息,指出数据库的事务日志已满。
原因:LOGFILSIZ_DB2 参数设置得太低。
环境:
产品:DB2 UDB
平台:跨平台
版本:8
问题描述:
DB2 使用的活动日志的最大空间是由下面公式:
(logprimary + logsecond) * logfilsiz * 4096
计算出的大小来决定的(logprimary,logsecond,logfilsiz是数据库配置参数)。若该空
间已全部被分配,而应用仍试图请求更多活动日志空间时,就会发生日志满的情况,此时,
用户的更新、删除或插入操作都会使 DB2DIAG.LOG 中写入以下信息:
SQL0964C 数据库的事务日志已满。
DB2 活动日志满通常是由于存在大量未提交事务的数据,使得活动日志的空间不能及时释放
,使新的事务无法申请到可用日志空间,而最终报出 SQL0964C 的错误所致。为使应用程序
成功运行,而不是被回滚,通常会考虑根据情况选择增大以上公式中的某些数据库参数,以
增大活动日志空间来解决这一问题。
解决方案:使用以下命令创建 LOGFILSIZ_DB2 参数:
Database name 为你的数据库实例名称,LOGFILSIZE的值可以根据自己的实际情况进行相应的调整。
出现 LDAP 或 DB2 错误消息,指出数据库的事务日志已满。
原因:LOGFILSIZ_DB2 参数设置得太低。
环境:
产品:DB2 UDB
平台:跨平台
版本:8
问题描述:
DB2 使用的活动日志的最大空间是由下面公式:
(logprimary + logsecond) * logfilsiz * 4096
计算出的大小来决定的(logprimary,logsecond,logfilsiz是数据库配置参数)。若该空
间已全部被分配,而应用仍试图请求更多活动日志空间时,就会发生日志满的情况,此时,
用户的更新、删除或插入操作都会使 DB2DIAG.LOG 中写入以下信息:
SQL0964C 数据库的事务日志已满。
DB2 活动日志满通常是由于存在大量未提交事务的数据,使得活动日志的空间不能及时释放
,使新的事务无法申请到可用日志空间,而最终报出 SQL0964C 的错误所致。为使应用程序
成功运行,而不是被回滚,通常会考虑根据情况选择增大以上公式中的某些数据库参数,以
增大活动日志空间来解决这一问题。
解决方案:使用以下命令创建 LOGFILSIZ_DB2 参数:
db2 update database configuration for [database name] using LOGFILSIZ 10000
确保 DB2 实例所有者的主目录中有足够的文件空间。
Database name 为你的数据库实例名称,LOGFILSIZE的值可以根据自己的实际情况进行相应的调整。