IT/Oracle

FLASHBACK를 이용한 DATA 및 TABLE 복구방법

Dukejin 2015. 12. 11. 10:18



예상치 못하게 데이터가 지워지거나 테이블이 DROP되었을 경우 복구하는 방법에 대한 정보입니다.

■ 데이터 삭제 복구


10분전의 데이터를 복구 하는 쿼리

SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE);
FLASHBACK TABLE 테이블명 TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);


ORA-08189: cannot flashback the table because row movement is not enabled 오류 발생 시 아래 쿼리 실행 후 복구

ALTER TABLE 테이블명 ENABLE ROW MOVEMENT;


■ 테이블 삭제 복구


삭제된 테이블 확인 후 복구 하는 쿼리

SHOW recyclebin;

SELECT  object_name
       ,original_name
       ,operation
       ,type
       ,droptime
       ,dropscn
       ,can_undrop
FROM   user_recyclebin
ORDER  BY droptime DESC;

FLASHBACK TABLE 테이블명 TO BEFORE DROP;

혹은

FLASHBACK TABLE 테이블명 TO BEFORE DROP RENAME TO 다른이름으로복원할테이블명;