Hitachi

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


12.22.5 一時表の排他制御

一時表はトランザクション又はSQLセッションごとに固有のデータを保持し,ほかのユーザからアクセスされない表のため,実体化以外では,表の操作に対する排他は基本的に取得しません。一時表の排他制御について説明します。

〈この項の構成〉

(1) 一時表の実体化時に取得する排他

一時表が実体化する時に,次に示す排他を取得します。

表12‒29 一時表の実体化時に取得する排他

資源種別名

内容

排他解除時期

トランザクション固有一時表

SQLセッション固有一時表

RDAR

RDエリア(表及びインデクス※1格納RDエリア)

トランザクション決着時

DISCONNECT文完了時

TABL

表

RATM

ユーザディレクトリ表情報

RAIM

ユーザディレクトリインデクス情報※1

SBMB

ユーザディレクトリセグメント情報

TEMP

一時表実体化管理情報

一時表の実体化後※2

TPID

ユーザ固有ID管理(一時表)

DISCONNECT文完了時

RDAS

RDエリア状態管理

一時表の実体化後※2

RRAM,

TRAL,

TRAI

RDエリア管理情報

PTBL

前処理表

DISCONNECT文完了時

注※1

一時インデクスがある場合だけです。

注※2

この資源に対する排他は実体化時に一時的に取得する排他です。

(2) 一時表に対する操作で取得する排他

次のSQL文を実行すると,前処理表(PTBL)に対してだけ排他を取得します。

  • LOCK文

  • CREATE INDEX文

  • DROP INDEX文

  • DROP TABLE文

なお,一時表に対して次のSQL文を実行しても,ページ,行,キー値の排他は取得しません。

  • SELECT文

  • INSERT文

  • UPDATE文

  • DELETE文

  • PURGE TABLE文

(3) 排他待ち又は実行エラーになる操作

一時表を操作している場合,次に示す操作のどれかを同時に実行すると,排他待ち又は実行エラーになるおそれがあります。

  • pdclose(一時表用RDエリアのクローズ)

  • pdhold(一時表用RDエリアの閉塞)

  • pdopen(一時表用RDエリアのオープン)

  • pdrels(一時表用RDエリアの閉塞解除)

  • pdmodコマンドのcreate rdarea文(一時表用RDエリアの追加)

  • pdmodコマンドのinitialize rdarea文(一時表用RDエリアの再初期化)

  • pdmodコマンドのremove rdarea文(一時表用RDエリアの削除)

  • CREATE INDEX文(一時インデクスの定義)

  • DROP INDEX文(一時インデクスの削除)

  • DROP SCHEMA文(スキーマの削除)

  • DROP TABLE文(一時表の削除)



目次