728x90

오라클 삭제한 데이터 복구 방법

오늘 실수로 개발 서버 DB의 테이블의 데이터를 살짝 날려 버렸는데, 리얼 서버 DB의 데이터를 insert 쿼리로 긁어서 다시 넣을 까, 하다 옆에 분에게 물어보니 이런 멋진 쿼리를 알려 주셨다.

insert into [대상테이블]
select * from [대상테이블] as of timestamp (systimestamp-interval '30' minute)[조건절];

systimestamp-interval은 데이터를 되돌릴 수 있는 시간(분)이라고 한다. 최대 30분이라고 하니 날려 먹었다고 생각한 순간, 시간을 계산해서 실행하고 데이터를 확인해보도록 한다.

  • 검색해보니 오라클 9i 이후부터 지원한다.
  • ora-1555: 너무이전 스냅샷, ora-22924: 너무오래된 스냅샷입니다. –> 이런 에러가 발생할 경우 조건절을 주어서 데이터를 조금씩 잘라서 가져옵니다.
  • delete 와 같은 DML 쿼리 실행 시 한번 더 생각하는 습관을 가져야겠습니다.

출처 : http://blog.daum.net/njaewon/22

728x90

'DB' 카테고리의 다른 글

GROUP BY DISTINCT  (0) 2012.07.29
오라클 계정 LOCK  (0) 2012.07.29
오라클 스크립트파일 실행하기  (0) 2012.07.29
윈도우7 오라클10g Oracle10g Client 설치  (0) 2012.07.29
토드에서 프로시져 실행하기  (0) 2012.07.29

+ Recent posts