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

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

11.5 注意事項

  1. pdreclaimは内部的にpdrorgを実行するため,同時実行可能数はpdrorgの上限と同じになります。つまり,pdreclaimの同時実行可能数は,「pdrorgの同時実行可能数−実行中のpdrorg数」となります。
  2. ビュー表,及び外部表は処理対象外です。
  3. LOB用RDエリアは処理対象外です。したがって,抽象データ型,及びプラグインインデクスを格納しているLOB用RDエリアも処理対象外となります。
  4. インデクスの使用中空きページ解放をする場合,解放中のページをUAPがアクセスしているときは,該当するUAPのトランザクションが決着するまでpdreclaimが待ち状態になります。このpdreclaimの待ち時間は,-wオプションで指定できます。
  5. 実行中のpdreclaimを強制終了させる場合は,pdcancelコマンドで強制終了させてください。pdkillコマンドなどで強制終了しても,pdreclaimは終了しません。
  6. -jオプションを指定したpdreclaimを実行する場合,UAPが不当に排他待ちとならないように,pdholdコマンドでRDエリアを閉塞しておくことをお勧めします。
    pdreclaimに-jオプションを指定すると,表及びインデクスを格納しているRDエリアに対してEXモードの排他を掛けるため,表及びインデクスを格納しているRDエリア全体がアクセスできなくなります。この排他制御は,-wオプション,及び-nオプションの指定によって,次の表に示すように動作します。

    表11-11 空きセグメント解放時の排他制御の動作

    オプションの指定値 1回の排他待ち時間 排他エラー発生時
    -w -n 排他待ちタイムアウトエラー タイムアウト以外のエラー
    排他のリトライ リトライ回数 対処 対処
    指定なし 無限
    指定あり 指定なし -wオプションに指定した時間 なし 0 エラーメッセージを出力して処理を打ち切ります。 エラーメッセージを出力して処理を打ち切ります。
    指定あり あり -nオプションに指定した回数 -nオプションに指定した回数まで排他リトライをします。
    -nオプションに指定した回数で,タイムアウトした場合は,メッセージを出力して処理を打ち切ります。
    (凡例)
    −:該当しません。
    空きセグメント解放で排他する資源を次の表に示します。

    表11-12 空きセグメント解放で排他する資源

    資源名称 資源番号 モード 排他の目的 排他リトライの有無
    pdreclaim 5006 EX 同一資源へのpdreclaim同時実行抑止 pdreclaim実行中の場合は,処理を打ち切るため,排他リトライはありません。
    RDエリア名 0001 EX 空きセグメント解放中のRDエリアへのアクセス抑止 -nオプションを指定しているときに,排他待ちタイムアウトエラーが発生すると,排他リトライをします。
    表名 0002 SR pdreclaim実行中の場合は,処理を打ち切るため,排他リトライはありません。
    インデクス名 0003 SU
    表名(NO WAIT検索時) 000B SR
    RRAMB 0102 SR RDエリアへのEXモードの排他が成功した後に確保する資源のため,タイムアウトエラーは発生しません。このため,排他リトライはありません。
  7. pdreclaimのリターンコードを次の表に示します。

    表11-13 pdreclaimのリターンコード

    リターンコード 意味 対処方法
    0 使用中空きページ,使用中空きセグメントの解放が完了しました。 なし。
    4 UAPのトランザクション決着待ち時間,又はホールダブルカーソルを使用した検索の実行待ち時間のタイムオーバーが発生したため,処理を中断しました。 タイムオーバーで使用中空きページ解放,又は使用中空きセグメント解放を中断した状態のため,表,及びインデクスの状態は保証されます。したがって,このままでも表,及びインデクスはUAPからアクセスできます。
    未解放の使用中空きページを解放するには,pdreclaimを再度実行してください。
    インデクスの空きページ解放を行った場合,及び-aオプション指定のpdreclaimを実行した場合は,pddbstで解放途中のセグメント及びページがないことを確認してください。インデクスの空きページ解放の場合,解放途中のページがあるときは,pdreclaimを再実行するか,又はpdrorgでインデクスの再編成を実行してください。-aオプション指定のpdreclaimの場合,解放途中セグメントがあるときは,pdreclaimを再実行するか,又はpdrorgで表の再編成を実行してください。
    8 異常終了しました。 エラーによって使用中空きページ解放を中断した状態のため,表,及びインデクスの状態は保証されます。したがって,異常終了後でも表,及びインデクスはUAPからアクセスできます。
    pdreclaimを再度実行する場合は,出力されたエラーメッセージを参照してエラー原因を取り除いてください。
    -aオプションを指定している場合は,解放途中セグメントが残ることがあるため,pdreclaimを再度実行してください。
    インデクスの空きページ解放を行った場合,及び-aオプション指定のpdreclaimを実行した場合は,pddbstで解放途中のセグメント及びページがないことを確認してください。インデクスの空きページ解放の場合,解放途中のページがあるときは,pdreclaimを再実行するか,又はpdrorgでインデクスの再編成を実行してください。-aオプション指定のpdreclaimの場合,解放途中セグメントがあるときは,pdreclaimを再実行するか,又はpdrorgで表の再編成を実行してください。
  8. 処理対象の表に,ユーザが定義した抽象データ型列がある場合,pdreclaimは実行できません。
  9. 共用表,又は共用インデクスに対してpdreclaimを実行する場合,共用表,又は共用インデクスを格納しているRDエリアに対してEXモードで排他を掛けます。そのため,該当するRDエリアに定義したほかの表やインデクスも参照,及び更新ができません。共用表に対してpdreclaimを実行する場合の排他制御モードについては,「付録B.2 ユティリティの排他制御モード」を参照してください。
  10. HiRDB/パラレルサーバの場合,通信回線の混雑によってバックエンドサーバからpdreclaimに対する送信電文が1秒以上遅れたときは,該当するバックエンドサーバの処理結果が標準出力に表示されないことがあります。この場合,メッセージログファイル又はイベントログに出力されるKFPL00714-Iメッセージで処理結果を確認してください。
  11. pdreclaimを実行している表やインデクスに対して,定義系SQLは実行しないでください。実行すると,pdreclaimが異常終了します。スキーマ単位にpdreclaimを実行している場合は,該当スキーマが持つすべての表とインデクスが対象となります。
  12. pdntenvコマンドで文字コードとしてutf-8を選択した場合,pdreclaimの制御情報ファイルには,BOMを持つファイルを使用できますが,BOMは読み飛ばされます。