1. 데이터베이스 장애와 복구 개념

 1) 데이터복구(Data Recovery)의 정의

  - 데이터베이스 장애가 발생할 경우 데이터베이스를 장애 발생 이전으로 일관성과 무결성을 복원하는 것

 

 2) 데이터베이스 장애(실패) 유형

  - 트렌젝션 장애 : 논리적 오류, 시스템 오류(Deadlock 등)

  - 시스템 장애 : 전원, 하드웨어, 소프트웨어 등

  - 디스크 장애 : 디스크 스토리지 고장

  - 사용자 장애 : DBA 작업등의 사용자 실수

 

 3) 데이터베이스 복구의 기본원리 

  - 아카이브, 덤프 : 데이터베이스를 다른 저장 장치에 복사 저장

  - 로그, 저널 : 데이터베이스가 변경될 때마다 별도 파일에 기록

 

 4) 데이터베이스 복구조치 유형

유형 특징 설명
REDO (재수행) 아카이브 사본 + 로그 => 완료 후 상태 - 아카이브 복원 후, 로그를 통한 백업시점 이후의 트렌젝션 재실행 복원 
- 완료(Commit)된 트렌젝션만 해당
- 쓰기 연산의 재실행 (Forward Recovery)
UNDO (취소) 로그 + 후방향 취소연산 => 시작 상태 - 로그를 통한 트렌젝션 취소로 복원
- 장애 발생 이후의 트렌젝션 취소
- 쓰기 연산의 취소 (Backward Recovery)

 

2. 데이터베이스 장애 복구 방법

 1) 데이터베이스 복구 기법

구분 로그 기반 기법 검사점 복구 기법 그림자 페이징 기법
개념 로그파일을 이용한 복고 검사점과 로그파일을 이용한 복구 그림자 페이지 테이블을 이용한 복구
특징 로그 전체를 조사하여 REDO, UNDO 로그보다 빠른 복구 속도 그림자 페이지 테이블 기록의 부하
멀티 트렌젝션환경에 부적합
복구과정 REDO, UNDO 사용 UNDO 사용 그림자 테이블 교체
복구속도 느림 로그보다 빠름 매우 빠름

 

 2) 분산 데이터베이스에서의 복구(회복)와 2단계 완료 프로토콜

  (1) 분산 데이터베이스 트렌젝션

   - 여러 사이트에 걸쳐 동작하는 트렌젝션

   - DBMS간 다른 회복 기법과 트렌젝션 관리자를 사용할 수 있음

   - 분산 데이터베이스 트렌젝션은 원자성을 위해 2단계 완료 프로토콜 사용

 

  (2) 2단계 완료 프로토콜 (2 Phase Commit Protocol)

   - 분산 데이터베이스 트렌젝션의 원자성 유지를 위한 대표 트렌젝션 완료 규약

   - 1단계 : 트렌젝션 조정자 C는 A와 B 데이터베이스에 트렌잭션 완료 준비를 묻는 메세지를 보내고, A와 B는 완료줌비 또는 완료 불가 응답을 회신

   - 2단계 : 모든 참여 데이터베이스가 "완료 준비"되었으면 조정자는 "완료(Commit)" 신호를 보내거나, 하나 이상의 참여 데이터베이스가 "완료 불가" 신호를 보내면 조정자는 "철회(Abort)" 신호를 보냄

 

3. 데이터베이스 백업

 1) 데이터베이스 백업 개요

  (1) 데이터베이스 백업 정의

   - 장애시 데이터베이스 복구를 위해 데이터베이스의 전체 또는 일부를 중복시켜 보관하는 작업

  (2) 백업의 목적

   - 데이터 유실 방지, 비지니스 연속성 확보

 

 2) 데이터베이스 백업의 요구사항 및 주요 작업사항

  (1) 데이터베이스 백업 요구사항

항목 요구사항
업무적 요구사항 Mean-Time-To-Recovery (MTTR)
Mean-Time-Between-Failures (MTBF)
운영 요구사항 서비스 운영 요건 (예 : 24/365)
테스트와 검증차원 백업 요건
기술적 요구사항 OS 물리적 이미지 copy
데이터베이스 백업 수준 (object, schema, data)
백업 주기 산정
재난복구 요구사항 재해, 재난에 대한 비지니스 영향도 분석

  (2) 데이터베이스 백업관리 내용

항목 내용 예시
백업정책 - 백업주기, 소산정책 등
- 백업 전략, 기술, 정비 등을 기술
Daily : DB Archive
Weekly : OS/User Data
Full Backup : DB/AP
백업구성 기술적 백업 아키텍쳐 구성 디스크, 테이프, VTI, LAN, SAN 등
백업수행 및 이력관리 백업수행 결과 Log 기록 및 분석  
백업용량산정 백업 데이터의 양 산정 통상 원본크기의 2~6배 산정

 

 3) 데이터 베이스 백업 방식의 종류와 특징

분류 기준 백업방식 설명 장/단범
서비스
중단 여부
오프라인 백업
(Cold Backup)
DB를 정지하고 백업 받는 방식 백업수행중 서비스 중단
온라인 백업
(Hot Backup)
DB를 운영하면서 백업 받는 방식 - 서비스 지속
- CPU/메모리 사용 증가
백업 범위 전체 백업
(Full Backup)
데이터베이스 전체를 백업 긴 수행시간, 데이터 중복
차등 백업
(Differential Backup)
직전 전체백업 이후의 변경 데이터 백업 - 백업 용량 및 시간 축소
- 복구시간 단축
증분 백업
(Incremental Backup)
직전 증분백업 이후의 변경 데이터 백업 - 백업 용량 및 시간 축소
(차등 > 증분)
- 복구시 전체백업과 이후 증분백업들을 적용
- 증분 백업 데이터중 문제 발생시 복구 실패

아카이브 로그 백업
(Archive Log Backup))
트렌젝션의 수행내용 기록 - 특정 복구 시점 복원 가능
- 데이터 손실 최소화
- 트렌젝션의 백업 - 데이터 백업본 필요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts