본문 바로가기
웹프로그래밍/Oracle or Sql

SQL ORACLE, TIBERO DB TIMESTAMP를 이용한 복구(실수로 DELETE)

by Seras 2020. 4. 14.
반응형

SQL DB TIMESTAMP를 이용한 복구(실수로 DELETE)

 

종종 조건절을 빼먹어서 DELETE를 해버리는 순간이 있다.

당황하지 말고 TIMESTAMP 기능을 이용해 복구를 하면 된다.

시간은 SECOND(초), MINUTE(분), HOUR(시), DAY(일) 알맞게 설정한다.

시스템 설정에 따라 다르니 유의하도록 하자.

 

1. 30분전 데이터 조회

SELECT  *  
  FROM TABLE_TEST AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '30' MINUTE)  
 WHERE 1=1;

/* 조건이 있는 경우 추가하여 조회 */

보통 참조제약조건이 걸려있지 않다거나, 데이터를 지워도 된다면 바로 지우고 모든걸 INSERT 하도록 한다.

ex) DELETE TABLE_TEST WHERE 1=1;

2. SELECT INSERT

복구가 필요한 테이블 30분전 데이터를 가져와 INSERT 진행


INSERT
INTO  TABLE_TEST 
       (
              A, B, C       )
   SELECT   A, B, C
  FROM TABLE_TEST AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '30' MINUTE)  
 WHERE 1=1;

정상적으로 30분전 데이터가 등록된거를 확인 할 수 있다.

반응형