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 에러가 발생하며 조회 불가
'회사 개발 정리' 카테고리의 다른 글
[오라클 Oracle] 테이블 스페이스 용량 확인 (0) | 2023.03.15 |
---|---|
[오라클 Oracle] 스케쥴러 Job 생성하기 (0) | 2023.03.10 |
[오라클 Oracle] 특정시간 대 CPU 과점유 확인을 위한 SQL 수행횟수 확인 (0) | 2023.03.10 |
[오라클 Oracle] Lock 발생 테이블 찾기 (0) | 2023.03.10 |