Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


22.3.2 サンプルデータベースのカスタマイズ

サンプルデータベースを作成するバッチファイルをカスタマイズして,表の定義及び表へのデータロードに利用してください。カスタマイズするには,SQLの知識及びデータベース作成ユティリティ(pdload)の知識が必要になります。SQLについてはマニュアル「HiRDB Version 9 SQLリファレンス」を,データベース作成ユティリティ(pdload)についてはマニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。

注意事項

インストールしてHiRDBの開始が完了した時点で登録されている認可識別子とパスワードは「root」です。「root」ユーザはDBA権限となっています。このため,サンプルデータベースの新規セットアップ実行時にクライアント環境定義(hirdb.ini)中の認可識別子とパスワードはそれぞれ「root」が設定されています(PDUSER='"root" / "root")。

〈この項の構成〉

(1) 新しいユーザを追加する場合

新しいユーザを追加する場合のカスタマイズ方法を次に示します。

カスタマイズ方法
  1. sampleDB1.batの内容を変更します。表定義を実行している部分をコメント化して,権限定義だけが実行されるように変更します。

     pddef<%PDDIR%\sample\sampleDB\tblecreate

               ↓

     rem pddef<%PDDIR%\sample\sampleDB\tblecreate

  2. 権限定義のサンプルとして提供している%PDDIR%\sample\sampleDB\gr_USER1の内容を,次のように変更します。

    ・新しいユーザを追加するため,GRANT文でCONNECT権限を定義します。

    ・必要に応じてGRANT文でスキーマ定義権限などを定義します。

  3. 変更が終了したら,HiRDBコマンドプロンプトからsampleDB1.batを実行します。データベース定義ユティリティ(pddef)が正常に終了したことを示すメッセージが出力されると,新しいユーザの追加と権限定義は完了します。

    なお,sampleDB3.batは「USER1」を追加する例です。

(2) 表及びインデクスを定義する場合

表及びインデクスを定義する場合のカスタマイズ方法を次に示します。

カスタマイズ方法
  1. 新しいユーザを追加してそのユーザでスキーマ定義などをする場合,クライアント環境定義(hirdb.ini)の認可識別子とパスワードを変更してください(環境変数windirの直下にあるhirdb.iniファイル中の環境変数PDUSERの設定値を「root」から,追加した認可識別子とパスワードに変更してください)。

  2. sampleDB1.batの内容を変更します。権限定義を実行している部分をコメント化し,表定義部分をコメント化していれば元に戻してください。

  3. 表定義のサンプルとして提供している%PDDIR%\sample\sampleDB\tblecreateの内容を変更します。定義するスキーマ又は表などの内容を変更します。

  4. 変更が終了したら,HiRDBコマンドプロンプトからsampleDB1.batを実行します。データベース定義ユティリティ(pddef)が正常に終了したことを示すメッセージが出力されると完了です。複数の表を定義して,その中にエラーの表がある場合,tblecreateの内容を変更して,もう一度実行してください。

(3) 表にデータロードをする場合

表にデータロードをする場合のカスタマイズ方法を次に示します。

カスタマイズ方法
  1. sampleDB2.batでは認可識別子及びパスワードがそれぞれ「root」になっているので,対応する表の所有者の認可識別子及びパスワードに変更してください。

     set PDUSER = "root"/"root"

        ↓

     set PDUSER = "認可識別子"/"パスワード"

  2. 提供しているサンプルでは四つの表(CUSTOM,GOODS,VENDOR,STOCK)にデータロードをするため,必要に応じてこれらを変更又はコメント化してください。

  3. @echo source%PDDIR%\sample\sampleDB\loaddata\GOODS.CSV>%PDDIR%\TMP\LODで制御情報ファイルLODに制御情報を設定しています。必要に応じて設定している制御情報部分を変更してください。

  4. %PDDIR%\bin\pdload -i s -e GOODS %PDDIR%\TMP\LODでデータベース作成ユティリティ(pdload)を実行しています。表名GOODSなど必要に応じて変更してください。

  5. %PDDIR%\sample\sampleDB\loaddata\GOODS.csvが入力ファイルとなっています。ここで指定したファイル中に入力データを作成してください。提供しているサンプルデータでは,GOODS.CSVがDAT形式になっているので,これを参考に入力データを作成してください。

  6. 入力データの作成が終了したら,HiRDBコマンドプロンプトからsampleDB2.batを実行します。データベース作成ユティリティ(pdload)の実行状態を示すメッセージが出力されるので,正しく実行されているかどうかを確認してください。

    なお,sampleDB4.batは「USER1」がデータロードを実行する場合の例です。

(4) コマンドを別名で実行するためのバッチファイルの作成

HiRDBのコマンド名とOSやほかのプログラムが提供しているコマンド名が同一になり,HiRDBのコマンドが実行できない場合があります。このような場合,次に示す回避策があります。

上記二つの回避策が実行できない場合に,HiRDBのコマンドを任意の名称で実行する方法があります。HiRDBではこの方法を実現するために必要なバッチファイルのひな形を提供しています。

(a) HiRDBが提供しているバッチファイルのひな形ファイル名

HiRDBが提供しているバッチファイルのひな形ファイルと内容を次の表に示します。ファイルの格納場所を次に示します。

  • C:\win32app\hitachi\hirdb_s\sample\sampleconf

    表22‒8 コマンド名の別名実行用バッチファイルのひな形ファイルと内容

    ファイル名

    内容

    注意

    aliascmd.bat

    バッチファイルのひな形ファイル

    HiRDB運用ディレクトリ下のbin及びlibの二つのディレクトリ以下にはコピーしないでください。

(b) コマンド名の別名を作成する手順

次に示す手順で,コマンドの別名を作成します。

  1. バッチファイルのひな形ファイルを任意のディレクトリにコピーします。複数のコマンドの別名を作成したい場合は,コマンドの数だけコピーしてください。ただし,HiRDB運用ディレクトリ下のbin及びlibのディレクトリ以下にコピーしないでください。

  2. ひな形ファイルのコピー先のディレクトリをサーチパスとして環境変数PATH又はpathに設定します。

  3. 手順1でコピーしたファイルの名称をHiRDBのコマンドの別名として使用したいコマンド名にします。例えば,データベース構成変更ユティリティ(pdmod)のコマンド名を変更したい場合,「hirmod」のように変更します。

  4. コピーしたひな形ファイルを開き,次の図に示す「cc....cc」の部分を別名で実行させたいHiRDBのコマンドの名称に変更します。

    図22‒2 バッチファイルのひな形ファイル

    [図データ]

以上の設定によって,HiRDBのコマンドを任意の名称で実行できます。また,オプションもHiRDBのコマンドと同様に指定できます。

(c) 注意

  1. ひな形ファイルのコピー後の名称には,HiRDBのコマンドとは異なる名称を指定してください。

  2. HiRDB運用ディレクトリ下の二つのディレクトリ(%PDDIR%\bin及び%PDDIR%\lib)は,アンインストール時にディレクトリごと削除される可能性があります。このため,この二つのディレクトリ以下にひな形ファイルをコピーしないでください。

  3. バッチファイルのひな形ファイルをほかのバッチファイル中から呼び出す場合は,「call」を使用してください。「call」を使用しない場合は,呼び出し先から戻れなくなります。

  4. ひな形ファイルの内容は,HiRDBのコマンド名の設定箇所以外は変更しないでください。

  5. 作成した別名コマンドを実行中に,そのコマンド処理を中断させる場合には別名プロセスの延長で起動しているHiRDBコマンドプロセスを停止させてください。別名プロセスを停止させるだけでは,HiRDBコマンドプロセスは停止しません。

  6. 作成した別名コマンドを実行して,HiRDBコマンドが応答入力待ち状態のときに別名プロセスを停止させると,HiRDBコマンドの実行がエラーになったり応答入力待ち状態を継続している場合があります。応答入力待ちが継続されていた場合には,HiRDBコマンドプロセスを停止させてください。