본문 바로가기

DATABASE/DATABASE

[DATABASE] ORACLE 데이터 복구하기

[DATABASE] ORACLE 데이터 복구하기

 

테이블 복구 

데이터베이스를 통해 데이터를 관리할때 가끔 실수를 할 수 있습니다.
UDPATE 에 WHERE 절을 안붙여서 전체 업데이트가 되었다던지, 
지우지 말아야할 데이터를 삭제하였다던지
당황스럽지만 차근차근히 해결해봅시다.

 

1. 복구하고 싶은 테이블 데이터를 확인

 - [ INTERVAL '10' ]분은 10분뿐만 아니라, 원하는 시간을 입력하여 원하는 시간전의 데이터를 조회 할 수 있다.

SELECT  *  FROM  TABLE_NM AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE);

 

2. 테이블 백업 ( 생성 - 복사  )

 - 복구하기에 앞서  백업 을 생활화 한다.

CREATE TABLE  TABLE_NM_BACK   AS  SELECT * FROM TABLE_NM;

 

3. 테이블 복구 ( 삭제 - 복원 )

 - 복원할 테이블의 데이터를 삭제하고, 확인하였던, * 분전의 데이터를 복원하도록 한다.

DELETE TABLE_NM; -- 삭제 

INSERT INTO TABLE_NM SELECT * FROM TABLE_NM AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE); -- 복원 

 

4. 데이터 확인 및 테이블 정리 ( 삭제 )

 - 복원한 데이터를 확인해보고, 이상이 없다면 백업 테이블을 삭제

DROP TABLE TABLE_NM_BACK ;