スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

9.2.2 オプション

表定義情報,トリガ定義情報,又はストアドプロシジャ情報を搬出する場合:
搬出ファイルの名称を指定します。

定義系SQLを生成する場合:
生成したい表定義情報,トリガ定義情報,又はストアドプロシジャ情報を搬出した搬出ファイルの名称を指定します。

搬出ファイルがあるホストの名称と絶対パス名をコロン(:)で結んで指定します。識別子を省略した場合は,ディクショナリ搬出入ユティリティを実行したサーバマシン(pdexpコマンドを入力したサーバマシン)のホスト名が仮定されます。指定した搬出ファイルがない場合は,HiRDBの起動者のものとして新規に作成します。

表定義情報,トリガ定義情報,ストアドプロシジャ情報を搬入する場合,又は定義系SQLを生成する場合に,搬出ファイルの名称を指定します。

搬出ファイルがあるホストの名称と絶対パス名をコロン(:)で結んで指定します。識別子を省略した場合は,ディクショナリ搬出入ユティリティを実行したサーバマシン(pdexpコマンドを入力したサーバマシン)のホスト名が仮定されます。

参照制約が定義されている表の搬出入時,HiRDBが自動的に搬出順序を解析することによって増大するメモリ使用量を抑えたい場合に指定します。この場合,制御文ファイルに指定した表の順序で搬出します。

<注意>
このオプションを指定して参照制約が定義されている表を搬出する場合,制御文で被参照表を先に指定してください。搬入時には,搬出順に表が搬入されます。なお,被参照表が定義されていない場合に参照表を搬入すると,CREATE TABLEのSQLエラーとなります。この場合,途中で搬入処理が終了します。

ディクショナリ搬出入ユティリティの制御文があるファイルの名称を指定します。

制御文ファイルは,ディクショナリ搬出入ユティリティを実行するサーバマシン(pdexpコマンドを入力するサーバマシン)に作成してください。搬入時,搬出ファイル中のすべての表定義情報,トリガ定義情報,又はストアドプロシジャ情報を対象とする場合は,指定を省略できます。また,定義系SQL生成時,搬出ファイル中のすべての定義情報を対象とする場合も,指定を省略できます。

<制御文についての規則>
  1. 搬出入で指定できる表,トリガ,又はストアドプロシジャは,最大10,000個です。
  2. 1行に複数の指定はできません。
  3. 一つの指定は複数行にわたってはなりません。
  4. 空行は無視されます。
  5. スキーマ名にMASTER,ALL,及びHiRDBは指定できません(トリガ定義情報の搬出の場合はPUBLICも指定できません)。
  6. 表の指定(-t),トリガの指定(-g),及びストアドプロシジャの指定(-p)は混在して指定できません。
  7. 一つの制御文ファイル中で実表とビュー表を指定する場合は,実表を先に指定してください。

<表定義情報の搬出入,又は定義系SQLの生成の場合>
 
  -t スキーマ名.{表識別子|表別名} 〔-w〕
 〔-t スキーマ名.{表識別子|表別名} 〔-w〕〕
 

<トリガ定義情報の搬出入,又は定義系SQLの生成の場合>
 
  -g スキーマ名.トリガ識別子 〔-w〕
 〔-g スキーマ名.トリガ識別子 〔-w〕〕
 

<ストアドプロシジャ情報の搬出入,又は定義系SQLの生成の場合>
 
  -p スキーマ名.ルーチン識別子
 〔-p スキーマ名.ルーチン識別子〕
 

-t スキーマ名.{表識別子|表別名}
搬出入する表,又は定義系SQLを生成する表を指定します。
同一の表は重複して指定できません。
外部表は指定できません。指定した場合は,処理をスキップします。
パブリックビューを搬出入する場合,スキーマ名にPUBLICを指定してください。
スキーマ名 〜<識別子>((1〜30))
スキーマ名を指定します。スキーマ名を引用符(")で囲んだ場合は,英大文字と小文字が区別されますが,引用符で囲まない場合はすべて英大文字として扱われます。
表識別子表別名 〜<識別子>((1〜30))
表識別子又は表別名を指定します。表識別子又は表別名を引用符(")で囲んだ場合は,英大文字と小文字が区別されますが,引用符で囲まない場合はすべて英大文字として扱われます。また,表識別子又は表別名に空白を含む場合も引用符で囲んでください。
-w
WITH PROGRAM指定なしの参照表の表定義を,WITH PROGRAM指定ありの参照表の表定義にして搬入する場合に指定します。-wオプションを省略した場合,及び参照表以外の表定義の場合,WITH PROGRAM指定なしの表定義として搬入します。なお,搬出時には,このオプションの指定は無効となります。

-g スキーマ名.トリガ識別子〔-w〕
搬出入するトリガ,又は定義系SQLを生成するトリガを指定します。
同一のトリガは重複して指定できません。
スキーマ名 〜<識別子>((1〜30))
スキーマ名を指定します。スキーマ名を引用符(")で囲んだ場合は,英大文字と英小文字が区別されますが,引用符で囲まない場合はすべて大文字として扱われます。
トリガ識別子 〜<識別子>((1〜30))
トリガ識別子を指定します。トリガ識別子を引用符(")で囲んだ場合は,英大文字と英小文字が区別されますが,引用符で囲まない場合はすべて大文字として扱われます。また,トリガ識別子に空白を含む場合も引用符で囲んでください。
-w
WITH PROGRAM指定なしのトリガ定義を,WITH PROGRAM指定ありのトリガ定義にして搬入する場合に指定します。-wオプションを指定し,WITH PROGRAM指定ありのトリガ定義にして搬入した場合,そのトリガが使用する表に対する関数及び手続きの有効なSQLオブジェクトがあるときは,そのSQLオブジェクトは無効になります。

<一つの表に複数のトリガを定義している場合の注意事項>
一つの表に複数のトリガを定義している場合,トリガはトリガ定義順に動作します。搬入時のトリガ定義順が搬出前の順番と異なる場合,搬出前のトリガ定義と異なる順番でトリガが動作するため,搬出前と搬入後とで結果が異なります。搬出前と搬入後とで同じトリガ動作をさせるためには,制御文にトリガ定義順にトリガ名を記述する必要があります。
トリガの定義順に制御文を作成する方法を次に示します。
特定の表に定義しているトリガすべてを搬出入する場合:
次のSQLを実行すると,表に定義されているトリガ所有者,トリガ識別子,及びトリガ定義時刻が,トリガ定義順に求められます。
 
  SELECT TRIGGER_SCHEMA,TRIGGER_NAME,CREATE_TIME
    FROM "MASTER".SQL_TRIGGERS 
    WHERE TABLE_SCHEMA='所有者' AND TABLE_NAME='表名称'
    ORDER BY CREATE_TIME WITHOUT LOCK NOWAIT;
 
制御文には,トリガ定義時刻の早い順にスキーマ名とトリガ識別子を記述します。
定義しているすべてのトリガを搬出入する場合:
次のSQLを実行すると,表に定義されているトリガ所有者,トリガ識別子,及びトリガ定義時刻が,トリガ定義順に求められます。
 
  SELECT TRIGGER_SCHEMA,TRIGGER_NAME,CREATE_TIME
    FROM "MASTER".SQL_TRIGGERS 
    ORDER BY CREATE_TIME WITHOUT LOCK NOWAIT;
 
制御文には,トリガ定義時刻の早い順にスキーマ名とトリガ識別子を記述します。

-p スキーマ名.ルーチン識別子
搬出入するストアドプロシジャ,又は定義系SQLを生成するストアドプロシジャを指定します。
同一のストアドプロシジャは重複して指定できません。
スキーマ名 〜<識別子>((1〜30))
スキーマ名を指定します。スキーマ名を引用符(")で囲んだ場合は,英大文字と英小文字が区別されますが,引用符で囲まない場合はすべて大文字として扱われます。
パブリックプロシジャを搬出する場合はスキーマ名にPUBLICを指定してください。
ルーチン識別子 〜<識別子>((1〜30))
ルーチン識別子を指定します。ルーチン識別子を引用符(")で囲んだ場合は,英大文字と英小文字が区別されますが,引用符で囲まない場合はすべて大文字として扱われます。また,ルーチン識別子に空白を含む場合も引用符で囲んでください。

ディクショナリ搬出入ユティリティを実行するユーザの認可識別子を指定します。このオプションを指定した場合,パスワード入力要求の応答付きメッセージが表示されます。そこで応答した認可識別子/パスワードでHiRDBシステムに接続し,その認可識別子についてHiRDBへのCONNECT権限及びDBA権限があるかどうかがチェックされます。

このオプションは,シェルで&を付けてバックグラウンドで実行する場合や,リモートシェルなどのパスワードを応答できない環境では指定しないでください。

省略した場合,次の方法で認可識別子/パスワードが仮定されます。

認可識別子を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。

生成した定義系SQLを出力するファイルの名称を指定します。指定したファイルが既にある場合は上書きし,ない場合は新規に作成します。

定義系SQLの生成と搬入を同時にする場合に指定します。-oオプションを指定しないで-aオプションを指定した場合は,搬入だけをします。