[Oracle] Oracle 백업/복구 명령어

zzzzwso·2023년 11월 17일
0

DB 공부

목록 보기
3/5

백업 받는 방법

  1. 수동 백업 (User-Managed Backup)
  2. RMAN 백업 (Recovery Manager)
  3. 백업 솔루션을 이용한 백업 (Third Party Solution)

DB를 운영(open) 중에 받을지 or 중지하고 받을지

  1. Hot Backup: Open 상태에서 받는 백업 (=Online Backup)
  2. Cold Backup: Shutdown 상태에서 받는 백업 (=Offline Backup)

일반적으로 Hot backup으로 이루어짐. (Cold Backup시 SGA를 초기화해야하기 때문에 비효율적이다.)

RMAN을 이용하거나 수동 백업 스크립트를 작성하여 운영하는 경우가 대부분.

백업 파일을 이용하여 DB 복구하기

  1. 수동 백업을 받기 위해선, DB에 접속하여 Begin Backup 모드로 테이블스페이스의 상태를 전환해주어야 함.

    백업모드 전환 명령어

    ALTER DATABASE BEGIN BACKUP;

백업모드로 전환되면 백업모드가 종료될 때까지 DB를 종료할 수 없다.
강제로 종료해도 다음번 작동 시 각 데이터파일에 걸려있는 백업모드를 풀어줘야 DB를 Open 상태로 진입시킬 수 있다.

  1. 백업 모드로 이동 후 C/D/R이 저장되어 있는 서버 경로로 이동, cp 명령어를 통해 별도의 저장매체로 복사해주면 됨.

백업 모드 종료 명령어

ALTER DATABASE END BACKUP;

주의: 백업을 받는 동안 복사 대상의 파일이 저장될 공간이 충분한지, Redo Log와 Archived Log가 쌓일 공간에 디스크 용량에 여유가 있는지 반드시 확인하고 백업을 수행해주어야 한다.

이 방법은 실무에서는 잘 사용되지 않음.

운영 망에는 주로 테이블스페이스 단위의 백업이 이루어짐. 이는 Redo Log File과 Archived Log 크기가 폭발적으로 증가되는 현상을 어느정도 방지해줄 수 있다.

DB 전체 백업 방법

ALTER DATABASE BEGIN BACKUP;
$cp [복사할 파일명] [대상 경로]
ALTER DATABASE END BACKUP;

테이블스페이스 백업 방법

ALTER TABLESPACE [테이블스페이스명] BEGIN BACKUP;
$cp [복사할 테이블스페이스를 구성하는 데이터파일명] [대상 경로]
ALTER TABLESPACE [테이블스페이스명] END BACKUP;
profile
HI there

0개의 댓글