用一个实际案例讲解Sybase数据库日志截断

  • 来源: 赛迪网 作者: 若水   2008-05-07/10:16
  •        案例:客户来电反映,系统崩溃,业务骤停。赶到现场后发现IBM 560正在运行,经询问后得知Sybase客户端无法连接。
    解决过程:进系统,进数据库SP_WHO,发现全是SEELP。再看Sybase日志,原来日志已满.再这里可以使用简单快捷的"dump transaction database_name with no_log"来解决此问题,本文中我们将介绍两外两种解决方法。
    处理方法有两个:
    1.截断日志
    2.添加日志空间
    当下又不敢贸然截断日志,天知道他们在做些什么事务,还是给他们添加日志空间先再说.
    建LV 并修改属性
    mklv log_lv3 rootvg 3
    chown sybase:sybase /dev/*log_lv3
    建SYBASE设备并添加日志空间
    1> disk init name="dev_log03",physname="/dev/log_lv3",vdevno=21,size=1024000
    2> go
    1> alter database xxxx log on dev_log03 = "2000M"
    2> go
    添加完之后再用SP_WHO一看,一切正常。
    下面需要考虑日志为什么会满。开始检查并设置日志截断,先用sp_helpdb看一下,原来@#$%^状态是no options set,所以才会出现此现象,最后做如下设置即可。
    use master
    go
    sp_dboption database name,trunc,true
    go
    use database name
    go
    checkpoint
    go

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多