1.349 TEMP_UNDO_ENABLED
TEMP_UNDO_ENABLED
では、特定のセッション内のトランザクションが一時UNDOログを持つことができるかどうかを決定します。
特性 | 説明 |
---|---|
パラメータ・タイプ |
ブール値 |
デフォルト値 |
|
変更可能 |
|
PDBで変更可能 |
はい |
値の範囲 |
|
基本 |
いいえ |
Oracle RAC |
各インスタンスの各セッションには、独自の値を設定できるか、または値をいっさい設定できない。 |
データベース・トランザクションに対するデフォルトでは、トランザクションごとに1つのUNDOログを持つように選択されています。このパラメータによって、セッション・レベルまたはシステム・レベルの範囲で、トランザクションがそのUNDOログを一時UNDOログ(一時オブジェクト上の変更を対象)および永続UNDOログ(永続オブジェクト上の変更を対象)に分割できるようになります。
トランザクションのUNDOストリームを2つのストリーム(一時および永続)に分割することにより、データベースはこれらのストリーム対して個別のストレージおよび保存モデルを提供できるようになります。その結果、データベース内のUNDOログおよびREDOログのサイズが全体的に削減されます。
データベース・アプリケーションが一時オブジェクトを利用する場合(グローバル一時表または一時表の変換を使用)、このパラメータの値をtrue
に設定することをお薦めします。
TEMP_UNDO_ENABLED
がtrue
に設定され、COMPATIBLE初期化パラメータが12.0.0
に設定されている場合、この機能が使用可能となります。一時UNDO機能は、この機能が設定されたセッションで使用可能となります。システム全体で設定することにより、すべての既存および今後のセッションが影響を受けます。値がinit.ora
ファイル内で設定されている場合、ALTER SESSIONまたはALTER SYSTEM文で明示的に上書きされないかぎり、今後のすべてのセッションがこの値を継承します。一時オブジェクト上の操作のすべてのUNDOは、一時的とみなされます。
TEMP_UNDO_ENABLED
がtrue
に設定されていない場合、一時オブジェクトを利用する既存のアプリケーションは、何も変更なく現状で実行されます。
パラメータの値が一度設定されると、セッションの存続期間中にこの値を変更できません。セッションに一時UNDOを使用している一時オブジェクトがある場合、このセッションに対してパラメータを無効にできません。同様に、通常のUNDOを使用している一時オブジェクトがセッションにすでに存在している場合、このパラメータの設定は影響を受けません。
このパラメータはプライマリ・データベースにのみ適用されます。スタンバイ・データベースでは一時UNDOがデフォルトで使用可能になっているため、スタンバイ・データベースではこのパラメータは無視されます。
関連項目:
一時UNDOの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。