Sybase 資料一覧
データベースを新規に作成する方法
2007/8/25更新
対応バージョン: 11.9.2
データベースの作成にはまず物理ファイルをSybase用の論理デバイスとして割り当てて、それを1ファイル、あるいは複数ファイル組み合わせてデータベースとして構成する。
以下、順を追って説明する。
構成検討
まずデータベースの構成を検討する。
Sybaseのデータベースはデータ用の領域とログ用の領域の2種類に分けられるので、ここでは以下の構成と仮定して説明する。
データ領域1 : 1GB
データ領域2 : 2GB
ログ領域 : 500MB
論理デバイス割り当て
物理ファイルを作成し、それに論理デバイスを結びつける作業を行う。
論理デバイスはSybase内部で一意の番号で扱われるので、まず未使用のデバイス番号を調べる。
尚、今後の作業は全てmasterデータベース上で行う。
1> select distinct low/16777216 from sysdevices order by low 2> go ----------- : 24
上記の例では24番まで使用していることが分かるので新たに25番を使用することとする。
次にデバイス(物理ファイル)を作成する。
データ領域1 (1GB)
1> disk init 2> name = "datadisk1", ← 論理デバイス名 3> physname = "/tmp/datadisk1.dat", ← デバイスの物理ファイル名 4> vdevno = 25, ← 論理デバイス番号 5> size = 512000 ← デバイスサイズを2Kブロック単位で指定(512000ブロック * 2KB = 1GB) 6> go
データ領域2 (2GB)
1> disk init 2> name = "datadisk2", 3> physname = "/tmp/datadisk2.dat", 4> vdevno = 26, 5> size = 1024000 ← 1024000ブロック * 2KB = 2GB 6> go
ログ領域 (0.5GB)
1> disk init 2> name = "logdisk_01", 3> physname = "/tmp/logdisk1.dat", 4> vdevno = 27, 5> size = 256000 ← 256000ブロック * 2KB = 0.5GB 6> go
データベース作成
上記で作成した論理デバイスを使用してデータベースを作成する。
1> create database db1 on ← データベース「db1」作成開始 2> datadisk1 = 1000 ← データ領域として「datadisk1」を割り当て 3> log on logdisk1 = 500 ← ログ領域として「logdisk1」を割り当て 4> for load ← Exportファイルからのロード用指定 5> go 1> alter database db1 on datadisk2 = 2000 ← データ領域として「datadisk2」を追加割り当て 2> go
データベースの状態チェック
作成したデータベースの状態はsp_helpdbによって確認できる。
「for load」オプション付でデータベースを作成したのでstatus欄が「don't recover(リカバリ禁止)」になっている。
1> sp_helpdb db1 2> go name db_size owner dbid created status ---- --------- ----- ---- ------------ ------------- db1 3500.0 MB sa 5 Feb 13, 2002 don't recover device_fragments size usage free kbytes ---------------- --------- ----------- ----------- datadisk1 1000.0 MB data only 1022016 datadisk2 2000.0 MB data only 2012342 logdisk1 500.0 MB log only 51124
データImport
あらかじめ用意しておいたExportファイルからデータをImportする。
ここでは2つのファイルからImportするものとする。
1> load database db1 2> from "/tmp/data1.dmp" 3> stripe on "/tmp/data2.dmp" 4> go
データベースオンライン
データをImportしただけではデータベースは使用できないので、明示的にオンラインにする。
1> online database db1 2> go Database 'db1' is now online.
再度データベースの状態を確認すると、status欄が「no options set(オプションなし)」に変化して、データベースの残り容量が若干減っているのが分かる。
1> sp_helpdb db1 2> go name db_size owner dbid created status ---- --------- ----- ---- ------------ -------------- db1 3500.0 MB sa 5 Feb 13, 2002 no options set device_fragments size usage free kbytes ---------------- --------- ----------- ----------- datadisk1 1000.0 MB data only 982016 ← 残り容量が微減 datadisk2 2000.0 MB data only 2012342 logdisk1 500.0 MB log only 51124