2.402 TXN_PRIORITY
TXN_PRIORITY
は、セッション内のすべてのユーザー・トランザクションの自動トランザクション・ロールバックの優先度を指定します。
特性 | 説明 |
---|---|
パラメータ・タイプ |
文字列 |
構文 |
|
デフォルト値 |
|
変更可能 |
|
PDBで変更可能 |
いいえ |
基本 |
いいえ |
自動トランザクション・ロールバック機能は、優先度の高いトランザクションによる行ロックの取得をブロックしている優先度が低いトランザクションが自動的にロールバックされます。
TXN_PRIORITY
パラメータを使用して、特定のユーザー・セッション内のすべてのトランザクションに、優先度(HIGH
、MEDIUM
またはLOW
)を割り当てることができます。自動トランザクション・ロールバックは、次に示す3つの優先度に対して、次のように動作します。
-
HIGH
- 自動トランザクション・ロールバックが別のトランザクションの行ロックを解除するために、HIGH
優先度のトランザクションをロールバックすることはありません。これはデフォルトです。 -
MEDIUM
- 自動トランザクション・ロールバックは、HIGH
優先度のトランザクションで必要な行ロックを保持しており、HIGH
優先度のトランザクションがTXN_AUTO_ROLLBACK_HIGH_PRIORITY_WAIT_TARGET
パラメータで指定された時間より長く行ロックを待機している場合に、MEDIUM
優先度のトランザクションをロールバックします。 -
LOW
- 自動トランザクション・ロールバックは、HIGH
またはMEDIUM
優先度のトランザクションで必要な行ロックを保持しており、HIGH
またはMEDIUM
優先度のトランザクションが、それぞれTXN_AUTO_ROLLBACK_HIGH_PRIORITY_WAIT_TARGET
またはTXN_AUTO_ROLLBACK_MEDIUM_PRIORITY_WAIT_TARGET
パラメータで指定された時間よりも長く行ロックを待機している場合に、LOW
優先度のトランザクションをロールバックします。行ロックを待機して
LOW
優先度のトランザクションがブロックされている場合、自動トランザクション・ロールバックは優先度に関係なく、行ロックを保持しているトランザクションをロールバックしません。
V$TRANSACTION
ビューのTXN_PRIORITY
列とTXN_PRIORITY_WAIT_TARGET
列を問い合せることで、トランザクションの優先度と最大待機時間を表示できます。
ノート:
このパラメータは、Oracle Database 23c以降で使用できます。
関連項目:
-
自動トランザクション・ロールバックの詳細は、『Oracle Database管理者ガイド』を参照してください