반응형
-
장애의 개념 및 종류
-
장애의 개념시스템의 내적 또는 외적 문제로 시스템이 정상적으로 동작할 수 없는 상태를 의미
-
장애의 종류
-
실행 장애(Action Failure)사용자의 실수, 무결성 규정 위반 등으로 인해 질의 실행이 실패하는 경우
-
트랜잭션 장애(Transaction Failure)입력 데이터 오류, 시스템 자원 요구의 과다, 데드락 발생으로 활성 트랜잭션의 강제 종료 등으로 인해 트랜잭션 실행이 실패하는 경우
-
시스템 장애(System Failure)소프트웨어(운영체제나 DBMS 등) 오류, 하드웨어 오동작, 정전 등으로 인해 시스템이 동작하지 않게 되는 경우로, 데이터베이스는 손상되지 않음
-
미디어 장애(Media Failure)저장 장치인 디스크 블록의 손상이나 디스크 헤드의 충돌 등에 의해 데이터베이스의 일부 또는 전부가 물리적으로 손상되는 경우
-
-
-
데이터베이스 회복
- 트랜잭션들을 실행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 경우 손상되기 이전의 정상 상태로 복구하는 작업
- 상황에 따라 트랜잭션을 재수행(Redo)하거나 취소(Undo)시키게 됨
-
덤프(Dump) 및 로그(Log) 파일 등을 이용
- 장애가 일어나기 전에 데이터베이스에 내용을 주기적으로 덤프 파일에 보관
- 덤프 이후의 데이터베이스에 대한 변동 사항은 로그 파일에 기록
-
로그-기반 회복과 그림자 페이징 회복이 있음
-
로그-기반 회복 관리기
-
로그
- 안정된(Stable) 저장 장치에 저장됨
- 로그 레코드들의 연속(Sequence)으로 데이터베이스에 대한 변경 활동의 기록을 유지
-
로그 기록 과정
- 트랜잭션 Ti가 시작하면 <Ti, start> 로그 레코드가 로그에 기록
- 트랜잭션 Ti가 write(X)를 실행하기 전에 <Ti, X, 이전 값, 이후 값> 로그 레코드가 로그에 기록(Write-Ahead Logging(WAL) 규칙)
- 트랜잭션 Ti가 마지막 문을 실행하면 <Ti, commit> 로그 레코드가 로그에 기록
- 로그 레코드는 버퍼링 하지 않고 직접 안정된 저장 장치의 로그에 기록
-
데이터 베이스 회복의 전략
- 회복을 위한 중복 저장 유형
-
구분 | 내용 |
덤프 |
|
로그 |
|
- 회복을 위한 조치 유형
구분 | 내용 |
REDO |
|
UNDO |
|
-
회복 관리기의 개념
- 회복 관리기는 로그, 메모리 덤프 등을 이용하여 회복 기능을 수행하는데, 로그는 일반적으로 REDO와 UNDO를 위해 <트랜잭션 id, 데이터 아이템, 이전 값, 이후 값> 형식을 가짐
- 회복 관리기는 트랜잭션 실행이 성공적으로 완료되지 못하면 로그를 이용하여 트랜잭션이 데이터베이스에 수행하였던 모든 변경을 취소(Undo)시켜, 트랜잭션 실행 이전의 원래 상태로 되돌리는 역할을 담당
- 트랜잭션의 실행이 성공적으로 종료되어 로그에는 기록되었지만 디스크에는 반영되지 않았을 경우 회복 시에 로그를 이용하여 재작업(Redo)을 수행
반응형
'밥벌이 > 데이터베이스' 카테고리의 다른 글
튜닝의 종류 (0) | 2011.03.11 |
---|---|
성능 평가(Benchmarks) (0) | 2011.03.11 |
데이터베이스 회복기법 (0) | 2011.03.10 |
트랜잭션 관리 (0) | 2011.03.01 |
동시성(병행) 제어 (0) | 2011.03.01 |