본문 바로가기
Oracle/RMAN

[Recover Table] 여러 테이블 recover 및 remap 옵션

by 취미툰 2023. 6. 14.
반응형

recover table에 관련된 테스트를 해보며 글을 여러번 작성했었습니다. 기본 정보 및 테스트시나리오는 이전글을 참고하시길 바랍니다.

저는 recover table이 테이블 한개만 복구하는 테만 쓰는 줄 알았습니다. (속으로 한번씩 여러개 복구하려면 recover table을 여러번 해야하나 라는 생각을 하며 이 생각이 비효율적이라는 생각만 하고 있었습니다..)

 

이전에는 생각에 그치고 말았는데, 실제로 recover table을 통해서 테이블 시점 복구를 해야할 일이 생겼고, 그에따라 테이블을 두개 복구해야 했습니다. 그때 테이블을 여러개 넣고 명령어를 수행해도 되지 않을까?라는 생각을 했고 찾아보게 되었습니다. 결론은 됩니다. remap 옵션도 여러번 사용하면 되서 recover table 시 여러개의 테이블을 한번의 명령으로 가능합니다.

 

참고 : https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-recovering-tables-partitions.html#GUID-FB30D350-DFF9-4F92-8132-5C824B2A9E68

 

Backup and Recovery User's Guide

 

docs.oracle.com

 

 

예시 명령어

RECOVER TABLE SCOTT.EMP, SCOTT.DEPT
    UNTIL TIME 'SYSDATE-1'
    AUXILIARY DESTINATION '/tmp/oracle/recover'
    DATAPUMP DESTINATION '/tmp/recover/dumpfiles'
    DUMP FILE 'emp_dept_exp_dump.dat'
    NOTABLEIMPORT;

실제 사용했던 명령어

recover table 스키마1.테이블명1 ,스키마2.테이블명2
until time "to_date('2023-06-13:14:29:00','yyyy/mm/dd hh24:mi:ss')" 
auxiliary destination '/db_recov/aux' 
remap table '스키마1'.'테이블명1':'테이블명1_RECOVER','스키마2'.'테이블명2':'테이블명2_RECOVER' ;

이렇게 ','를 사용하여 테이블을 두개 명시하였고 remap table 시에도 ','로 구분하여 명시하였더니 잘 수행되었습니다.

 

--------------------------------------------------------------------------------------------------------------------------------------------

옵션

아래는 recover table 시 사용할 수 있는 옵션에 대한 설명입니다.

recover table은 기본적으로 DB에 데이터까지 자동으로 import 해줍니다.  그렇지 않고 dump 파일만 생성하기 위해서는 아래 옵션을 사용합니다.

DUMP FILE '파일명'

DATAPUMP DESTINATION '경로'

NOTABLEIMPORT

 

원본테이블이 있어서 다른 테이블명으로 IMPORT 하고 싶으면 아래 옵션을 사용합니다

REMAP TABLE

 

다른 테이블 스페이스로 IMPORT 하고 싶으면 아래 옵션을 사용합니다.

REMAP TABLESPACE

--------------------------------------------------------------------------------------------------------------------------------------------

 

아래는 원본 URL에서 옵션관련된 원본글입니다.

 

  • DUMP FILE and DATAPUMP DESTINATION
    Specifies the name of the export dump file containing recovered tables or table partitions and the location in which it must be stored.
  • NOTABLEIMPORT
    Indicates that the recovered tables or table partitions must not be imported into the target database.
  • REMAP TABLE
    Renames the recovered tables or table partitions in the target database. This clause is also used to recover tables or table partitions into a schema that is different from the source schema.
  • REMAP TABLESPACE
    Recovers the tables or table partitions into a tablespace that is different from the one in which these objects originally existed.

 

이전 글 :

https://bae9086.tistory.com/386

 

[RMAN] recover table 테스트 시나리오

이전에 포스팅한 recover table 글을 보고 다시 테스트해보았습니다. 해당 기능은 아래글에 정리를 해놨습니다. https://bae9086.tistory.com/22?category=825635 [RMAN]Recover Table 기존에 Clone DB를 생성하여 무정지

bae9086.tistory.com

https://bae9086.tistory.com/22

 

[RMAN]Recover Table

기존에 Clone DB를 생성하여 무정지 복구를 Manual하게 수행하던 것을 RMAN이 자동으로 진행합니다. 1. 임시 경로로 필요한 파일 복원 2. 파일 경로 변경 후 삭제된 테이블 복구 3. 임시경로에서 복구된

bae9086.tistory.com

 

반응형

댓글