转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
为什么有时候数据库事务日志满了,不能截断日志?         ★★★★

为什么有时候数据库事务日志满了,不能截断日志?

作者:闵涛 文章来源:闵涛的学习笔记 点击数:719 更新时间:2009/4/22 23:09:53

有两种情况,可能出现这个问题。一是应用系统给SQL Server发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。二是客户端向SQL Server发送了一个修改数量大的事务,清日志时,该事务还正在执行之中,此事务所涉及的日志只能等到事务结束后,才能被截掉。

  对于第一种情况,只要督促用户退出应用或者提交事务,系统管理员便可清掉日志。因为给SQL Server发送Dump transaction with no-log或者with truncate-only,它截掉事务日志的非活跃部分。所谓非活跃部分是指服务器检查点之间的所有已提交或回退的事务。而从最早的未提交的事务到最近的日志记录之间的事务日志记录被称为活跃的。从此可以看明,打开的事务能致使日志上涨,因为在最早活跃事务之后的日志不能被截除。

  对于第二种情况,道理也同上。只是在处理它时,需慎重从事。如果这个大事务已运行较长时间,应尽量想法扩大数据库日志空间,保证该事务正常结束。若该事务被强行回滚,SQL Server需要做大量的处理工作,往往是正向执行时间的几倍,系统恢复时间长,可能会影响正常使用的时间。

 jazy 回复于:2003-01-14 13:29:49 好,很精辟!
我觉得这种帖子很好,不只是问问题,而是把自己的经验总结出来和大家分享!!让我们大家一起向月兄学习!!

 eastyan 回复于:2003-01-15 09:41:09 支持!

 m11andyov 回复于:2003-01-15 12:08:22 建议大家经后处理了什么问题后,可以贴上来,共同讨论以下吗!

 坏蛋 回复于:2003-01-16 17:28:51 如果截断时事务没有完成,该事务的日志是不被截断的。比如数据库设置的自动清日志选项,而你提交了一个打的事务把整个日志库填满了,这时无论你怎么截断日志都是徒劳的,你需要其它的处理手段来解决这种问题。

 jazy 回复于:2003-01-16 20:44:40 这种极端情况还是有可能得,所以,还是要充分估计日志空间的分配!!

 jazy 回复于:2003-01-18 09:48:12 希望hawker有时间的话,发一些关于复制方面的贴子,我想有很多人对此感兴趣的!

 hawker 回复于:2003-01-17 23:51:23 如果你的数据库使用了复制技术,那么会存在第二截断点问题,如果复制进程由于某种原因无法正常工作,那么会导致ASE的日志充满的问题,你可以使用下面的命令来忽略第二截断点,但是这样做的时候,会导致复制数据不能同步,需要手工同步
dbcc settrunc (ltm, ignore)
go
dump tran database_name with truncate_only
go

 bluetune 回复于:2003-01-27 11:14:13 一点补充:
如果由于强行回滚事务被意外中止,会造成数据不一致,需手工使其一致。

 yefat 回复于:2003-01-27 09:52:01 这三个东西 看似效果一致但是 有明显差异的
截断有没有建立 检查点 要不要备份

 ulingjcj 回复于:2003-01-27 08:39:34 我曾经碰到一个怪问题!
事务早就完成了,但是日志一直清不了!
要等6,7小时甚至10小时才清掉!

 tchatcha 回复于:2003-01-26 09:19:12 收藏 

 lee2223 回复于:2003-05-05 16:08:06 一点补充:如果出现你提交了一个打的事务把整个日志库填满了,这时无论你怎么截断日志都是徒劳时,可以有三种办法解决。
1.重启数据库(最笨的但最有效的),但肯定会有REDO和UNDO恢复时间长。
2.给数据库日志加空间,但必须有足够的空间。
3.找出执行大事物SESSION的ID,KILL它,但也会回滚,而且不定可以KILL得掉。

这是我在工作中总结出来的,望大家指正。

 lodi 回复于:2003-05-18 20:22:52 sybase12.5 for win 我想扩大master的空间,我选右键数据库属性,在设备上添加数据和日志空间,可是

显示“Cannot extend the MASTER database onto any device other than 'master'. The ALTER DATABASE was aborted"

不能添加数据和日志空间。只是原来的6M大小

 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台