2.10.7 データベースの参照・更新時に排他が取得されるディクショナリ表とシステム表
SQL文やコマンドを実行してデータベースを参照したり更新したりすると,ディクショナリ表(実表)とシステム表(実表)に対する排他が取得されます。データベースを参照したり更新したりした場合に,排他が取得されるディクショナリ表とシステム表について,次の2つの表に示します。
(凡例)
- EX
-
占有モード(EX)で排他を取得します。
- SRW
-
共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。
- SR
-
共有参照モード(SR)で排他を取得します。
- ●
-
SQL文中に次のどれかの指定がある場合に限り,共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。
-
ADB_AUDITREAD関数を指定した表関数導出表
-
ディクショナリ表のSQL_AUDITS表
-
ADB_AUDITREAD関数を指定した表関数導出表をCREATE VIEW文中に指定して定義されたビュー表
-
ディクショナリ表のSQL_AUDITS表をCREATE VIEW文中に指定して定義されたビュー表
-
3.または4.のビュー表に依存するビュー表
-
(凡例)
- SRW
-
共有参照モード(SR)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。
- SR
-
共有参照モード(SR)で排他を取得します。
- SR/SUW
-
SQL文やコマンドの操作対象表ではない場合は,共有参照モード(SR)で排他を取得します。
SQL文やコマンドの操作対象表である場合は,共有更新モード(SU)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。
- −/SUW
-
SQL文やコマンドの操作対象表ではない場合は,排他を取得しません。
SQL文やコマンドの操作対象表である場合は,共有更新モード(SU)で排他を取得します。なお,ほかのトランザクションによって対象の排他資源がすでに確保されている場合は,確保できるまで待ち状態になります。