rdblkinfのPurpose欄の意味について
- rdblkinfコマンドの結果として表示される「REFER|UPDATE」とは、どのような状態ですか?
- rdblkinfコマンドで資源の占有情報を表示させたとき、占有目的「Purpose」の欄には、以下の3種類の状態が表示されます。
-
REFER : 参照
-
UPDATE : 更新
-
REFER|UPDATE : 参照更新
「REFER|UPDATE」が出力されるのは、先行の更新処理において、参照と更新が行われる場合に表示されます。
更新処理では、更新対象となるレコードを検索してから更新を行います。更新対象を検索する際の占有目的は「REFER」です。その後、レコードを更新するために非共有モードで占有しなおしますが、そのときの占有目的は「UPDATE」です。その結果、占有目的は「REFER」と「UPDATE」の両方になるため、「REFER|UPDATE」となります。以下の条件の場合に出力されます。
-
先行処理がUPDATE文:探索、DELETE文:探索の場合。ただし、動作環境ファイルにUSQL_LOCK=EXを指定した場合などは、「UPDATE」となります。
-
先行処理がUPDATE文:位置づけや、DELETE文:位置づけの場合で、DECLARE CURSORでFOR UPDATEを記述しない場合。
-
先行処理がINSERT文を実施し、同一トランザクション内で挿入レコードを参照した場合。
-
製品・サービス区分 | Symfoware | ||||
---|---|---|---|---|---|
製品・サービス情報 |
|
||||
アンサー種別 | 運用/保守 |