1.327 UNDO_RETENTION

UNDO_RETENTIONには、UNDO保存の下限値(秒)を指定します。

特性 説明

パラメータ・タイプ

整数

デフォルト値

900

変更可能

ALTER SYSTEM

PDBで変更可能

はい

値の範囲

0から231 - 1

基本

いいえ

Oracle RAC

複数インスタンスには同じ値を指定することを推奨。

AUTOEXTEND UNDO表領域の場合、UNDOは、このパラメータに指定した時間以上に保存され、問合せに対するUNDO要件にあわせてUNDO保存期間が自動的にチューニングされます。固定サイズのUNDO表領域の場合、UNDO表領域のサイズおよび使用履歴に基づいて、可能な最長のUNDO保存期間に自動的にチューニングされます。また、その表領域に対して保存保証が有効になっている場合を除き、UNDO_RETENTIONは無視されます。

UNDO保存の自動チューニングは、LOBに対してサポートされていません。LOB列のRETENTION値は、UNDO_RETENTIONパラメータの値に設定されます。

UNDO_RETENTIONパラメータは、現行のUNDO表領域に十分な領域がある場合にのみ有効です。アクティブ・トランザクションにUNDO領域が必要で、UNDO表領域に空きがない場合、期限切れ前のUNDO領域を再利用して、システムが起動します。この操作により、一部の問合せが正常に実行されず、「スナップショットが古すぎます」というメッセージが表示される場合があります。

現行のUNDO表領域に対してUNDOがOracle Databaseで保存される時間は、V$UNDOSTAT動的パフォーマンス・ビューのTUNED_UNDORETENTION列に問い合せて取得できます。

このパラメータをPDBで変更できるのは、PDBがローカルUNDOモードである場合のみです。PDBが共有UNDOモードである場合、このパラメータは変更できません。

UNDO_RETENTIONの変更に関する推奨事項

通常は、UNDO_RETENTIONをデフォルト値に設定しておくことをお薦めします。このパラメータの変更は、次の状況でのみお薦めします。

  • Oracle Flashback Queryなどのフラッシュバック機能を使用する場合は、システムで最も長く実行されている問合せよりも長くUNDOを保存する必要があるため、UNDO_RETENTIONの値を大きくする必要があることがあります。

  • Oracle Active Data Guard環境では、スタンバイ・インスタンスでのUNDO保存要件に対応するために、プライマリ・インスタンスでのUNDO_RETENTIONの値を大きくする必要があることがあります。これにより、プライマリ・インスタンスで、スタンバイ・インスタンスで問合せを処理する時間より長くUNDOを保存できます。詳細は、『Oracle Database管理者ガイド』および『Oracle Data Guard概要および管理』を参照してください。

関連項目: