2.349 SESSION_EXIT_ON_PACKAGE_STATE_ERROR

セッションの状態が無効化されたときに強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERRORを使用します。

状態無効化後にセッションを終了すると、アプリケーションが無効な状態を誤って処理したときに発生する可能性のあるエラーを回避できます。

特性 説明

パラメータ・タイプ

ブール値

デフォルト値

FALSE

変更可能

ALTER SESSIONALTER SYSTEM

PDBで変更可能

はい

値の範囲

TRUE | FALSE

基本

いいえ

Oracle RAC

インスタンスごとに異なる値を使用可能。

次の状況で強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEに設定します。

  • ステートフルPL/SQLパッケージが変更を受けるときに、そのパッケージのアクティブなインスタンス化があるセッションは、パッケージを実行しようとするとORA-4068エラーを受け取ります。SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEに設定されている場合、セッションはORA-04068を生成するかわりにすぐに終了します。多くのアプリケーションは破棄されるセッションを処理する機能を備えているのがよく、セッション状態に関連するエラー(ORA-04068など)の捕捉に失敗するとサイレント・データ破損につながる可能性があるため、これが有効です。

  • DDLを介してOracle Database Multilingual Engine (MLE)モジュールまたは環境を変更すると、オブジェクトのアクティブなインスタンス化を持つセッションは、ORA-4106またはORA-4107エラーを受け取ります。SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEに設定すると、セッション状態が無効になった場合、セッションは強制的に切断されます。多くのアプリケーションがセッション切断を取得するため、このオプションを使用すると、既存のセッション状態の無効化からのリカバリを簡略化できます。

ノート:

このパラメータは、Oracle Database 23c以降で使用できます。