오라클[Oracle] 테이블 이전 데이터 조회 AS OF TIMESTAMP

DB를 잘못 commit를 하거나 잘못된 실행으로 데이터가 변경이 되어서 이전 데이터를 찾는 방법입니다. 


1. 현재시간보다 이전시간 조회 


 SELECT * FROM  TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTEwhere 1=1 -- 10분 이전 데이터 조회

 SELECT * FROM  TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '1' HOURwhere 1=1 -- 1시간 이전 데이터 조회 

 SELECT * FROM  TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '1' DAYwhere 1=1 -- 하루전 데이터 조회


2. 특정 날짜로 조회


 SELECT * FROM  TABLE AS OF TIMESTAMP(TO_DATE('20190101000000', 'YYYYMMDDHH24MISS')) where 1=1 -- 2019년 1월 1일 조회


3. 데이터 복구

FLASHBACK TABLE TABLE TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE); -- 10분이전 데이터로 복구 





+ Recent posts