[Oracle] Oracle 백업/복구

zzzzwso·2023년 11월 17일
0

DB 공부

목록 보기
2/5

사용자의 과실이나 자연 재해 등으로 DB가 정상적으로 운영되지 못하는 상황에 대비

데이터를 지키기 위해 DB를 백업하고
백업 본을 이용해 DB를 다시 복구하는 과정

백업 받는 방법

  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

DB가 open된 상태로 받는 백업
Control File, Data File, Redo Log File(C/D/R) 등 DB의 핵심 파일들의 시점 정보(SCN)가 불일치한 백업
-> 반드시 백업받는 시점의 Redo를 적용하는 Recover 작업이 필요하다.

Cold Backup

DB를 정상종료한 후에 받는 백업
C/D/R의 SCN이 정확히 일치
-> 별도의 Recovery 수행 없이 DB를 Open시킬 수 있다.

다만, Cold Backup을 받은 시점으로 데이터가 복원되므로 백업받은 시점부터 현재까지 Redo log와 현재 시점 정보를 기록하고 있는 컨트롤 파일이 없다면 백업 받은 시점 이후의 데이터는 복원할 수 없다.



1. 수동 백업

db 구동에 필요한 C/D/R을 별도의 저장매체에 직접 복사하는 작업을 의미.

관리자는 데이터베이스 운영조건(저장 공간의 여유, Archive Log Mode 여부)에 따라 Hot 백업이나, Cold 백업을 선택하여 수행

  • Cold 백업은 데이터베이스를 정상종료 시킨 후에 cp 명령어를 통해 C/D/R을 별도의 저장매체에 복사하여 백업을 수행
  • Hot 백업은 복사작업 간 데이터 블록의 깨짐 현상(Fractured Block) 발생으로부터 데이터 블록을 복구할 수 있도록 백업 간 BEGIN BACKUP / END BACKUP 명령어를 입력해주어야 한다.
    BEGIN BACKUP 명령어는 데이터베이스가 Archive Log 모드일 때만 동작하므로 Hot Backup을 수행하기 위해선 반드시 데이터베이스가 Archive Log 모드로 상태.

BEGIN BACKUP 명령어를 입력한 후에는 백업 대상인 Data File들을 cp 명령어를 통해 별도의 저장매체로 복사.
복사가 끝난 후에는 END BACKUP 명령어를 통해 백업모드를 해제.

2. RMAN 백업

관리자가 수동으로 했던 작업을 RMAN이라는 오라클 패키지를 이용하여 수행하는 방법
단순히 백업을 수행하는 것 외에도 백업 관리, 백업 결과 파일 압축, 백업 수행 시 병렬 처리 수 설정 등 수많은 기능 제공

  1. Backup set: 여러 데이터 파일들을 하나의 백업 파일로 묶어서 저장하는 형태
  2. Image Copy: 데이터 파일별로 각각의 백업 파일을 만들어 저장하는 형태


Backup set

데이터파일에서 실제로 사용된 블록만 추출하여 백업 파일을 만들기 때문에 저장 공간을 아낄 수 있다.
전체백업 외에도 증분백업(한 차례 전체 백업 진행 후 변경된 데이터만 추가로 백업하는 방식) 가능

하지만 전체가 아닌 일부의 데이터 파일을 복구해야 하는 상황에서도 전체 Backup set를 Restore 해야 하기 때문에 Down Time이 길어질 수 있다는 단점이 있다.

Image Copy

빈 블록을 포함한 전체 데이터 파일을 백업하는 형태
Backup set에 비해서 저장 공간이 많이 소요됨.

하지만 일부 데이터 파일의 복구가 필요한 상황에서 필요한 파일만 Restore하면 되기 때문에 Down Time을 최소화할 수 있다.

백업 수행시마다 전체백업을 수행해야하므로 저장 공간에 대한 부담이 상대적으로 크다.



3. 백업 솔루션을 이용한 백업 (Third Party Solution)

위 두 가지 백업 방법을 이용하여 유저들이 사용하기 편하도록 Third Party Solution을 만든 프로그램도 존재

대표적으로 NetBackup, Backup Xcelerator 등 솔루션 존재.

참고자료

Oracle 백업 개념

profile
HI there

0개의 댓글