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會彈出一條警告信息。

 

到此為止,問題就解決了,你可以查看一下數據庫日志文件的空間利用情況。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM