Hitachi

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


11.22.5 一時表の排他制御

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

〈この項の構成〉

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

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

表11‒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文(一時表の削除)



目次