1. RMAN 접속
TARGET [사용자계정]@[서비스명] AS [권한]
-- 로컬에서 바로 접속
$ rman target /
-- 보조DB 접속
$ RMAN AUXILIARY SYS/PWD@AUX_STRING
-- 운영자 권한으로 복제를 위한 접속
RMAN> TARGET "sbu@prod AS SYSDBA" AUXILIARY "sbu@dupdb AS SYSDBA";
-- SYSBACKUP 권한으로 복제를 위한 접속
RMAN> TARGET "sbu@prod AS SYSBACKUP" AUXILIARY "sbu@dupdb AS SYSBACKUP";
-- SYSBACKUP 권한으로 접속
RMAN> CONNECT TARGET "sbu@inst1 AS SYSBACKUP";
-- SYSDBA 권한으로 접속
RMAN> CONNECT TARGET "sbu@prod AS SYSDBA";
2. 채널 할당
- 외부 백업 솔루션과 연결
- DISK : 로컬 디스트, 마운트된 스토리지의 백업 파일 관리
- SBT : 테이프 백업 장치
- SEND | PARMS : 솔루션 연결
RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE 'SBT_TAPE';
RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE 'SBT_TAPE'
PARMS 'ENV=(OB_MEDIA_FAMILY=wholedb_mf)';
RMAN> ALLOCATE CHANNEL t1 DEVICE TYPE SBT_TAPE
PARMS 'ENV=(OB_DEVICE_1=tape1, OB_DEVICE_2=tape3)';
RMAN> ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE'
ARMS='SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so.1';
RMAN> ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE'
SEND "NB_ORA_CLIENT=CLIENT_MACHINE_NAME";
RMAN> ALLOCATE CHANNEL 'dev1' TYPE 'SBT_TAPE'
PARMS 'ENV=OB2BARTYPE=ORACLE8, OB2APPNAME=ORCL, OB2BARLIST=MACHINENAME_ORCL_ARCHLOGS)';
RMAN> ALLOCATE CHANNEL t1 DEVICE TYPE sbt
PARMS='sbt_library=oracle.disksbt, ENV=(backup_dir=/tmp)';
-- 기본
RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE DISK
FORMAT 'c:\oraclebkp\db_u%';
-- 원격 접속지(bkp1)에 백업 수행 및 저장
RMAN> ALLOCATE CHANNEL t1 DEVICE TYPE DISK
CONNECT 'sys/pwd@bkp1';
-- 디스크i/o 방지를 위해 초당 70mb 속도로 제한
RMAN> ALLOCATE CHANNEL y1 TYPE DISK RATE 70M;
-- DB 복제용
RMAN> ALLOCATE AUXILIARY CHANNEL ac1 TYPE DISK;
RMAN> ALLOCATE AUXILIARY CHANNEL ac2 DEVICE TYPE SBT;
3. 유지보수 채널 할당
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK FORMAT "/disk2/%U";
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT '@test1';
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt
PARMS 'SBT_LIBRARY=/usr/local/oracle/backup/lib/libobk.so, ENV=(OB_DEVICE_1=tape2)';
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'SBT_TAPE'
PARMS='SBT_LIBRARY=ORACLE.DISKSBT, ENV=(BACKUP_DIR=/TMP)';
4. 백업
-- 풀백업(백업셋)
RMAN> BACKUP DATABASE;
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
4-1. 시간 관리 백업 (Duration)
백업 시간이 정해져 있거나 시스템 부하를 조절해야 할 때 사용합니다.
- TAG: 백업에 별명을 붙여 나중에 복구할 때 찾기 쉽게 합니다.
- MAXSETSIZE: 백업 파일(Backup Set) 한 개의 최대 크기를 제한합니다.
- DURATION: 정해진 시간 동안만 백업을 수행합니다.
- MINIMIZE TIME: 최대한 빨리 백업을 끝냅니다.
- MINIMIZE LOAD: 시스템 부하(I/O)를 최소화하면서 천천히 백업합니다.
RMAN> BACKUP DATABASE TAG='test backup';
-- 백업셋의 데이터 총합이 10M를 넘지 않게 설정
RMAN> BACKUP TAG 'Weekly_Full_DB_Backup' DATABASE MAXSETSIZE 10M;
RMAN> BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DURATION 00:60 DATABASE;
RMAN> BACKUP DURATION 00:30 MINIMIZE TIME DATABASE;
RMAN> BACKUP DURATION 00:45 MINIMIZE LOAD DATABASE;
4-2. 보관 정책 백업 (Keep & Long-term)
보관 주기(Retention Policy)와 상관없이 특정 백업을 오래 간직하고 싶을 때 사용합니다.
- KEEP FOREVER: 영구 보존 백업 (점검용이나 증거용)
- KEEP UNTIL TIME: 특정 날짜까지만 보관하고 그 이후엔 삭제 가능하게 설정
- RESTORE POINT: 복구 지점 이름을 부여하여 나중에 해당 시점으로 쉽게 되돌림
RMAN> BACKUP DATABASE KEEP FOREVER;
RMAN> BACKUP DATABASE KEEP UNTIL TIME='SYSDATE+30';
RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365' NOLOGS;
4-3. 예외 처리 백업 (Skip & Force)
문제가 있거나 특정 상태의 파일을 건너뛸 때 사용합니다.
- NOEXCLUDE: DB의 모든 데이터를 예외 없이 백어
- SKIP READONLY / OFFLINE: 읽기 전용이나 닫혀 있는 테이블스페이스는 백업 안 함.
- SKIP INACCESSIBLE: 권한 문제나 파일 손실로 접근 안 되는 파일은 무시하고 진행
- FORCE: 백업 최적화가 켜져 있어도 무조건 새로 백업
RMAN> BACKUP DATABASE NOEXCLUDE;
RMAN> BACKUP DATABASE NOEXCLUDE KEEP FOREVER TAG='abc';
RMAN> BACKUP DATABASE SKIP READONLY;
RMAN> BACKUP DATABASE SKIP OFFLINE;
RMAN> BACKUP DATABASE SKIP INACCESSIBLE;
RMAN> BACKUP DATABASE SKIP READONLY SKIP OFFLINE SKIP INACCESSIBLE;
-- CONFIGURE BACKUP OPTIMIZATION ON 상태인 경우 OFF 설정 안해도 새로 백업
RMAN> BACKUP DATABASE FORCE;
4-4. 효율적인 증분 및 중복 방지 (Not Backed Up)
이미 백업된 건 건너뛰고 필요한 것만 골라낼 때 유용합니다.
- NOT BACKED UP: 아직 한 번도 백업 안 된 파일만 백업
- SINCE TIME: 특정 시점 이후로 백업 안 된 파일만 골라냄
- COPIES=2: 백업본을 동시에 두 군데에 저장 (이중화)
- 2 TIMES: 백업된 횟수가 2회 미만인 로그만 백업
RMAN> BACKUP DATABASE NOT BACKED UP;
RMAN> BACKUP DATABASE NOT BACKED UP SINCE TIME='SYSDATE–3';
RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-10'
MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DATABASE COPIES=2;
RMAN> BACKUP DATABASE NOT BACKED UP 2 TIMES;
4-5. 아카이브 로그 관리 (Archivelog)
로그를 백업하고 디스크에서 지우는 작업입니다.
- PLUS ARCHIVELOG: DB 백업 전후로 아카이브 로그까지 묶어서 백업
- DELETE [ALL] INPUT: 백업이 성공하면 원본 아카이브 로그 파일을 삭제 (디스크 공간 확보)
- SEQUENCE / TIME: 특정 번호나 시간대의 로그만 골라서 백업
RMAN> BACKUP ARCHIVELOG ALL;
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
RMAN> BACKUP ARCHIVELOG LIKE '/arch%' DELETE ALL INPUT;
RMAN> BACKUP ARCHIVELOG NOT BACKED UP 2 TIMES;
RMAN> BACKUP ARCHIVELOG FROM TIME 'SYSDATE–3';
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 100;
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 999 DELETE INPUT;
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 123 DELETE ALL INPUT;
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 21531 UNTIL SEQUENCE 21590
FORMAT '/tmp/archive_backup.bkp';
RMAN> BACKUP ARCHIVELOG ALL FROM SEQUENCE 1200 DELETE ALL INPUT;
4-6. 부분 백업 (Tablespace & Datafile 등)
DB 전체가 아니라 필요한 부분만 백업할 때 씁니다.
- TABLESPACE / DATAFILE: 특정 테이블스페이스나 파일 번호로 백업.
- SECTION SIZE: 아주 큰 파일(Bigfile)을 여러 조각으로 나누어 병렬로 백업할 때 씁니다. 속도가 엄청나게 빨라집니다.
- CURRENT CONTROLFILE / SPFILE: DB 설정 파일만 따로 백업.
RMAN> BACKUP TABLESPACE TEST;
RMAN> BACKUP TABLESPACE SYSTEM, USERS, TOOLS;
RMAN> BACKUP TABLESPACE 4;
RMAN> BACKUP TABLESPACE USERS PLUS ARCHIVELOG;
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE
PLUS ARCHIVELOG;
RMAN> BACKUP TABLESPACE USERS SECTION SIZE 100M;
RMAN> BACKUP SECTION SIZE 250M TABLESPACE USERS;
RMAN> BACKUP DATAFILE 9;
RMAN> BACKUP DATAFILE '/U01/DATA/...';
RMAN> BACKUP DATAFILE 1 PLUS ARCHIVELOG;
-- '?'는 자동으로 ORACLE_HOME 경로로 치환
RMAN> BACKUP KEEP FOREVER FORMAT '?/DBS/%U_LONGTERM.CPY'
TAG 'Longterm_bck' DATAFILE 1 DATAFILE 2;
RMAN> BACKUP SECTION SIZE 500M DATAFILE 6;
-- Fast Recovery Area 내에 있는 백업셋, 컨트롤파일 복사본, 아카이브 등 모든 복구용 파일을 백업
RMAN> BACKUP RECOVERY FILES;
-- 컨트롤 파일 백업
RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/cntrlfile.copy';
-- 컨트롤 파일 복사본의 재백업
RMAN> BACKUP CONTROLFILE COPY '/u10/backup/control.bkp';
-- 서버 파라미터 파일 백업
RMAN> BACKUP SPFILE;
4-7. 백업 저장소 관리
운영 서버의 디스크 부하를 줄이고, 재해 복구(DR)를 위해 데이터(백업)를 외부 장치에서 관리할 때 사용됩니다.
- DELETE [ALL] INPUT: 백업 후 성공하면 디스크에서 지웁니다.
- DATAFILECOPY: COPY 명령어나 BACKUP AS COPY로 만든, 원본과 똑같은 형태의 복사
RMAN> BACKUP DEVICE TYPE SBT DATABASE PLUS ARCHIVELOG;
-- 태그가 'Latest'인 백업셋을 복제하여 외부 장치로 전송
RMAN> BACKUP DEVICE TYPE SBT DATAFILECOPY FROM TAG 'Latest' FORMAT 'DF%F_%D';
RMAN> BACKUP DEVICE TYPE SBT ARCHIVELOG LIKE '/disk%arc%' DELETE ALL INPUT;
-- 만든 지 2주(14일)가 지난 디스크 백업셋들만 골라 테이프로 옮기고 디스크에서는 지웁니다.
RMAN> BACKUP DEVICE TYPE SBT BACKUPSET COMPLETED BEFORE 'SYSDATE-14' DELETE INPUT;
-- 디스크에 있는 모든 데이터 파일 복사본을 테이프로 보내되, 이미 테이프에 있는 파일은 건너뜁니다.
RMAN> BACKUP DEVICE TYPE SBT DATAFILECOPY ALL NODUPLICATES;
-- SPFILE과 아카이브로그를 외부장치로 전송
RMAN> BACKUP DEVICE TYPE SBT SPFILE ARCHIVELOG ALL;
4-8. 검증 및 점검 (Validate)
실제로 백업을 받지는 않지만, 백업 성공 여부 또는 파일 깨짐을 확인할 때 씁니다.
- VALIDATE: 파일의 물리적 손상 여부를 체크
- CHECK LOGICAL: 데이터 내부의 논리적 오류(Corruption)까지 체크
RMAN> BACKUP CHECK LOGICAL DATABASE;
RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;
RMAN> BACKUP VALIDATE DATABASE;
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
RMAN> BACKUP CHECK LOGICAL VALIDATE TABLESPACE DATA;
-- 데이터 파일을 64GB씩 쪼개서 병렬로 검사
RMAN> BACKUP CHECK LOGICAL VALIDATE TABLESPACE DATA SECTION SIZE 64G;
그 외 백업
-- 파일 경로(Path)나 이름에 arc_dest라는 글자가 포함된 것만 골라서 아카이브로그 백업
RMAN> BACKUP FORMAT='AL_%D/%T/%S/%P' ARCHIVELOG LIKE '%arc_dest%';
-- 특정 플러거블 데이터베이스(PDB)들만 지정해서 백업
RMAN> BACKUP PLUGGABLE DATABASE pdb1,pdb2;
5. 복원(RESTORE)
5-1. 사전 검증 및 시뮬레이션
- VALIDATE: 백업 파일이 손상되지 않았는지, 실제로 읽을 수 있는지 검증
- PREVIEW: 복원에 필요한 백업 파일 리스트를 미리 보여줌
- SUMMARY: 상세 내역 대신 요약된 정보만 출력
- RECALL: 테이프 장비(SBT)를 가져오라고 요청
RMAN> RESTORE DATABASE;
RMAN> RESTORE DATABASE VALIDATE;
RMAN> RESTORE DATABASE PREVIEW;
RMAN> RESTORE DATABASE PREVIEW SUMMARY;
RMAN> RESTORE CONTROLFILE VALIDATE;
RMAN> RESTORE ARCHIVELOG ALL VALIDATE;
RMAN> RESTORE DATABASE VALIDATE HEADER PREVIEW;
5-2. 대상별 복원
- DATABASE: 전체 DB 복원
- SKIP: 특정 오브젝트를 제외하고 복원
- UNTIL SCN: 특점 시점(SCN)까지만 복원
- FROM AUTOBACKUP: 백업 파일을 자동으로 찾아 복원
- TO '/u01/...' : 특정 경로에서 파일을 꺼내어 복원
- MAXSEQ / MAXDAYS: 백업본을 찾을 때의 검색 범위
- LOW / HIGH LOGSEQ: 특정 로그 시쿼스 범위를 지정해서 복원
- THREAD 1: RAC 환경에서 1번 인스턴스가 생성한 것만 지정
RMAN> RESTORE DATABASE SKIP READONLY;
RMAN> RESTORE DATABASE SKIP TABLESPACE temp, history;
RMAN> RESTORE DATABASE UNTIL SCN 154876;
RMAN> RESTORE TABLESPACE users;
RMAN> RESTORE TABLESPACE data1, data2;
RMAN> RESTORE TABLESPACE tbs1 PREVIEW;
RMAN> RESTORE TABLESPACE users VALIDATE;
RMAN> RESTORE DATAFILE 45;
RMAN> RESTORE DATAFILE 23 PREVIEW;
RMAN> RESTORE DATAFILE 12 VALIDATE;
RMAN> RESTORE CONTROLFILE;
-- 백업 당시 자동으로 저장된 본을 찾아 복원
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN> RESTORE CONTROLFILE FROM TAG 'monday_cf_backup';
RMAN> RESTORE CONTROLFILE FROM '/u01/control01.ctl';
RMAN> RESTORE CONTROLFILE TO '/tmp/autobkp.dbf'
FROM AUTOBACKUP MAXSEQ 20 MAXDAYS 150;
RMAN> RESTORE SPFILE;
RMAN> RESTORE SPFILE FROM AUTOBACKUP;
RMAN> RESTORE ARCHIVELOG ALL PREVIEW;
RMAN> RESTORE ARCHIVELOG ALL PREVIEW RECALL;
RMAN> RESTORE ARCHIVELOG ALL DEVICE TYPE SBT PREVIEW;
RMAN> RESTORE ARCHIVELOG LOW LOGSEQ 78311
HIGH LOGSEQ 78340 THREAD 1 ALL;
RMAN> RESTORE ARCHIVELOG FROM LOGSEQ=<seq_no>
UNTIL LOGSEQ=<seq_no>;
RMAN> RESTORE STANDBY CONTROLFILE FROM TAG 'forstandby';
-- control01.ctl을 data2 디렉토리에 control02.ctl로 복제
RMAN> RESTORE CLONE CONTROLFILE
TO '+DATA/pcrd/data2/control02.ctl'
FROM '+DATA/pcrd/data1/control01.ctl';
RMAN> RESTORE PLUGGABLE
DATABASE root, pdb1, pdb2;
RMAN> RESTORE PLUGGABLE
DATABASE root, pdb1, pdb2
SKIP FOREVER TABLESPACE pdb:ts_name, pdb:ts_name, pdb:ts_name;
-- 복원 작업 예시
RMAN> STARTUP NOMOUNT;
RMAN> RUN {
ALLOCATE CHANNEL c1
DEVICE TYPE sbt;
RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;
RESTORE DATABASE;
}
6. 복구(RECOVER)
RMAN> RECOVER DATABASE;
RMAN> RECOVER DATABASE NOREDO;
RMAN> RECOVER DATABASE SKIP TABLESPACE foo;
RMAN> RECOVER DATABASE SKIP FOREVER TABLESPACE baddata;
RMAN> RECOVER DATABASE UNTIL SCN 154876;
6-2. 대상별 복원
- DELETE ARCHIVELOG MAXSIZE: 아카이브 로그를 복원해서 사용한 뒤, 지정된 용량을 초과하면 즉시 삭제
RMAN> RECOVER TABLESPACE users;
RMAN> RECOVER TABLESPACE DATA
DELETE ARCHIVELOG MAXSIZE 2M;
RMAN> RECOVER DATABASE
DELETE ARCHIVELOG MAXSIZE 1024M;
RMAN> RECOVER DATAFILE 33;
RMAN> RECOVER DATAFILE 3 block 116 DATAFILE 4 block 10;
RMAN> RECOVER DATAFILE 2 block 204 DATAFILE 9 block 109 FROM TAG=sundaynight;
RMAN> RECOVER DATAFILECOPY '/disk1/img.df' UNTIL TIME 'SYSDATE-7';
-- 임시 DB를 생성하여 PUMP 방식으로 특정 테이블 복구
-- 1. 임시 인스턴스 기동: AUXILIARY DESTINATION 경로에 임시 DB를 생성합니다.
-- 2. 필수 파일 복원: 백업셋에서 SYSTEM, SYSAUX, UNDO, 그리고 해당 테이블이 속한 DATAFILE만 쏙 골라서 임시 DB에 복원합니다.
-- 3. 시점 복구: 지정한 UNTIL TIME까지 리두 로그를 적용해 데이터를 과거 상태로 만듭니다.
-- 4. 데이터 추출: Data Pump를 이용해 임시 DB에서 해당 테이블만 덤프 파일로 뽑아냅니다.
-- 5. 원본 DB 병합: 뽑아낸 덤프 파일을 현재 운영 중인 DB(pdb1)로 임포트하여 테이블을 최종 복구합니다.
RMAN> RECOVER TABLE "TEST.EMP"
OF PLUGGABLE DATABASE pdb1
UNTIL TIME "TO_DATE('20-JUL-2022 15:00:00','DD-MON-YYYY HH24:MI:SS')"
AUXILIARY DESTINATION='/ade/b/56264301/oracle/work/aux_dest'
DATAPUMP DESTINATION='/ade/b/56264301/oracle/work/aux_dest';
6-2. 서비스 기반 원격 복구(Network-Based Recovery)
주로 데이터 가드(Data Guard) 환경에서 Standby DB가 운영 DB와 차이가 너무 많이 벌어졌을 때, 운영 DB에서 직접 데이터를 끌어와 동기화하는 방법
- FROM SERVICE: 원격 DB 서비스 이름을 지정하여 복원
- SECTION SIZE: 파일을 여러 조각 나우어 병렬 전송
- COMPRESSED BACKUPSET: 전송 효율을 위해 네트워크 스트림을 압축
RMAN> RECOVER DATABASE
FROM SERVICE boston
NOREDO USING COMPRESSED BACKUPSET
SECTION SIZE 100m;
RMAN> RECOVER DATABASE
FROM SERVICE prim
SECTION SIZE 120M
USING COMPRESSED BACKUPSET;
RMAN> RECOVER DATABASE
FROM SERVICE prim
SECTION SIZE 120M;
6-3. 그 외 복구
-- V$DATABASE_BLOCK_CORRUPTION 뷰에 기록된 모든 손상 블록들을 찾아내어,
-- 사용 가능한 백업본으로부터 해당 블록만 추출해 복구
RMAN> RECOVER CORRUPTION LIST;
-- 'merge' 태그가 달린 복사본(Image Copy)에,
-- 그 이후에 받은 증분 백업(Incremental Level 1) 파일들을 합체 시켜서 복사본의 시점을 최신화
RMAN> RECOVER COPY OF DATABASE WITH TAG 'merge';
-- 특정 시차를 둔 백업 상태 유지
RMAN> RECOVER COPY OF DATABASE WITH TAG 'merge' UNTIL TIME 'SYSDATE - 7';
7. DB 검사
DB가 정상적으로 구동되고 복구될 수 있는지 종합 검진
RMAN> VALIDATE BACKUPSET 3871, 3890;
RMAN> VALIDATE DATABASE;
RMAN> VALIDATE CHECK LOGICAL DATABASE;
RMAN> VALIDATE SKIP INACCESSIBLE DATABASE;
RMAN> VALIDATE COPY OF DATABASE;
RMAN> VALIDATE TABLESPACE DATA;
RMAN> VALIDATE COPY OF TABLESPACE DATA;
RMAN> VALIDATE DATAFILE 2;
RMAN> VALIDATE DATAFILE 4,8;
RMAN> VALIDATE DATAFILE 4 BLOCK 56;
RMAN> VALIDATE DATAFILE 8 SECTION SIZE = 200M;
RMAN> VALIDATE CURRENT CONTROLFILE;
RMAN> VALIDATE SPFILE;
RMAN> VALIDATE RECOVERY FILES;
RMAN> VALIDATE CHECK LOGICAL RECOVERY FILES;
RMAN> VALIDATE RECOVERY AREA;
RMAN> VALIDATE CHECK LOGICAL RECOVERY AREA;
RMAN> VALIDATE DB_RECOVERY_FILE_DEST;
RMAN> VALIDATE CHECK LOGICAL
DB_RECOVERY_FILE_DEST;
RMAN> VALIDATE DATAFILE 1 MIRROR ALL;
RMAN> VALIDATE DATAFILE 1 MIRROR 1;
RMAN> VALIDATE DATAFILE 1 MIRROR 2;
RMAN> VALIDATE DATAFILE 1 MIRROR 3;
8. 이미지 복사본 스위칭
SWITCH 명령은 오직 이미지 복사본(Image Copy) 형태의 백업에만 사용 가능.
RMAN> SWITCH DATABASE TO COPY;
RMAN> SWITCH TABLESPACE users to copy;
RMAN> SWITCH DATAFILE ALL;
RMAN> SWITCH DATAFILE '/disk1/tols.dbf' TO DATAFILECOPY '/disk2/tols.copy';
RMAN> SWITCH DATAFILE "+dg_old/db/datafile/sysaux.260.699468081" TO COPY;
RMAN> SWITCH TEMPFILE 1;
RMAN> SWITCH TEMPFILE 1 TO '/newdisk/dbs/temp1.f';
RMAN> SWITCH TEMPFILE ALL;
RMAN> SWITCH CLONE DATAFILE ALL;
9. SPOOL(로그 기록)
- SPOOL LOG: RMAN 화면에 보이는 모든 메시지를 기록
- SPOOL TRACE: 주로 내부 프로세스의 상세 정보나 디버깅을 위한 정보 기록
- TO / OFF: 'TO'로 기록을 시작하고 'OFF'로 기록을 종료
RMAN> SPOOL LOG TO '/tmp/spool.log';
RMAN> SPOOL LOG TO '/tmp/backup.log' APPEND;
RMAN> SPOOL LOG OFF;
RMAN> SPOOL TRACE TO '/tmp/spool.trc';
RMAN> SPOOL TRACE TO '/tmp/backup.trc' APPEND;
RMAN> SPOOL TRACE OFF;
'🗄️ DB_이야기 > # 🛢️ Oracle' 카테고리의 다른 글
| [Oracle] RMAN 수정 블록 추적(BCT) (0) | 2026.05.18 |
|---|---|
| [Oracle] Data Pump(expdp/impdp) 커맨드 모음 (1) | 2026.05.12 |
| [Oracle] 락(Lock) 과 래치(Latch) (0) | 2026.04.27 |
| [Oracle] 출력 결과가 '#(샵)'으로 나오는 경우 (0) | 2026.03.24 |
| [Oracle] Oracle Archtecture(7) [Lock] (0) | 2026.03.21 |