기술 정보
home
채널 소개
home

tbrmgr을 이용한 restore 방안

문서 유형
기술 정보
분야
백업/복구
키워드
tbrmgr
적용 제품 버전
7FS02PS

개요

tbrmgr의 --restore-only 옵션을 사용하면 데이터파일에 대한 restore 작업을 수행할 수 있습니다.
이 옵션은 데이터베이스가 mount 모드일 때에만 사용 가능합니다.
참고
-restore-only
대상 백업 데이터 파일들을 가져온 후 복구는 수행하지 않습니다. MOUNT 또는 NORMAL 모드에서 사용 가능하며, NORMAL 모드에서는 반드시 Offline 테이블 스페이스들을 지정해야 합니다.

방법

tbrmgr을 이용한 restore 예제입니다.
1. Tablespace 조회
SQL> col DF_NAME format a40 SQL> col TS_NAME format a15 SQL> SELECT a.name as DF_NAME, b.name as TS_NAME, a.FILE#, b.TS# FROM v$datafile a INNER JOIN v$tablespace b ON a.TS#=b.TS# ; 2 3 4 DF_NAME TS_NAME FILE# TS# ---------------------------------------- --------------- ---------- ---------- +DS0/tac/system01/system01.dtf SYSTEM 0 0 +DS0/tac/system01/undo0_01.dtf UNDO0 1 1 +DS0/tac/system01/usr01.dtf USR 2 3 +DS0/tac/system01/tpr01.dtf SYSSUB 3 4 +DS0/tac/system02/undo1_01.dtf UNDO1 4 5 +DS0/tac/test1.dbf TEST1 5 6 +DS0/tac/test2.dbf TEST2 6 7 +DS0/tac/test3.dbf TEST3 7 8 8 rows selected.
SQL
복사
2. tbrmgr 백업 수행 후 장애 상황 유발
[14:35]ASCMD +DS0/tac> rm test1.dbf Removing file: +DS0/tac/test1.dbf [14:35]ASCMD +DS0/tac> rm test2.dbf Removing file: +DS0/tac/test1.dbf [14:37]ASCMD +DS0/tac> rm test3.dbf Removing file: +DS0/tac/test3.dbf
SQL
복사
3. 파일 restore 진행
$ cmrctl start db --name tac1 --option mount BOOT SUCCESS! (MODE : MOUNT) ** -T(--skip-tablespace)의 경우 restore에서 제외할 Tablespace를 지정할 수 있음 $ tbrmgr recover --restore-only -o /db/backup -T test1,test3 ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== archive log check succeeded RMGR '-o' option used : restoring from /db/backup ============================================================================== RMGR - recovery (RESTORE ONLY) ============================================================================== Initializing the restore progress, it may take few minutes... RMGR begins restoring backup files. Full backup set_id: 1 Last incremental backup set_id: 1 RESTORE (set_id: 1, ts_id: 0, df_id: 0) - FULL BACKUP 100.0% |===============================>| 38400/38400 blks 1.05s Synchronizing... RESTORE (set_id: 1, ts_id: 1, df_id: 1) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... RESTORE (set_id: 1, ts_id: 3, df_id: 2) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... RESTORE (set_id: 1, ts_id: 4, df_id: 3) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 1.03s Synchronizing... RESTORE (set_id: 1, ts_id: 5, df_id: 4) - FULL BACKUP 100.0% |===============================>| 38400/38400 blks 2.08s Synchronizing... RESTORE (set_id: 1, ts_id: 7, df_id: 6) - FULL BACKUP #-- test1,3은 제외하고 test2에 대해서만 restore 100.0% |===============================>| 6400/6400 blks 0.00s Synchronizing... Settling... Database restoration succeeded #-- restore 이후 recovery는 진행하지 않음 RMGR recovery ends
SQL
복사