Image Copy

BUMSOO·2024년 9월 23일

Backup & Recovery

목록 보기
13/18
  • rman의 백업셋은 데이터파일의 사용한 블럭만 piece로 만들어서 백업한다.이를 통해 스토리지를 줄일 수 있는 장점이 있다.

  • 하지만 유저 managed 처럼 1대1로 데이터파일을 copy 하는 형식으로 rman에서도 백업이 가능하다.

  • bakcup set : 논리적인 백업

  • backup piece : 물리적인 백업파일

image copy backup

백업 대상 파일을 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 레벨로 백업을 했다.

image copy를 이용하여 bakcup

백업본을 이용하여 파일 위치를 변경할때

  1. 다른 테이블스페이스들과는 위치에 신규 테이블스페이스 생성

  2. 신규 테이블도 같이 생성해준다

  3. rman에서 신규 테이블스페이스의 데이터파일만 image copy하는데 저장위치를 다른 데이터파일들이 있는곳으로 설정
    backup as copy datafile 4 format '$ORACLE_BASE/oradata/ORA19C/insa_tbs01.dbf';

  4. 운영 DB에서 해당 데이터파일 삭제 후 DB 내렸다가 재가동 하지만 MOUNT 단계에서 막힘

  5. rman에서 switch 기능을 이용해 restore 하지 않고 이미 기존 위치에 있는 백업파일을 이용

  • switch를 하게 되면 컨트롤파일에 데이터파일 위치를 재설정함
    switch datafile 4 to copy;
  1. recover 하기
    recover datafile 4;

  2. DB OPEN

user managed backup 파일을 rman에 등록하기

  • 수동으로 백업받은 백업파일을 rman의 image backup 본으로 등록
    catalog datafilecopy '/u01/app/oracle/fast_recovery_area/ORA19C/datafile/insa_tbs01.dbf';
  • rman의 imange backup 본 등록을 해지
    change datafilecopy '/u01/app/oracle/fast_recovery_area/ORA19C/datafile/insa_tbs01.dbf' uncatalog;

switch와 user managed backup본 image copy 등록을 통한 백업

  1. 신규 테이블스페이스를 다른위치로 생성 후 테이블까지 생성

  2. 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;

  3. rman에서는 user managed로 백업을 받은지 자동으로 인식하지 못함으로 수동 등록을 해줘야한다.
    catalog datafilecopy '/u01/app/oracle/oradata/ORA19C/insa_tbs01.dbf';

  4. os에서 insa_tbs01.dbf를 삭제해 장애유발

  5. DB shutdown 후 재가동하지만 mount 단계까지만 실행됨

  6. rman에서 switch 를 통해 insa_tbs 백업파일을 control 파일에 등록
    switch datafile 4 to copy;

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

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

0개의 댓글