3. 자료처리/데이터모델링

데이터 베이스 회복 기법

SWExpert 2022. 10. 25. 21:12

I. 데이터베이스 회복기법

- 데이터베이스 운영도중 예기치 못한 장애가 발생한 경우, 데이터베이스를 장애 발생 이전의 상태로 복원하는 행위

-. 데이터베이스 운영도중 다양한 원인에 의해 발생하는 장애시점에 장애 이전의 일관성과 무결성 상태로 복원하는 행위

-. 다양한 물리적/논리적/재난과 재해/인위적 사고 속에서 데이터를 최소한의 손실로 최근 데이터를 유지 존속시키는 기법

- 장애유형: 트랜잭션 장애, 시스템 장애, 디스크 장애

-. 데이터베이스 회복 기본 전략

구분 항목 설명
기본원칙 데이터 - 데이터의 중복
Archive, Dump - 데이터베이스 내용 전체를 일정 기간마다 다른 저장장치에 복제하는 방법
조치방법 Log, Journal - 데이터베이스의 내용이 변경될 때마다 변경 내용을 별도의 로그파일에 저장하는 방법
REDO - Archive 사본 + Log 활용
- DB 손상된 경우 최근 복제 본 적재 → 변경 Log의 재실행으로 복원
UNDO - Log + Backward 취소 연산 수행
- DB 손상은 안되었으나 변경 중이거나 변경 내용 신뢰성 문제시 수행

II. 데이터 베이스 회복 기법

가. 데이터 베이스 회복 기법 분류

나. 데이터베이스 회복기법

구분 회복기법 설명
로그기반 회복기법 즉시갱신기법


트랜잭션 활동상태에서 갱신 시 마다 결과를 DB에 바로 반영, Log 기록
트랜잭션이 수행 도중 실패(failure) 상태에 도달하여 트랜잭션을 철회할 경우에는 Log 파일에 저장된 내용을 참조하여 UNDO 연산 수행
지연갱신기법

트랜잭션 단위가 종료될 때까지 DB에 write 연산을 지연시킴
동시에 DB 변경내역을 Log에 보관
트랜잭션이 완료되면 Log를 이용하여 DB에 Write 연산 수행
트랜잭션이 종료된 상태이면, 회복시 UNDO 없이 REDO만 실행
트랜잭션이 종료가 안된 상태이면 Log 정보를 무시함 
그외 Check Point 회복기법




Log 기법의 회복 시 Log 파일의 UNDO, REDO 실행에 참조 반영 범위를 축소하여 빠른 회복이 가능하도록 하는 기법
check point를 로그파일에 기록하고, 장애 발생시에 검사 시점 이전에 처리된 트랜잭션은 회복 작업에서 제외
이후에 처리된 내용에 대해서만 회복 작업 수행하는 회복 기법
트랜잭션이 완료되면 Log 를 이용하여 DB에 Write 연산 수행 

checkpoint 이전 처리된 트랜잭션 회복대상에서 제외
새로 시작한 트랜잭션은 UNDO 리스트
commit된 트랜잭션은 REDO 리스트
로그 역방향으로 UNDO 실행 후 REDO 실행 
그림자 페이징 회복기법



트랜잭션이 실행되는 동안 현재 페이지 테이블과 그림자 페이지 테이블을 이용
트랜잭션 시작시점에 현재 페이지 테이블과 동일한 그림자 페이지 테이블을 생성함
현재 페이지 테이블은 주기억장치, 그림자 페이지 테이블은 하드 디스크에 저장함
트랜잭션이 성공적으로 완료될 경우, 현재 페이지 테이블의 내용을 그림자 페이지 테이블의 내용으로 저장함

 

'3. 자료처리 > 데이터모델링' 카테고리의 다른 글

데이터베이스 키  (0) 2022.10.25
동시성제어  (0) 2022.10.25
데이터 독립성  (0) 2022.10.25
데이터 거버넌스, 데이터 옵스 방법론  (0) 2022.10.06
다차원 모델링  (0) 2022.07.26