Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


13.13 注意事項

  1. adbdbstatusコマンドが正常終了した場合,開始メッセージ,およびリターンコードを返す終了メッセージは出力されません。adbdbstatusコマンドが異常終了した場合は,表示されたメッセージ,またはメッセージログファイルを確認して,メッセージの対処に従ってください。

  2. adbdbstatusコマンドは,指定するオプションによって排他制御が異なります。ほかのSQL文やコマンドと,adbdbstatusコマンドを同時に実行する場合は,排他制御で競合が発生しないことを確認してください。SQL文やコマンドの排他制御については,マニュアルHADB システム構築・運用ガイド確保される排他資源と排他制御モード,および排他制御の例にあるadbdbstatusコマンド実行時の排他制御(データベースの状態解析)を参照してください。

    DBエリアのサマリ情報を出力する場合

    定義系SQLまたはadbmodareaコマンドと,adbdbstatusコマンドは同時に実行できません。

    DBエリアのサマリ情報以外の情報を出力する場合

    定義系SQLまたはadbmodareaコマンドと,adbdbstatusコマンドは同時に実行できません。

    また,DBエリアを処理対象とするadbdbstatusコマンドと,そのDBエリアを更新するSQL文やコマンドも同時に実行できません。

    さらに,表やインデクスを処理対象とするadbdbstatusコマンドと,その表やインデクスが格納されているDBエリアを更新するSQL文やコマンドも同時に実行できません。

    なお,adbdbstatusコマンドに--shared-lockオプションを指定すると,ほかのSQL文やコマンドと,同時に実行できるようになります。--shared-lockオプションについては,「13.2.1 指定形式およびオプションの説明【サマリ情報・使用量情報を出力する場合】」の「(3) オプションの説明」の「--shared-lockオプション」を参照してください。

  3. adbdbstatusコマンドの実行を中断する場合は,adbcancelコマンドで中断してください。実行中のコマンドをadbcancelコマンドで中断する方法については,「1.6 実行中のコマンドを中断(強制終了)する場合」を参照してください。

  4. データベースの状態解析の処理は,サーバプロセスで実行されます。このため,[Ctrl][C]キーなどでadbdbstatusコマンドのコマンドプロセスを強制終了しても,サーバプロセスで実行中のデータベースの状態解析の処理は中断されません(処理が続行されます)。状態解析の処理が完了すると,メッセージログファイルにKFAA81001-Iメッセージが出力されます。

  5. adbdbstatusコマンドは,DBエリア,表およびインデクスの内容を変更しません。このため,adbdbstatusコマンドが異常終了しても,表およびインデクスの回復処理は不要です。必要に応じてadbdbstatusコマンドを再実行してください。

  6. 次のコマンドが中断して表が更新不可状態となっている場合に,adbdbstatusコマンドを実行すると,ページ数,セグメント数およびチャンク数に関する項目には,最新の値が出力されないことがあります(次のコマンドが開始されたときの値が出力されることがあります)。

    • adbimportコマンド(バックグラウンドインポートを実行したとき)

    • adbidxrebuildコマンド(バックグラウンドインポートが中断したあとに,--create-temp-fileオプションを指定して実行したとき)

    • adbunarchivechunkコマンド

  7. 次に示す事象のあとにadbdbstatusコマンドを実行すると,出力結果のうち,使用中セグメント数,および使用中ページ数に誤差が生じる場合があります。

    • データベースの更新中にHADBサーバが異常終了した場合

    • 複数のトランザクションで,データベースの更新中にグローバルバッファが不足した旨のエラー(KFAA30919-Eメッセージ)が発生した場合

    • セグメントを解放するコマンド,およびSQL文(定義系SQLなど)がエラーとなっている場合

  8. adbmergechunkコマンドでマージ元チャンクの削除が完了していない場合,マージチャンク処理で一時的に使用するシステム用のチャンクが,表のサマリ情報の「表で作成されたチャンク数」に含まれます。そのため,表のサマリ情報の「表で作成されたチャンク数」が,表定義時に指定した「チャンク数の最大値」より1つ多くなることがあります。

  9. adbmergechunkコマンドで表のセグメントがマージされた場合,再利用されないページ数が増加し,使用中ページ数が増えることがあります。そのため,adbdbstatusコマンドで使用中ページ数を確認したときに,マージチャンク処理の前後で使用中ページ数の値が変わる(増える)ことがあります。

  10. 次に示す項目をメガバイト単位またはギガバイト単位で出力する場合(-SオプションにMまたはGを指定する場合),各項目の値は小数点第1位を切り上げて,正の整数または0で出力されます。

    このため,各項目の値が小さいケース(メガバイト単位で出力するときは102.4キロバイト未満,ギガバイト単位で出力するときは102.4メガバイト未満)では,各項目に0が出力されます。正確な値を知りたい場合は,-SオプションにKを指定し,各項目をキロバイト単位で出力してください。

  11. 次に示す項目の表示単位は,タイトル行に出力されます。

    このため,各項目の表示単位を確認する場合は,-tオプションを省略して,タイトル行を出力してください。また,adbdbstatusコマンドの出力結果を保存する場合も,表示単位を確認できるようにするために,タイトル行と出力結果をあわせて保存してください。

  12. 次に示す情報を出力する場合,ディクショナリ用DBエリアおよびシステム表用DBエリアに関する行では,HADBが使用する表やインデクスに関する情報が出力されます(HADBユーザが定義した表およびインデクス以外の情報が出力されます)。

    • 表のサマリ情報

    • インデクスのサマリ情報

    • DBエリア,表とインデクスの使用量情報

  13. adbreorgsystemdataコマンドの実行中にエラーが発生し,再編成前のデータが残った場合,再編成前のデータは「削除仕掛中のチャンク」として出力されます。