我正在使用Sybase ASE(遷移到15.7)數據清除實用程序以供多個表/數據庫用於刪除大量不需要的舊數據。我計劃在每天中午12:00至凌晨3:00以及凌晨3:00之後安排,它應該在第二天中午12點睡覺醒來並繼續清洗。該標準不會影響用戶。Sybase ASE數據清除批處理 - waitfor和事務日誌管理
這是一個很好的設計使用以下內容來批量睡覺,直到第二天?還是會損害表現?在調用waitfor之前我正在執行tran。
waitfor time "12:00:00"
事務日誌:
- 我使用下面的查詢查找事務日誌的大小和等待,直到事務日誌可用空間<有些%。這是一個好方法嗎?
另外,考慮到我的一般情況,在繼續等待之前,我應該檢查的最佳事務日誌使用百分比限制是多少? - 我應該使用「轉儲交易」嗎?我讀過我們不應該在生產系統中使用「dump transaction truncate only」。我應該以不同的方式使用它嗎?你爲我的場景建議我一些事情嗎?
select @tlogPctUsed = ceiling(100 * (1 - 1.0 * lct_admin("logsegment_freepages",d.dbid)/sum(case when u.segmap in (4, 7) then u.size end))) from master..sysdatabases d, master..sysusages u where u.dbid = d.dbid and d.dbid = db_id() and d.status != 256 group by d.dbid while (@tlogPctUsed > @tlogPctLimit) begin waitfor delay @10Seconds select @tlogPctUsed = ceiling(100 * (1 - 1.0 * lct_admin("logsegment_freepages",d.dbid)/sum(case when u.segmap in (4, 7) then u.size end))) from master..sysdatabases d, master..sysusages u where u.dbid = d.dbid and d.dbid = db_id() and d.status != 256 group by d.dbid end
謝謝你的投入邁克爾。我的DBA剛剛確認我們的數據庫配置了「truncate log on chkpt」和「abort tran on log full」。在這種情況下,我可以安全地使用「dump transaction with truncate only」。是對的嗎? – user1549605
謝謝邁克爾 - 等待設計看起來不錯嗎? – user1549605
Hey Michael, 我讓我的DBA在我們的ASE中設置作業調度程序,但他說只有一位DBA知道作業調度程序和sybase ASE作業調度程序是一個很難使用的問題。他要求我避開它並去cron。你能否讓我知道你對ASE工作安排者的想法,讓我知道是否真的很痛苦,以避免?感謝有關這方面的任何建議。 – user1549605