2.349 SESSION_EXIT_ON_PACKAGE_STATE_ERROR
セッションの状態が無効化されたときに強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERROR
を使用します。
状態無効化後にセッションを終了すると、アプリケーションが無効な状態を誤って処理したときに発生する可能性のあるエラーを回避できます。
特性 | 説明 |
---|---|
パラメータ・タイプ |
ブール値 |
デフォルト値 |
|
変更可能 |
|
PDBで変更可能 |
はい |
値の範囲 |
|
基本 |
いいえ |
Oracle RAC |
インスタンスごとに異なる値を使用可能。 |
次の状況で強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERROR
をTRUE
に設定します。
-
ステートフルPL/SQLパッケージが変更を受けるときに、そのパッケージのアクティブなインスタンス化があるセッションは、パッケージを実行しようとすると
ORA-4068
エラーを受け取ります。SESSION_EXIT_ON_PACKAGE_STATE_ERROR
がTRUE
に設定されている場合、セッションはORA-04068
を生成するかわりにすぐに終了します。多くのアプリケーションは破棄されるセッションを処理する機能を備えているのがよく、セッション状態に関連するエラー(ORA-04068
など)の捕捉に失敗するとサイレント・データ破損につながる可能性があるため、これが有効です。 -
DDLを介してOracle Database Multilingual Engine (MLE)モジュールまたは環境を変更すると、オブジェクトのアクティブなインスタンス化を持つセッションは、
ORA-4106
またはORA-4107
エラーを受け取ります。SESSION_EXIT_ON_PACKAGE_STATE_ERROR
をTRUE
に設定すると、セッション状態が無効になった場合、セッションは強制的に切断されます。多くのアプリケーションがセッション切断を取得するため、このオプションを使用すると、既存のセッション状態の無効化からのリカバリを簡略化できます。
ノート:
このパラメータは、Oracle Database 23c以降で使用できます。