dongdorodongdong
회복 본문
정의
- 트랜잭션들의 처리를 수행하는 도중 장애가 발생하여 DB가 손상되었을 때 손상되기 이전의 정상 상태로 복구시키는 작업
유형
- 트랜잭션 장애
- 입력 데이터 오류, 불명확한 데이터, 시스템 자원 요구의 과다 등 트랜잭션 내부의 비정상적인 상황으로 인해 프로그램 실행이 중지 - 시스템 장애
- DB에 손상을 입히지는 않으나 H/W 오동작, S/W 손상, 교착상태 등에 의해 모든 트랜잭션의 연속적인 수행에 장애를 주는 현상 - 미디어 장애
- 저장장치인 디스크 블록의 손상이나 디스크 헤드의 충돌 등에 의해 DB의 일부 또는 전부가 물리적으로 손상
기법
- 로그기반-지연 갱신기법
- DB 변경 내역을 Log에 보관
- 트랜잭션 완료 시 DB-Write 수행
- 트랜잭션 종료된 이후 장애 발생
"Log이용 REDO 실행"
- 트랜잭션 실행 중 장애 발생
"Log 폐기" - 로그기반-즉시 갱신기법
- DB 변경 내역을 Log에 보관
- 바로 DB-Write 수행
- 트랜잭션 종료된 이후 장애 발생
"Log이용 REDO 실행"
- 트랜잭션 실행 중 장애 발생
"Log이용 UNDO 실행" - 검사점 기법
- 최근 회복 지점인 검사점o2가 있고 후에 장애가 발생하였을 때, 트랜잭션이 완료된 t4와 t5는 REDO로 재실행
- 트랜잭션이 실행중인 t6은 UNDO로 취소 - 그림자 페이징 기법
- 현재 페이지 테이블과 그림자 페이지 테이블을 분할하여 장애 시 그림자 페이지 테이블을 현재 페이지 테이블에 DUMP하여 회복
- 현재 페이지 테이블은 주기억장치에서 동작
- 그림자 페이지 테이블은 DISK에 저장
- UNDO 중심의 회복 기법
* 주요 구성 요소
- REDO (재실행)
- 최근 변경된 내용을 로그파일에 기록하고, 장애발생시 로그 파일을 읽어서 재실행함으로 DB 내용을 복원
- 주로 완료된 트랜잭션 회복을 위해 사용 - UNDO (취소)
- 장애발생 시 모든 변경된 내용을 취소함으로 DB 내용을 복원
- 주로 실행중인 트랜잭션 회복을 위해 사용 - LOG
- 회복을 위한 과거 데이터, 절차, 장소 등을 기록 - Archive
- 원본, 손상, 회복 데이터 등의 회복과 관련된 데이터 저장소