li
  当前位置:主页 > 问题集锦 > 文章内容
li
SQL0964C The transaction log for the database is full
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-06-20   阅读:7  
本文章共2025字,分2页,当前第1页,快速翻页:
 

SQL0964C The transaction log for the database is full.
这个错误说明事务日志已满,查到一些解决方法:


方法一:命令行方式
把日志文件的大小和日志文件的数量扩充,如下命令
db2 update db cfg for DATABASE using LOGFILSIZ 7900
db2 update db cfg for DATABASE using LOGPRIMARY 30
db2 update db cfg for DATABASE using LOGSECOND 20

方法二:控制中心方式。
直接在该数据库上右键,弹出如下窗口,找到 Configure Dababase Logging Wizard,打开即可设置。

ibm
官方说明:
Too many objects have been loaded into the library server and the transaction to delete rows in the library server transaction tracking table is overfilling the DB2® UDB transaction logs.

Workaround:
1. Stop the migrator process.
2. Stop all the DB2 UDB applications. The DB2 UDB command to stop all the applications is: db2 force applications all
3. Change the number of secondary log files in the DB2 UDB database configuration to a greater number such as 100 (default is 20).
4. To see the database configuration settings, enter the following command in a DB2 UDB command window: db2 get db cfg
5. To update the number of secondary log files to 100, enter the following: db2 command db2 update dbm cfg using LOGSECOND=100
6. Start the migrator process.
The error message should now not be appearing in the library server log, and the transaction to delete rows in the library server transaction tracking table should be successful.

有关日志文件的参数有如下几个:
Logprimary
:主日志文件的个数;最大为为65536(页数)×4k(块大小);

IXDBA.NET技术社区
Logfilsz
:每个日志文件的大小;最多不超过256
Logsecond
:第二日志文件的个数;最大不超过254;辅助日志文件在需要时分配,不再使用时系统收回。

平常只使用Logprimary的个数个日志文件,当主日志文件被用完,则启用第二日志文件个数个日志文件。如果都用光了系统就会报日志满错误。

而所谓循环日志方式,是指对主日志文件的循环利用,但是要注意,日志文件的大小必须要满最大单个事务的数据容量需求。因为在一个事务写日志的过程中是不允许循环使用的,平常最好配置到,只使用主日志,不使用第二日志,最好让数据库一天写满一个到两个日志文件。

另外,还有种方法是设置不写日志,即ALTER TABLE A ACTIVATE NOT LOGGED INITIALLY,但是据说这种方法可能会出问题,而且一旦出问题,只能DROP TABLE,无法补救。所以这种方法还是不用了。

补充:
DB2
事务日志摘要

事务是逻辑工作单元。每一个事务在事务日记文件中都存储有相应的日志记录。每个事务都有一个相应的 Redo Log 条目。Redo Log 条目将写入当前的活动日志文件。当活动日志文件变满时,它将被标记为 unavailable。此时,DB2将接着此活动日志文件另外创建一个日志文件,并继续在其中写入日志条目。当前活动日志文件变满时,DB2 将重复这一循环过程。当事务完成后(发起 COMMIT ROLLBACK 语句),相应的日志条目将被释放,因为不再需要将它们用于恢复数据库。

  DB2 将一直尝试将日志条目写入主要日志文件集,也就是数据库活动时间自动分配的日志文件。如果某个事务将所有主要日志文件消耗怠尽(所有主要日志文件都被标记为 unavailable),则数据库管理员将分配一个次要日志文件。当这个文件变满时,数据库管理员将再次检查主要日志文件的状态是否为 unavailable。如果是,则再分配一个次要日志文件并继续在其中写入条目。该过程将不断重复,直到所有次要日志文件都分配并写满。如果没有主要日志文件可供写入



阅读更多内容1 · 2 · 下一页>>


  上一篇: (13)Permission denied: make_so...   下一篇: delete删除大表:SQL0964C The tr...
li
 §相关评论  
 热点文章

·IT168技术卓越奖年会北京召开在
·No space left on device: mod
·shm.create(): error creating
·mysql占用cpu特别高问题的解决
·Can't locate Mail/Send.pm in
·Allowed memory size of 83886
·overwritten -- Unclean shutd
·Apache重启失败:name-based s
·(13)Permission denied: make_
·SQL0964C The transaction log
·delete删除大表:SQL0964C The
li
 编辑推荐
·IT168技术卓越奖年会北京召开在
·No space left on device: mod
·shm.create(): error creating
·mysql占用cpu特别高问题的解决
·Can't locate Mail/Send.pm in
·Allowed memory size of 83886
·overwritten -- Unclean shutd
·Apache重启失败:name-based s
·(13)Permission denied: make_
·SQL0964C The transaction log
·delete删除大表:SQL0964C The
li
 相关篇章
·(13)Permission denied: make_so...
·Apache重启失败:name-based sha...
·overwritten -- Unclean shutdow...
·Allowed memory size of 8388608...
·Can't locate Mail/Send.pm in @...
·mysql占用cpu特别高问题的解决方...
·shm.create(): error creating s...
·No space left on device: mod_r...
·问题小结:Linux下oracle常见安装...
·光纤网卡和HBA卡有什么区别 ?
·delete删除大表:SQL0964C The tr...
·mysql ERROR 1016 (HY000): Can'...
·[Microsoft][SQLServer 2000 Dri...
·message: 用户 'sa' 登录失败。原...
·关于ip_conntrack: table full, ...
·linux图形界面连接工具nxserver过...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接