11.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を実行します。実行結果から次の表に示す項目を確認し,条件を満たさない場合はそれぞれ対処してください。
表11‒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と同じです。
-
-