Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


2.10.6 データベースの参照・更新時に排他が取得されるディクショナリ表とシステム表

SQL文やコマンドを実行してデータベースを参照したり更新したりすると,ディクショナリ表(実表)とシステム表(実表)に対する排他が取得されます。データベースを参照したり更新したりした場合に,排他が取得されるディクショナリ表とシステム表について,次の2つの表に示します。

表2‒17 データベースの参照・更新時に排他が取得されるディクショナリ表とシステム表(その1)

[図データ]

(凡例)

EX

占有モード(EX)で排他を取得します。

SRW

共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。

SR

共有参照モード(SR)で排他を取得します。

SQL文中に次のどれかの指定がある場合に限り,共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。

  1. ADB_AUDITREAD関数を指定した表関数導出表

  2. ディクショナリ表のSQL_AUDITS

  3. ADB_AUDITREAD関数を指定した表関数導出表をCREATE VIEW文中に指定して定義されたビュー表

  4. ディクショナリ表のSQL_AUDITS表をCREATE VIEW文中に指定して定義されたビュー表

  5. 3.または4.のビュー表に依存するビュー表

表2‒18 データベースの参照・更新時に排他が取得されるディクショナリ表とシステム表(その2)

[図データ]

(凡例)

SRW

共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。

SR

共有参照モード(SR)で排他を取得します。

SR/SUW

SQL文やコマンドの操作対象表ではない場合は,共有参照モード(SR)で排他を取得します。

SQL文やコマンドの操作対象表である場合は,共有更新モード(SU)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。

−/SUW

SQL文やコマンドの操作対象表ではない場合は,排他を取得しません。

SQL文やコマンドの操作対象表である場合は,共有更新モード(SU)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。