RECOVER TABLE


명령어를 이용한 백업 파일에서 특정 테이블 복구

 

여러가지 데이터 손실에 대한 장애에 따른FLASHBACK, LOGMINER, RECYCLEBIN 등 완전 복구 방법은 많습니다.

하지만 TRUNCATE TABLE 에 대한 완전 복구를 하는 방법에 대해서는 앞에서 살펴본 백업본을 타 서버에 내려서 올려서 복구하는 방법 밖에 없었습니다.

Oracle 12C 버전에서는 특정 테이블만 백업 데이터 에서 복구 하는RECOVER TABLE 기능이 제공 됩니다.

지금부터RECOVER TABLE 기능을 이용하여 복구하는 실습을 해보겠습니다.

 

SQL> 테스트 유저 생성

SQL> 테스트 테이블 생성

SQL> 테스트 테이블에 테스트 데이터 생성

clip_image001[4]

clip_image002[4]

clip_image003[4]

 

 

이제 RMAN 백업을 수행 합니다.

# rman target /

RMAN> BACKUP AS COMPRESSED
BACKUPSET DATABASE ;

clip_image004[4]

 

이제TRUNCATE TABLE 장애를 발생 시킵니다.

SQL> ALTER SESSION SET
NLS_DATE_FORMAT=’YYYY/MM/DD HH24:MI:SS’ ;

SQL> SELECT SYSDATE FROM DUAL ;

SQL> TRUNCATE TABLE EMP ;

clip_image005[4]

 

 

이제RECOVER TABLE 명령으로 복구를 시작합니다. 운영DBOPEN인 상태에서 실행 합니다.

SQL> RENAME EMP TO EMP_BACK ;

RMAN> RECOVER TABLE YONGSEOK.EMP UNTIL TIME “TO_DATE(‘2017-11-28:16:18:21′,’yyyy-mm-dd:hh24:mi:ss’)” AUXILIARY DESTINATION ‘/oracle/oracle12/RECOVER_TAB_AREA’ ;

clip_image006[4]

clip_image007[4]

clip_image008[4]

clip_image009[4]

clip_image010[4]

clip_image011[4]

clip_image012[4]

RMANRECOVER TABLE 명령어를 수행 하면 해당TABLE의 백업 시점에 필요한 테이블 스페이스에 필요한 백업데이타 파일과 기본적으로 필요한DB의 기본 테이블 스페이스SYSTEM, SYSAUX, UNDO 테이블 스페이스 와 함께 해당 영역에 복제DB를 생성 한다.

그리고 나서 만들어진 복제DB에서 해당TABLE 을 데이터펌프EXPDP를 이용해 추출 해서 원래 데이터베이스로IMPDP 적재 된다.

이전의 버전에서DBA가 수작업으로 각 단계별로 복구해야 하는 일련의 과정들이 단 한 줄의RMAN 명령어로 진행 되었습니다.

이제 복구가 잘 되었는지 테이블을 조회 합니다.

SQL> ALTER SESSION SET NLS_DATE_FORMAT=’YYYY/MM/DD HH24:MI:SS’ ;

SQL> SELECT SYSDATE FROM DUAL ;

SQL> SELECT * FROM EMP ;

clip_image013[4]

 

간단한RMAN 명령어로 테이블 복구가 완료 되었습니다.

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

11 thoughts on “[Oracle 12c] Recover table명령어로 Table 복구하기”
  1. When I initially commented I clicked the “Notify me when new comments are added” checkbox and
    now each time a comment is added I get four e-mails with the same comment.
    Is there any way you can remove people from that service?

    Thank you!

  2. This is historical titillating, You are a concrete veteran blogger. I shut wedded your spend and perception insolent to search more of your magnificent transfer. Also, I’ve unrefined your web place in my mixer networks!

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다