개발자이야기/Oracle

[Oracle]TIMESTAMP(데이터복구)

퐈니스타일 2023. 7. 24. 16:48

오라클 운영중에 흔히 하는 실수!!  UpdateDelete를 잘못할수도 있다.

 

게다가 Commit까지했다면 더더욱 난감하여 어쩔줄 모를때가 있기 마련이다.

 

하지만 이럴때에는 당황하지않고 아래  방법으로 해결해보자.

 

단!!! 서버상에 트렌젝션상태에 따라서  조회 및 복구가 안될수도 있으니... 빠른 처리가 관건이다.

 

--//대상 테이블의 데이터의 30초전 상태를 조회
SELECT * 
  FROM [table_name]
  AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' SECOND) 

 

--//대상 테이블의 10분전 상태를 조회
SELECT * 
  FROM [table_name]
  AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE) 

 

--//대상 테이블의 1시간 상태를 조회
SELECT * 
  FROM [table_name]
  AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' HOUR) 

 

그렇다면 복구는???

 

 INSERT INTO [table_name]
SELECT * 
  FROM [table_name]
    AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE) 

 

지워졌다고 당황하지말고 업데이트 잘못되었다고 당황하지말자!!!!

728x90
반응형