rman의 백업셋은 데이터파일의 사용한 블럭만 piece로 만들어서 백업한다.이를 통해 스토리지를 줄일 수 있는 장점이 있다.
하지만 유저 managed 처럼 1대1로 데이터파일을 copy 하는 형식으로 rman에서도 백업이 가능하다.
bakcup set : 논리적인 백업
backup piece : 물리적인 백업파일
백업 대상 파일을 1:1로 받는 백업을 의미한다.
데이터파일 이미지 형식으로 copy
backup as copy database;
컨트롤파일 이미지 형식으로 copy
backup as copy current controlfile; : user managed에서는 alter database backup controlfile to 백업위치; 와 같은 명령어
backup set으로 받은 백업 정보 확인
list backup;

이미지 형식으로 받은 백업 정보 확인
list copy;

특정한 테이블스페이스에 대한 이미지 copy 백업본 확인
list copy of tablespace system;

특정한 데이터파일에 대한 이미지 copy 백업본 확인
list copy of datafile 1;

컨트롤파일에 대한 이미지 copy 백업본 확인
list copy of controlfile;

특정 image copy 삭제
delete copy of datafile 7;
delete copy of controlfile;
image copy 같은 경우 데이터베이스 레벨로 백업을 한게 아니라 tablespace 레벨로 백업을 했다.

다른 테이블스페이스들과는 위치에 신규 테이블스페이스 생성
신규 테이블도 같이 생성해준다
rman에서 신규 테이블스페이스의 데이터파일만 image copy하는데 저장위치를 다른 데이터파일들이 있는곳으로 설정
backup as copy datafile 4 format '$ORACLE_BASE/oradata/ORA19C/insa_tbs01.dbf';
운영 DB에서 해당 데이터파일 삭제 후 DB 내렸다가 재가동 하지만 MOUNT 단계에서 막힘
rman에서 switch 기능을 이용해 restore 하지 않고 이미 기존 위치에 있는 백업파일을 이용
switch datafile 4 to copy;recover 하기
recover datafile 4;
DB OPEN
catalog datafilecopy '/u01/app/oracle/fast_recovery_area/ORA19C/datafile/insa_tbs01.dbf';change datafilecopy '/u01/app/oracle/fast_recovery_area/ORA19C/datafile/insa_tbs01.dbf' uncatalog;신규 테이블스페이스를 다른위치로 생성 후 테이블까지 생성

user managed를 통해 백업받기
alter tablespace insa_tbs begin backup;
cp -v /home/oracle/insa_tbs01.dbf /u01/app/oracle/oradata/ORA19C/insa_tbs01.dbf
alter tablespace insa_tbs end backup;
rman에서는 user managed로 백업을 받은지 자동으로 인식하지 못함으로 수동 등록을 해줘야한다.
catalog datafilecopy '/u01/app/oracle/oradata/ORA19C/insa_tbs01.dbf';

os에서 insa_tbs01.dbf를 삭제해 장애유발
DB shutdown 후 재가동하지만 mount 단계까지만 실행됨
rman에서 switch 를 통해 insa_tbs 백업파일을 control 파일에 등록
switch datafile 4 to copy;

- 컨트롤파일에 insa_tbs의 데이터파일 위치가 변경된걸 확인할 수 있다.

switch절로 restore 한 효과를 내었으니 그대로 recover 하고 DB는 OPEN 하면 된다.
recover datafile 4;
