[정보처리기사 실기 - 데이터베이스] 회복(Recovery) :: 소림사의 홍반장!

1. 회복의 개념

- 회복은 트랜잭션들을 실행하는 도중 장애(Failure)가 발생하여 데이터베이스가 손상되었을 경우 손상되기 이전의 정상 상태로 복구하는 작업이다.

 

 

2. 장애의 유형

- 실행 장애(Action Failure) : 사용자의 실수, 무결성 규정 위반 등으로 질의 실행이 실패하는 현상

- 트랜잭션 장애(Transaction Failure) : 트랜잭션 내부에서 입력 데이터 오류, 불명확한 데이터, 시스템 자원 요구의 과다 등 비정상적인 상황으로 인하여 트랜잭션 실행이 중지되는 현상

- 시스템 장애(System Failure) : 데이터베이스에는 손상을 입히지 않으나 하드웨어 오동작, 정전, 소프트웨어 오류, 교착 상태 등에 의해 실행중인 모든 트랜잭션들이 더 이상 실행을 계속할 수 없는 현상

- 미디어 장애(Media Failure) : 저장 장치인 디스크 블록의 손상이나 디스크 헤드의 충돌등에 의해 데이터베이스의 일부 또는 전부가 물리적으로 손상되는 현상

 

 

3. 회복 관리기(Recovery Manager)

- 회복 관리기는 로그(Log). 메모리 덤프(Memory Dump) 등을 이용하여 회복 시능을 수행하는 DBMS의 핵심 구성 요소.

- 회복 관리기는 트랜잭션 실행이 성공적으로 완료되지 못하면 로그를 이용하여 트랜잭션이 데이터베이스에 생성했던 모든 변화를 취소(Undo)시켜서, 트랜잭션 실행 이전의 원래 상태로 되돌리는 역할을 담당한다.

- 트랜잭션 실행을 성공적으로 종료하였으나 디스크에는 반영되지 않았을 경우 회복 시 로그를 이용하여 재작업(Redo)을 수행한다.

 

 

4. 회복 기법

(1) 연기 갱신(Differed Update) 기법

- 연기 갱신 기법은 트랜잭션이 성공적으로 종료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 기법이다.

- 트랜잭션이 실행되는 동안 변경된 내용은 로그에 보관된다.

- 트랜잭션의 부분 완료 시점에 저장된 로그를 사용하여 변경 내용을 실제 데이터베이스에 반영한다.

- 회복작업을 수행할 경우에는 Redo 작업만 수행된다.

 

(2) 즉각 갱신(Immediate Update) 기법

- 즉각 갱신 기법은 트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 기법이다.

- 장애가 발생하여 회복 작업을 수행할 경우에 대비하여 변경된 모든 내용들은 로그에 보관한다.

- 회복 작업을 수행할 경우에는 Redo와 Undo 작업이 모두 수행된다.

 

(3) 그림자 페이지(Shadow Paging) 기법

- 그림자 페이지 기법은 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로  구성하여 각 페이지마다 복사본인 그림자 페이지로 별도 보관해 두고, 실제 페이지를 대상으로 트랜잭션에 대한 변경 작업을 수행하는 기법이다.

- 회복을 위해 로그를 유지할 필요가 없으며, 회복 작업을 수행할 경우에도 Redo, Undo 작업을 수행할 필요 없다.

 

(4) 검사점(Check Point) 기법

- 시스템 장애가 발생하였을 경우, Redo와 Undo를 수행하기 위해 로그 전체를 조사해야 하는 경우를 피하기 위한 기법이다.

- 장애 발생 시 로그 전체를 조사하지 않고 로그 내에서 가장 최근의 검사점으로부터 회복 작업을 수행하여 회복 시간을 단축시킬 수 있다.

 

(5) 미디어 회복(Media Recovery) 기법

- 데이터베이스 내용을 주기적으로 안전한 저장 장치에 덤프해 놓는다.

 

 

[참고] 2011 시나공 정보처리기사 실기 문제집

다른 카테고리의 글 목록

Dev. 관련자격증/정보처리기사 카테고리의 포스트를 톺아봅니다