1、在數據庫執行SQL語句時,執行不成功,報錯:日志空間已滿(***log full**)的錯誤
解決方法:執行 dump transaction DB_TASK with truncate_only 即可
2、在java項目運行時控制台報錯:Space available in the log segment has fallen critically low in database 'DB_TASK_R11'. All future modifications to this database will be aborted until the log is successfully dumped and space becomes available.
這個時候再用1的方法就不可以了,可以用一下方法:
sp_helpdb 'DB_TASK_R11' -----在【device_fragments】字段查到對應日志文件的名稱,例如:DEV_TASK_LOG01_R11
sp_helpdevice 'DEV_TASK_LOG01_R11' ------查看原來日志文件存儲的物理位置,查看查詢結果的【physical_name】字段 結果為:C:\sybase\data\DEV_TASK_LOG01_R11.dat
disk init name = 'DEV_TASK_LOG02_R11',
physname = 'C:\sybase\data\DEV_TASK_LOG02_R11.dat',
size = '150M', dsync = false
go --------在同樣的物理位置上,參照日志文件1的名字創建日志文件2,大小視數據庫的情況而定,一般不要超過DATA的大小
ALTER DATABASE DB_TASK_R11
log ON DEV_TASK_LOG02_R11 = 150
go ----------將新建的日志掛到對應數據庫上
百度查詢的是需要重啟數據庫才會生效,但是我沒有重啟數據庫,重新運行java的web項目也沒有在報這個錯誤,如果還報錯可以重啟一下數據庫應該就好了。
PS:SELECT COUNT(*) FROM DB_TASK_R11..syslogs ---這個語句可以查看數據庫的日志里面的記錄數