본문 바로가기

[ORACLE] DROP, DELETE, UPDATE등 원복 (TIMESTAMP, FLASHBACK)

I'm 영서 2022. 4. 12.
반응형

실수로 데이터를 찾아야할떄.. 긴급하게 사용가능한 SQL문을 소개하려고한다.

 


TIMESTAMP

 

 

TIMESTAMP를 통해 특정 시간의 테이블정보를 조회할 수 있다.

 

-- TABLE_NAME 테이블의 10분전 데이터 조회
SELECT * 
   FROM TABLE_NAME AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE)    
   
 -- 당연하게도 WHERE 조건도 JOIN도 다 가능하다..
 SELECT * 
   FROM TABLE_NAME AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE)    
  WHERE CD_KEY = ''
  
  -- 특정 시간의 테이블도 조회 가능하다
 SELECT * 
   FROM TABLE_NAME AS OF TIMESTAMP(TO_DATE('2022-04-12 16:47:00', 'YYYY-MM-DD HH24:MI:SS'))

* 만능은 아닌게 서버의 세팅에 따라 조회할 수 있는 범위가 좁아질수도, 넓어질수도 있어서 항상 데이터를 건드릴때는 주의해야한다..

 

 

 

 


FLASHBACK

추가적으로 DROP을 삭제한 경우에는 재빠르게  Recyclebin 을 조회하자.

.

-- RECYCLEBIN에서 조회
SELECT * FROM RECYCLEBIN 

-- FLASHBACK 명령어로 삭제된 테이블을 복구..!
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;

 

해당 방법으로 조회하면 된다.

 

관련 자세한 사항은 아주 잘 정리해준 블로그가 있어서 링크로 대체..

 

반응형

댓글