ページの先頭行へ戻る
Interstage Navigator ServerV9.5.0 コマンドリファレンス
FUJITSU Software

2.4.5 rn_refresh(辞書ディレクトリの修復コマンド)

名前

rn_refresh  -  辞書ディレクトリの修復コマンド

形式

辞書の管理情報ファイルを検査する場合(「検査モード」と呼びます)

rn_refresh [-c] [-t スキーマ名] [-u ユーザ名/パスワード] [-d 辞書用ユーザ名/パスワード]> 実行結果ファイル

登録スキーマの管理情報ファイルを検査する場合(「検査モード」と呼びます)

rn_refresh [-c] [-a] [-u ユーザ名/パスワード] [-d 辞書用ユーザ名/パスワード] > 実行結果ファイル

不整合を修復する場合(「修復モード」と呼びます)

rn_refresh [-r] [-t スキーマ名.テーブル名] [-u ユーザ名/パスワード] [-d 辞書用ユーザ名/パスワード] [-s 参照DBMSのユーザ名/パスワード] > 実行結果ファイル

クラスタ運用で、不整合を修復する場合

rn_refresh -r -a -u ユーザ名/パスワード [-d 辞書用ユーザ名/パスワード]

機能説明

Navigatorサーバで使用している管理情報ファイルのすべて、または一部のファイルを誤って削除してしまったり、不慮の電源切断やハードディスク障害などで消失や破壊されたりしてしまった場合に正常に動作しなくなることがあります。この状態を「辞書の不整合」と呼びます。

こういった不慮の事態に備え、Navigatorサーバはこの管理情報をDBMS上の辞書テーブルの情報を元にしてリフレッシュし、DBMS上の情報と同期をとるためのコマンドを提供します。

このコマンドを「辞書ディレクトリの修復コマンド」と呼びます。

Postgresのデータソースに対してコマンドを実行した場合は、以下のように出力されます。

#Schema Name

修復したスキーマ名を出力します。

#Table Name

修復したテーブル名を出力します。

#Data Source Name

修復したスキーマおよびテーブルが所属するデータソース名を出力します。

#DBMS

データベース種別として「PostgreSQL」を出力します。

SAP IQ のデータソースに対してコマンドを実行した場合は、以下のように出力されます。

#Schema Name

修復したスキーマ名を出力します。

#Table Name

修復したテーブル名を出力します。

#Data Source Name

修復したスキーマおよびテーブルが所属するデータソース名を出力します。

#DBMS

データベース種別として「ODBC」を出力します。

-c

検査モードの意味です。検査モードのときに必ず指定します。

-rパラメタと同時には指定できません。

-a

登録スキーマの管理情報ファイルを検査する場合、またはクラスタ運用で、不整合を修復する場合に指定します。

-r

修復モードの意味です。修復モードのときに必要なパラメタですが、検査モードで実行したときの実行結果として出力されるので、コマンドラインで指定する必要はありません。

-cパラメタと同時には指定できません。

このパラメタは、検査モードで実行して不整合が検出された場合、実行結果ファイルに修復モードで実行するためのコマンド文字列の一部として出力されます。不正合を修復する場合、この実行結果ファイルを編集して実行します。

ポイント

クラスタ運用の場合

クラスタ運用時の実行、またはクラスタ運用に移行する時の実行は、パラメタに「-r -a」を指定してください。

-t スキーマ名.テーブル名

辞書のスキーマ名、または辞書に登録したスキーマ名を指定します。

-tとスキーマ名の間には、1文字以上の半角空白が必要です。

辞書のスキーマ名を指定する場合は、KVRGxxxxxxxxの形式で指定します。xxxxxxxxは辞書の管理者のユーザIDを8桁の16進数に変換したものを指定します。たとえば辞書の管理者のユーザIDが3000の場合、KVRG00000BB8を指定します。

なお、検査モードでテーブルの不整合が検出された場合に「スキーマ名.テーブル名」の形式で出力されます。

-u ユーザ名/パスワード

Navigatorのユーザ名とパスワードを、スラッシュ(/)で区切って指定します。指定できるユーザ名は、辞書の管理者のユーザ名だけです。

なお、パスワードがないユーザの場合、ユーザ名だけを指定してください。

-uとユーザ名の間には、1文字以上の半角空白が必要です。

ユーザ名とパスワードを区切るスラッシュ(/)の前後には空白を指定できません。

-d 辞書用ユーザ名/パスワード

Postgres、OracleまたはSQL Serverで辞書の運用をしている場合に指定します。

Symfoware/RDBで辞書を運用している場合には指定しません。

DBMSのユーザ名とパスワードを、スラッシュ(/)で区切って指定します。指定できるDBMSのユーザ名は、KVRGで始まる辞書の管理者のユーザ名だけです。

なお、パスワードがないユーザの場合、DBMSのユーザ名だけを指定してください。

-dとDBMSのユーザ名の間には、1文字以上の半角空白が必要です。

DBMSのユーザ名とパスワードを区切るスラッシュ(/)の前後には空白を指定できません。

-s 参照DBMSのユーザ名/パスワード

検査モードを実行することで出力される実行結果ファイルには、修復モードのコマンドが出力されます。この修復モードのコマンドには、必要に応じて自動的に-sパラメタが付加されます。

参照するデータベースが辞書のDBMS以外で、かつ参照するDBMSの種別が、以下のどれかの場合に指定します。

  • Postgres

  • Oracle

  • SQL Server

  • 他サイトのSymfoware/RDB

  • ODBC

指定するユーザ名は、データベースへの接続時に指定するユーザ名とパスワードです。たとえば辞書のDBMSがOracleで、参照するデータベースがSQL Serverの場合などに指定します。

DBMSのユーザ名とパスワードを、スラッシュ(/)で区切って指定します。

なお、パスワードがないユーザの場合、DBMSのユーザ名だけを指定してください。

-sとDBMSのユーザ名の間には、1文字以上の半角空白が必要です。

DBMSのユーザ名とパスワードを区切るスラッシュ(/)の前後には空白を指定できません。

実行結果ファイル

コマンドの実行結果は、標準出力に出力されます。必ずファイルにリダイレクトして実行結果を保存してください。検査モードで実行し不整合が検出された場合、不整合を修復するために必要なコマンドとパラメタ文字列が出力されます。その場合、エディタなどでコマンド文字列中のパスワード部分、および-sパラメタのユーザ名とパスワード部分を修正して実行します。

  • 実行結果ファイルの内容

    辞書ディレクトリの修復コマンドで不整合の検査を行い、不整合が検出されない場合には正常終了のメッセージだけが出力されます。不整合が検出された場合、出力先のファイルには、検査したデータベースの情報、エラーメッセージ、および修復コマンドを修復モードで実行するのに必要なコマンド文字列が出力されます。不整合が複数ある場合にはこれらの情報とコマンド文字列が複数回出力されます。不整合を辞書ディレクトリの修復コマンドで修復できない場合には、このコマンド文字列は出力されません。

注意事項

辞書ディレクトリの修復コマンドを実行する場合、以下に示す注意が必要です。

使用例

Postgres、OracleまたはSQL Serverで辞書を運用していて辞書スキーマKVRG00000BB8を検査する場合

rn_refresh -c -t KVRG00000BB8 -u navi/navi -d KVRG00000BB8/xxxxxxxx > refresh.txt

Postgres、OracleまたはSQL Serverで辞書を運用していて登録スキーマを検査する場合

rn_refresh -c -a -u navi/navi -d KVRG00000BB8/xxxxxxxx > refresh.txt

Postgres、OracleまたはSQL Serverで辞書を運用していて辞書スキーマKVRG00000BB8を修復する場合

rn_refresh -r -t KVRG00000BB8 -u navi/navi -d KVRG00000BB8/xxxxxxxx > refresh.txt