회사 개발 정리
[오라클 Oracle] 플래시백(FlashBack)
inkyoung
2023. 3. 10. 11:43
1. 플래시백(FlashBack)이란?
* 과거 일정시점의 데이터를 조회할 수 있는 기능(오라클 9i부터 지원)
* 커밋을 완료한 데이터도 조회 가능
* 무한대의 과거 시점 조회는 불가능(undo 영역에 남아있어야 조회처리가 가능)
- init.ora -> undo_retention 설정(디폴트: 10800(3시간))
2. 플래시백 사용 방법
--30분 이전의 해당 테이블 데이터 조회
SELECT *
FROM CM_PRG_MST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '30' MINUTE)
WHERE PRG_ID = 'OD014'
--3시간 이전의 해당 테이블 데이터 조회
SELECT *
FROM CM_PRG_MST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '3' HOUR)
WHERE PRG_ID = 'OD014'
--1일 이전의 해당 테이블 데이터 조회
SELECT *
FROM CM_PRG_MST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY)
WHERE PRG_ID = 'OD014'
--특정 시간의 해당 테이블 데이터 조회
SELECT *
FROM CM_PRG_MST AS OF TIMESTAMP TO_TIMESTAMP('20190309120900','YYYYMMDDHH24MISS')
WHERE PRG_ID = 'OD014'
3. Undo가 가득 차서 조회가 불가능한 경우
* ORA-01555: snapshot too old 에러가 발생하며 조회 불가