2.402 TXN_PRIORITY

TXN_PRIORITYは、セッション内のすべてのユーザー・トランザクションの自動トランザクション・ロールバックの優先度を指定します。

特性 説明

パラメータ・タイプ

文字列

構文

TXN_PRIORITY = { HIGH | MEDIUM | LOW }

デフォルト値

HIGH

変更可能

ALTER SESSION

PDBで変更可能

いいえ

基本

いいえ

自動トランザクション・ロールバック機能は、優先度の高いトランザクションによる行ロックの取得をブロックしている優先度が低いトランザクションが自動的にロールバックされます。

TXN_PRIORITYパラメータを使用して、特定のユーザー・セッション内のすべてのトランザクションに、優先度(HIGHMEDIUMまたは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以降で使用できます。

関連項目: