SQL Anywhereは、組込み・中小規模ビジネス・モバイル分野などで特に普及している、省リソースで高速な処理を実現するリレーショナルデータベースです。この連載では、その魅力を紹介していきます。第3回は、データベースの作成・起動、キャッシュの設定、ユーザ管理について説明します。
2.4 データベースの作成と起動
この節では、データベースの作成・削除、および接続方法などについて説明する。主にコマンドラインによる方法を説明するので、GUIなどそのほかの方法についてはマニュアルを参照していただきたい。
2.4.1 作成
データベースを作成するにはいくつか方法がある。
- Sybase CentralからGUIで行う(ウィザード)
- 既存のデータベースサーバに対してSQL文で行う(CREATE DATABASE文)
- コマンドラインで行う(dbinitコマンド)
コマンドラインでデータベースを作成するには、dbinitコマンドを使用する。
$ dbinit test.db
この文を実行すると、test.dbというデータベースファイルが作成される。トランザクションログファイルは、データベースを起動したときに自動的に生成される。
ページサイズを明示してデータベースを作成するには、-pオプションでページサイズを指定する。
$ dbinit -p 4096 test.db
dbinit -dba user1,mypwd -dbs 200m test.db
DBSPACEのサイズを拡張する
データベースファイル(DBSPACE)のサイズは自動的に拡張するので、特に注意する必要はない。しかし、まとまった量をあらかじめ作成しておけば、ファイルのフラグメンテーションが起きにくいので、必要なサイズが概算できるならば指定しておくとよい。
DBSPACEのサイズを増やすには、データベースを作成して起動したあとで、ALTER DBSPACE文を実行する。デフォルトのDBSPACE名はsystemなので、200MB増やす場合、次のようになる。
ALTER DBSPACE system ADD 200MB
データベースファイルの追加
データベースファイルを追加し、テーブルやインデックス単位でDBSPACEに振り分けることができる。次のSQL例では、既存のデータベースに対して、books.dbとbooks_index.dbとの2つのデータベースファイルを新たに作り、テーブルとインデックスとを別々に置いている。
-- books.db CREATE DBSPACE books AS 'd:\\books.db'; CREATE TABLE Books ( title char(100) PRIMARY KEY, author char(50), isbn char(30), ) IN books; -- books_index.db CREATE DBSPACE books_index AS 'd:\\books_index.db'; CREATE INDEX books_isbn ON Books (isbn) IN books_index;
2.4.2 起動
データベースサーバを起動するコマンドは、サーバの種類ごとにある。
- ネットワークサーバ ―― dbsrv9コマンド
- パーソナルサーバ ―― dbeng9コマンド
コマンド引数の形式は同じだ。引数にデータベースファイル名を指定すると、データベースサーバが立ち上がるとともにデータベースが起動する。
$ dbeng9 test.db
複数のデータベースを起動するには、データベースファイルを列挙する。
サーバ名やデータベース名をそれぞれ明示したい場合は、-nオプションを利用する。たとえば、図2.9のような場合は次のように実行する。
$ dbeng9 -n server_name test1.db -n test1_db_name -n test2.db test2_db_name

この記事は参考になりましたか?
- この記事の著者
-
森脇 大悟(モリワキ ダイゴ)
1974年生まれ。神奈川県川崎市出身。京都大学理学部物理学科卒業。同大学院 修士課程中退後、有限会社グルージェント(現・株式会社グルージェント)入社。SIとして金融や物流システムを手がける。2003年アイエニウェア・ソリューションズ株式会社入社。エンジニアとして製品の導入支援やコンサルティング業務に...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
