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!

  3. I do not even know how I ended up here, but I thought this post was great.
    I don’t know who you are but certainly you are
    going to a famous blogger if you are not already 😉 Cheers!

  4. You made fated metropolis points there. I did a reflexion on the product and afford nearly all grouping heritage go along with with your leger.

답글 남기기

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