DBAtlas · データベース運用アトラス

ORA-01555: Snapshot too old: rollback segment number too small(スナップショットが古すぎる)

Oracle

意味

長時間実行中のクエリが、開始時点の読み取り一貫性イメージを構築するのに必要な古い undo データにアクセスできなかった。その undo 情報が上書きされたため。

原因

小さい undo 表領域、短い UNDO_RETENTION、非常に高負荷な同時 DML 中の長時間クエリ、またはクエリ内で同じテーブルに対してコミットするループ (fetch across commit)。

対処方法

UNDO_RETENTION を増やし、undo 表領域を拡大する。可能なら自動管理 (AUTOEXTEND on) に任せる。長いクエリを小さく分割するか、オフピークに実行する。RETENTION GUARANTEE を検討する: ALTER TABLESPACE undotbs1 RETENTION GUARANTEE。ループ内でコミットするアプリケーションロジックを修正する。

DBAtlas で開く →

同じデータベースの他の項目