Flashback Query는 과거 시점의 데이터를 UNDO를 이용해 SELECT로 조회하는 기능이다.
- Oracle은 DML 전 데이터를 UNDO에 저장
- Flashback Query는:
- UNDO를 재조합하여
- 과거 시점의 SCN / 시간 상태를 재구성
📌 UNDO가 남아 있어야 가능하다, undo는 휘발성 로그이기 때문에 현재 DB 시스템의 UNDO_RETENTION 파라미터 값이 클수록 유리하다.
SELECT *
FROM [테이블] AS OF TIMESTAMP(to_date('2025/03/16 20:32:00','YYYY/MM/DD HH24:MI:SS'))
WHERE [조건절(필요시)];
혹은 (SCN기반)
SELECT *
FROM [테이블] AS OF SCN 123456789
WHERE [조건절(필요시)];
Flashback Versions Query는 특정 기간 동안 데이터가 어떻게 변했는지 조회하는 기능이다.
- Flashback Version Query는:
- 시계열로 데이터의 변화 이력 흐름을 볼 수 있으며
- VERSIONS_OPERATION : I / U / D 로 데이터 DML을 유추
- VERSIONS_STARTTIME, VERSIONS_ENDTIME 은 선분이력 테이블의 시작일시와 종료일시 개념
select VERSIONS_STARTTIME as "start timestamp of version",
VERSIONS_ENDTIME as "end timestamp of version",
VERSIONS_XID as "transaction ID of version",
VERSIONS_STARTSCN as "start SCN of version",
VERSIONS_ENDSCN as "end SCN of version",
VERSIONS_OPERATION as "DML operation of version".
a.*
from [테이블] versions between scn minvalue and maxvalue a
where VERSIONS_OPERATION is not null
[조건절(필요시)]
;'Admin' 카테고리의 다른 글
| ORACLE LogMiner (0) | 2026.02.11 |
|---|---|
| WITH GRANT OPTION이 필요한 진짜 이유 – VIEW와 PROCEDURE에서의 차이 (0) | 2026.01.28 |
| 분산 트랜잭션, 2PC PENDING (0) | 2026.01.05 |
| ORACLE 청크 공간 재사용 테스트, clob (1) | 2025.12.30 |
| Diagnostic Pack / Tuning Pack (0) | 2025.07.03 |