데이터베이스 객체의 과거 상태를 보거나 이전 상태로 되돌릴 수 있게 해주는 기술.
과거 시점의 데이터를 검색하기 위한 쿼리이며(읽기 전용), 타임스탬프(TIMESTAMP) 또는 시스템 변경 번호(SCN)를 통해 조회함.
Flashback Query는 Undo에 저장된 트랜잭션의 Start SCN과 Commit SCN 사이의 정보를 따라가며 재구성
▶️ 내부 구조 흐름
▶️ Undo 정보 부족으로 인한 ORA-01555: snapshot too old
Undo는 undo_retention 설정만큼 보존 되지만, 공간이 부족하면 overwrite 될 수 있음. (Undo Tablespace의 강제 보존 모드에 따라 될 수 있음)
Undo 정보가 이미 overwrite되어 존재하지 않기 때문에 과거 snapshot 상태로 재구성 할 수 없음.
undo_retention 시간을 늘리거나, 장기 보존이 필요 시 Flashback Data Archive(FDA) 사용