Sybase 資料一覧
不要なトランザクションログを削除する
2007/9/28更新
対応バージョン: 11.9.2
以下の手順でトランザクションログを削除する。
現在のトランザクションログの使用状況を確認する。
1> use <DB> 2> go 1> sp_spaceused syslogs 2> go name rowtotal reserved data index_size unused ------- ---------- -------- ------- ---------- ---------- syslogs Not avail. 95904KB 95904KB 0KB Not avail.
上記の例では96MB(reservedカラム)使用している。
この情報だけではあとどのくらい使用できるのか分からないので、さらに以下のSPを実行する。
1> sp_helpsegment logsegment 2> go segment name status ------- ---------- ------ 2 logsegment 0 device size free_pages ---------- ----------- ---------- logdisk_01 100.0MB 3248 table_name index_name indid ---------- ----------- ----- syslogs syslogs 0 total_size total_pages free_pages used_pages ---------- ----------- ---------- ---------- 100.0MB 51200 3248 47952 (1) (3) (2)
(1) 全体で100MBの領域があり、
(2) 現在96MB(47952ページ x 2KB/ページ)使用しているので、
(3) 使用可能領域が6.4MB(3248ページ x 2KB/ページ)残っている。
不要なトランザクションログを削除する。
1> dump transaction <DB> with truncate_only 2> go
(*) truncate_onlyオプションを使用した場合この操作そのものに対するトランザクションログも生成されるので、本当にログがいっぱいで上記コマンドが実行できない場合は以下のno_logオプションを使用する。
1> dump transaction <DB> with no_log 2> go
ログ領域が開放されたことを確認する。
1> sp_helpsegment logsegment 2> go segment name status ------- ---------- ------ 2 logsegment 0 device size free_pages ---------- ----------- ---------- logdisk_01 100.0MB 3248 table_name index_name indid ---------- ----------- ----- syslogs syslogs 0 total_size total_pages free_pages used_pages ---------- ----------- ---------- ---------- 100.0MB 51200 51192 8 (2) (1)
(1) 使用領域が16KB(8ページ x 2KB/ページ)に減ったので、
(2) 使用可能領域が1023MB(51192ページ x 2KB/ページ)に増えた。