데이터베이스 회복 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:데이터베이스]]
;Database Recovery
;Database Recovery
;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
18번째 줄: 17번째 줄:
* 로그의 타입: START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등 트랜잭션의 연산 타입
* 로그의 타입: START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등 트랜잭션의 연산 타입
* '''로그파일을 이용한 복구'''
* '''로그파일을 이용한 복구'''
** 로그파일에 트랜잭션의 시작(START)종료(COMMIT)있는 경우 REDO 수행
** 로그파일에 트랜잭션의 시작(START)종료(COMMIT)있는 경우 REDO 수행
** 로그파일에 트랜잭션의 시작(START)있고 종료(COMMIT)없는 경우 UNDO 수행
** 로그파일에 트랜잭션의 시작(START)있고 종료(COMMIT)없는 경우 UNDO 수행


== 회복 기법 ==
== 회복 기법 ==
31번째 줄: 30번째 줄:
** 커밋 발생 이전의 갱신은 원자성이 보장되지 않는 미완료 갱신이므로 장애 발생 시 UNDO 필요
** 커밋 발생 이전의 갱신은 원자성이 보장되지 않는 미완료 갱신이므로 장애 발생 시 UNDO 필요


=== [[검사점 회복 기법]] ===
=== 검사점 회복 기법 ===
;Checkpoint Recovery
;Checkpoint Recovery
* 체크포인트(Checkpoint) 회복 기법이라고도 한다.
* 장애 발생 시 검사점(Checkpoint) 이전에 처리된 트랜잭션은 회복에서 제외하고
* 장애 발생 시 검사점(Checkpoint) 이전에 처리된 트랜잭션은 회복에서 제외하고
* 검사점 이후에 처리된 트랜잭션은 회복 작업 수행
* 검사점 이후에 처리된 트랜잭션은 회복 작업 수행
** 검사점 이후, 장애 발생 이전에 commit이 완료된 경우 Redo 수행
** 검사점 이후, 장애 발생 이전에 commit이 완료된 경우 Undo 수행
** 장애 발생 시점까지 commit되지 못한 경우 Undo 수행
** 장애 발생 시점까지 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는 사용되지 않음)


=== [[ARIES 회복 기법]] ===
== 그 외 ==
* '''REDO 중 Repeating history''': 붕괴가 발생했을 때의 데이터베이스 상태를 복구하기 위하여 붕괴 발생 이전에 수행했던 모든 연산을 다시 한번 수행. 붕괴가 발생했을 때 완료되지 않은 상태였던 (진행 트랜잭션)은 UNDO
* 미디어(Media) 회복 기법
* '''UNDO 중 Logging''': UNDO를 할 때에도 로깅을 함으로써 회복을 수행하는 도중에 실패하여 회복을 다시 시작할 때에 이미 완료된 UNDO 연산은 반복하지 않음
 
== 같이 보기 ==
* [[데이터베이스]]
* [[데이터베이스 병행제어]]
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)