Sybase 資料一覧

トランザクションログ領域を拡張する

2007/9/28更新

対応バージョン: 11.9.2

以下の手順でトランザクションログ領域を拡張する。

拡張用デバイス(物理ファイル、及び論理デバイス)を作成する。

まず、デバイスに割り当てるデバイス番号を調べる。

1> use master ← デバイス定義はmasterデータベース上に作成
2> go

1> select distinct low/16777216 from sysdevices order by low
2> go
 -----------
           0
           1
           :
          25
          26

上記の例では26までのデバイス番号が使用されているので27以降が使用可能である。

次に物理ファイルを作成し、それを論理デバイスに割り当てる。

1> disk init
2> name = "logdisk_02", ← デバイスの論理名
3> physname = "/db/logdisk_02.dat", ← デバイスの物理ファイル名
4> vdevno = 27, ← デバイス番号
5> size = 256000 ← サイズをページ(2KB/ページ)単位で指定
                    (*) この例では256000 * 2KB = 500MBを指定
6> go

1> sp_helpdevice logdisk_02
2> go
 device_name physical_name      description                    ...
 ----------- ------------------ ------------------------------ ...
 logdisk_02  /db/logdisk_02.dat special,physical disk,500.00MB ...

上記で作成したデバイスをログ領域に追加する。

ここでは作成デバイスのうち500MB(つまり全容量)をログ領域として追加する。

1> alter database <DB> log on logdisk_02 = 500
2> go

ログ領域が追加されたことを確認する。

1> sp_helpdb testdb
2> go
 name   db_size  owner dbid created      status
 ------ -------- ----- ---- ------------ -----------------------------
 testdb 2000.0MB sa       2 Mar 06, 2002 select into/bulkcopy/pllsort
        (1)

 device_fragments size      usage     free kbytes
 ---------------- --------- --------- -----------
 datadisk_01      1000.0 MB data only      612032
 logdisk_01        500.0 MB log only        11984
 logdisk_02        500.0 MB log only       512000 ← (2)

(1) 全体が2GBに増えた(この場合、元は1.5GB)

(2) 500MBの領域がログ領域(log only)に追加された

masterデータベースバックアップ

DB構成の変更情報はmasterデータベースに格納されるためバックアップしておいたほうがよい。

1> dump database master to "/var/tmp/master.dmp"
2> go