zoukankan      html  css  js  c++  java
  • Sybase数据库截断和清空日志的方法

     今天碰到一个奇怪的问题,当我打开应用程序的时候,开始的时候鼠标图标还显示程序正在启动,可是一会后,就没有任何反应了。重复了N多次都是这样,后来发现,每次打开应用程序的时候,任务管理器中都会相应的多一个进程,但程序界面死活不出现。我检查了我能想到的可能出问题的每一个环节,包括Sybase数据库、配置的IP、网络等等,但终究都无济于事。最后,无奈之下只能打客服了。果然,解铃还须系铃人,当我把我的问题描述了一下,技术人员立马给我指出了问题之所在。原来不是程序的问题,而是Sybase数据库日志空间满了,无法继续再执行操作了。(好吧,这都可以)


    下面就详细介绍一下截断和清空日志的方法。在做截断操作之前,建议大家先为数据库做个备份。详情请参考:Sybase数据库的备份和还原


    第一步:设定Sybase数据库自动截断日志:

    方法一:

    isql -Usa -Ppassword -Ssybaseserver
    >sp_dboption database_name,"trunc log on chkpt",true
    >go
    >checkpoint
    >go

    方法二:在sybase central 数据库属性对话框的选项页中选择“在检查点上截断日志”项。如下图:



    第二步:清空日志:

    方法一:

    >dump transaction database_name with truncate_only
    >go

    通常删除事务日志中不活跃的部分可使用“dumptransaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。

    方法二:

    >dump transaction databasename with no_log
    >go

    SYBASE提供“dumptransaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。

    到此为止,问题就解决了,你可以查看一下数据库日志文件的空间利用情况。

  • 相关阅读:
    蛋疼的时候写三消游戏(十一) 圆形时钟
    C# 中的volatile关键字 (我今天才知道)
    第十四周助教总结
    第十周助教总结
    第十二周助教总结
    C语言I博客作业04
    C语言I博客作业05
    C语言I博客作业02
    第十一周助教总结
    第十三周助教总结
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3157473.html
Copyright © 2011-2022 走看看