데이터베이스 회복 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
;Database Recovery | ;Database Recovery | ||
;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업 | ;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업 | ||
18번째 줄: | 17번째 줄: | ||
* 로그의 타입: START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등 트랜잭션의 연산 타입 | * 로그의 타입: START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등 트랜잭션의 연산 타입 | ||
* '''로그파일을 이용한 복구''' | * '''로그파일을 이용한 복구''' | ||
** 로그파일에 트랜잭션의 시작(START) | ** 로그파일에 트랜잭션의 시작(START)와 종료(COMMIT)이 있는 경우 REDO 수행 | ||
** 로그파일에 트랜잭션의 시작(START) | ** 로그파일에 트랜잭션의 시작(START)는 있고 종료(COMMIT)은 없는 경우 UNDO 수행 | ||
== 회복 기법 == | == 회복 기법 == | ||
31번째 줄: | 30번째 줄: | ||
** 커밋 발생 이전의 갱신은 원자성이 보장되지 않는 미완료 갱신이므로 장애 발생 시 UNDO 필요 | ** 커밋 발생 이전의 갱신은 원자성이 보장되지 않는 미완료 갱신이므로 장애 발생 시 UNDO 필요 | ||
=== | === 검사점 회복 기법 === | ||
;Checkpoint Recovery | ;Checkpoint Recovery | ||
* 체크포인트(Checkpoint) 회복 기법이라고도 한다. | |||
* 장애 발생 시 검사점(Checkpoint) 이전에 처리된 트랜잭션은 회복에서 제외하고 | * 장애 발생 시 검사점(Checkpoint) 이전에 처리된 트랜잭션은 회복에서 제외하고 | ||
* 검사점 이후에 처리된 트랜잭션은 회복 작업 수행 | * 검사점 이후에 처리된 트랜잭션은 회복 작업 수행 | ||
** 검사점 이후, 장애 발생 이전에 commit이 완료된 경우 | ** 검사점 이후, 장애 발생 이전에 commit이 완료된 경우 Undo 수행 | ||
** 장애 발생 시점까지 commit되지 못한 경우 | ** 장애 발생 시점까지 commit되지 못한 경우 Redo 수행 | ||
[[파일:검사점 회복 기법.png]] | [[파일:검사점 회복 기법.png]] | ||
=== | === 그림자 페이징 회복 기법 === | ||
;Shadow Paging Recovery | ;Shadow Paging Recovery | ||
* 트랜잭션이 실행되는 메모리상의 Current Page Table과 하드디스크의 Shadow Page Table 이용 | * 트랜잭션이 실행되는 메모리상의 Current Page Table과 하드디스크의 Shadow Page Table 이용 | ||
46번째 줄: | 46번째 줄: | ||
* 트랜잭션이 실패할 경우 Shadow Page Table을 Current Page Table로 함 | * 트랜잭션이 실패할 경우 Shadow Page Table을 Current Page Table로 함 | ||
=== | === 미디어 회복 기법 === | ||
;Media Recovery | ;Media Recovery | ||
* 디스크와 같은 비휘발성 저장 장치가 손상되는 장애 발생을 대비한 회복 기법 | * 디스크와 같은 비휘발성 저장 장치가 손상되는 장애 발생을 대비한 회복 기법 | ||
53번째 줄: | 53번째 줄: | ||
* (Undo는 사용되지 않음) | * (Undo는 사용되지 않음) | ||
== | == 그 외 == | ||
* | * 미디어(Media) 회복 기법 | ||