Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


12.22.4 一時表用RDエリアがない場合の対処

HiRDBが一時表にデータを格納する時に,使用できる一時表用RDエリアがない場合,KFPA19704-Eメッセージを出力し,トランザクションを無効にします。このとき,KFPA19704-Eメッセージで出力されるエラー要因は,最初に格納先候補になったRDエリアのものだけです。メッセージに表示されたRDエリアの対処をしても,頻繁に同じメッセージが出力される場合,次に示す方法で,ほかの一時表用RDエリアの状態を確認し,対処してください。

〈対処方法〉

pddbls -Tコマンドを実行します。

実行結果から,RDAREA_FOR_TEMPORARY_TABLEにOCCUPIED又はSHAREDが表示されているRDエリアがあるかどうかを確認します。

  • OCCUPIED又はSHAREDが表示されているRDエリアがない場合

    使用できる一時表用RDエリアがありません。特定SQLセッション占有属性の一時表用RDエリアを追加し,必要に応じて追加したRDエリアをクライアント環境定義PDTMPTBLRDAREAに指定してください。

  • OCCUPIED又はSHAREDが表示されているRDエリアがある場合

    一時表用RDエリアはありますが,格納先の条件に合致するRDエリアがありません(格納先の条件は,「条件に合致するRDエリアの決定」を参照)。どの条件に合致しないのかを調査するため,一時表用RDエリアに対してpddbls -a -T,及びpddbst -k -physを実行します。実行結果から次の表に示す項目を確認し,条件を満たさない場合はそれぞれ対処してください。

    表12‒28 確認項目と対処方法

    項番

    コマンド

    確認項目

    内容

    対処

    1

    pddbls -a -T

    STATUS

    RDエリアの状態

    RDエリアが次の状態の場合,対処が必要です。

    • クローズ状態

    • 閉塞中

    • pdholdコマンド受け付け状態

    RDエリアをオープンしたり,閉塞を解除したりしてUAPがアクセスできる状態にしてください。障害閉塞のときは,pdmodコマンドで一時表用RDエリアを再初期化(initialize rdarea文)してください。

    2

    SEGMENT

    RDエリア内の未使用セグメント数

    未使用セグメントがない場合,pdmodコマンドで次のどれかの対処をしてください。

    • 一時表用RDエリアを追加する(create rdarea文)

    • 作成済みの一時表用RDエリアを再初期化する(initialize rdarea文)

    • 作成済みの一時表用RDエリアを拡張する(expand rdarea文)

    • 作成済みの一時表用RDエリアの属性変更(alter rdarea)で,自動増分を適用する

    3

    pddbst -k -phys

    Page Size

    RDエリアのページ長

    ページ長についての条件を満たしていない場合,次のどちらかの対処をしてください。

    • ページ長についての条件を満たす一時表用RDエリアを追加する

    • 条件を満たすように作成済みの一時表用RDエリアのページ長を変更する

    4

    Unused Segment

    RDエリア内の未使用セグメント数

    項番2と同じです。