ページの先頭行へ戻る
Interstage Information StorageV10.0.0 トラブルシューティング集

3.2.1 カテゴリ定義コマンド(ddsdef)が異常終了する

カテゴリ定義コマンド(ddsdef)が異常終了するトラブル、および対処方法について説明します。

誤ったカテゴリ定義ファイルを指定した

現象

ddsdefコマンドが異常終了する。


確認方法

資源管理ログファイルに以下のログが出力されているか確認してください。

ddb00037-e カテゴリ定義ファイルのバージョン番号が違います。(カテゴリ定義ファイル=[カテゴリ定義ファイルのバージョン番号]  バージョン管理情報=[バージョン管理情報のバージョン番号])

このログが出力されている場合、誤ったカテゴリ定義ファイルを指定しています。


原因

ddsdefコマンドで指定したカテゴリ定義ファイルの版数と資源管理上で管理されている版数に矛盾があります。

カテゴリ定義画面はカテゴリ定義ファイルを作成するたびに版数をあげて、資源管理の定義内容と矛盾が起こらないように管理しています。指定したカテゴリ定義ファイルの版数が前回実行したカテゴリ定義ファイルの版数と連続していない場合(版数2の次に版数5を実行など)は、ddsdefコマンドは異常終了します。カテゴリ定義ファイルの版数は、資源管理上で管理されている版数よりも1大きくなります。


問題発生時の対処

ddsdefコマンドで指定したカテゴリ定義ファイルが正しいか確認してください。

ログに出力されている"カテゴリ定義ファイル"の値が"バージョン管理情報”の値よりも古い、または同じ場合、指定したカテゴリ定義ファイルが最新ではありません。最新のカテゴリ定義ファイルを指定しなおしてください。

ログに出力されている"カテゴリ定義ファイル"の値が"バージョン管理情報”の値よりも2以上大きい場合、資源管理に適用されていないカテゴリ定義ファイルが存在します。適用されていないカテゴリ定義ファイルを版数が古いものから順番に適用してください。

参照

カテゴリ定義機能が使用するファイルや定義の作成方法については"運用ガイド"の"3.6 カテゴリの構成変更"を参照してください。


カテゴリ管理情報の作成先の空き容量が不足した

現象

カテゴリの追加を行うと、ddsdefコマンドが異常終了する。


確認方法

資源管理ログファイルに以下のログが出力されていないか確認します。

ddx00017-e ([プロセスID])  資源管理情報の操作に失敗しました。(SQL種別= EXECUTE SQLSTATE= 71730 SQLMSG=JYP4801E 指定されたデータベーススペースの空き領域が不足しています.)

このログが出力されている場合、カテゴリの追加時に資源管理の操作に失敗したため、ddsdefコマンドが異常終了しています。


次にカテゴリ管理情報作成先に十分な空き容量があるか、rdbspcinfコマンドで確認します。

カテゴリ追加時にDDF_DBEnvSettings.iniファイルの編集を省略した場合、次のコマンドを実行します。

rdbspcinf -p INFOSTORAGEDB.STDBSP003
rdbspcinf -p INFOSTORAGEDB.STDBSP004

作成先領域STDBSP004の空き領域を確認する

Database space : STDBSP004
Device         : /LOCAL_DATA/symfoware/DBSPACE/STDBSP004
Size           : 1048576K
Static allocate size
total   :  677888K
Dynamic allocate size
total   :       0K
Free size
total   :  370688K
rdb: INFO: qdg12074i:rdbspcinfが正常終了しました 復帰コード 00 (システム名=iisrdb)

370688KBの空きがあることが確認できる。

コマンドの実行結果の「Free size」の値が、以下の値よりも小さくなっていないか確認してください。

小さかった場合は、カテゴリの作成先領域に空き容量が無いために異常終了したことが分かります。

作成先領域

必要な空き容量

STDBSP003

22MB

STDBSP004

58MB

カテゴリ追加時にDDF_DBEnvSettings.iniファイルの編集を省略した場合は、DDF_DBEnvSettings.iniに記述した内容をもとに上記の確認を行ってください。


原因

カテゴリの追加を行うとき、カテゴリ管理情報の作成先領域に空き容量が必要です。カテゴリ作成時に指定された容量が確保できなかった場合、ddsdefコマンドは異常終了します。

カテゴリ追加時の見積量に対して作成先に十分な空き領域が無い場合、作成先を変更するか新たに作成先を追加してください。


問題発生時の対処

DDF_DBEnvSettings.iniファイルの定義を修正し、カテゴリ追加時の見積量に対して十分な空き容量を持つ作成先を指定します。

十分な空き容量のある作成先が無い場合、以下の手順に従い、作成先を追加してください。

  1. 作成先追加用の定義ファイルを作成する

    以下の書式に従い、作成先追加用の定義ファイルを作成します。

    作成先領域や作成量の見積もりについては"導入ガイド"の"2.3.2 資源管理のディスク設計"を参照してください。

    CREATE DBSPACE STDBSP[3桁の番号] ALLOCATE FILE [作成先領域(絶対パス)] ATTRIBUTE SPACE([作成量]);

  2. rdbddlexコマンドにより作成先を追加する

    rdbddlex -d INFOSTORAGEDB [1で作成したファイル名]

資源管理との接続設定、またはコマンドの実行ユーザを誤った

現象

ddsdefコマンドが異常終了する。


確認方法

資源管理ログファイルに以下のログが出力されていないか確認します。

ddx00020-e ([プロセスID]) カテゴリ定義処理の開始処理に失敗しました。(SQL種別=CONNECT SQLSTATE=71030 SQLMSG=JYP2021E 動作環境ファイルにデフォルトコネクション情報が指定されていません.
  または
ddb00035-e (プロセスID) バージョン管理情報の取得に失敗しました。 (SQL種別=PREPARE SQLSTATE=42000 SQLMSG=JYP2263E スキーマ“DCSCH”の表“DDVERSION”に“SELECT”権がありません.)

このログが出力されている場合、資源管理との接続設定に誤りがあるため、ddsdefコマンドが異常終了しています。


原因

ddsdefコマンドを実行すると、資源管理から現在の定義情報の版数を取得します。資源管理との接続設定を誤っていると、資源管理から情報の取得ができず、異常終了します。

資源管理からの情報取得に失敗する原因として、接続設定が記述されている動作環境ファイルを正しく指定していないことと、IIS管理者またはスーパーユーザー(root)以外のユーザでコマンドを実行していることが上げられます。

接続設定が記述されている動作環境ファイルを正しく指定していないケースは以下の通りです。

・環境変数SQLRTENVを設定していない
・環境変数SQLRTENVに設定したパスにファイルが存在していない

環境変数に誤りが無い場合、コマンドの実行ユーザがIIS管理者またはスーパーユーザー(root)でなければ資源管理から情報の取得ができません。IIS管理者またはroot以外でddsdefコマンドを実行した場合は異常終了します。


問題発生時の対処

環境変数SQLRTENVが正しく設定されているか確認してください。

環境変数に誤りが無い場合、ddsdefコマンドを実行したユーザに誤りがないか確認してください。

参照

環境変数の設定については"導入ガイド"の"3.7.2 環境変数の設定"を参照してください。