Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

회복 본문

Database

회복

d5ngs 2020. 6. 15. 20:00

정의

- 트랜잭션들의 처리를 수행하는 도중 장애가 발생하여 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
    - 원본, 손상, 회복 데이터 등의 회복과 관련된 데이터 저장소



'Database' 카테고리의 다른 글

분산 데이터베이스  (0) 2020.06.15
보안  (0) 2020.06.15
CRUD  (0) 2020.01.13
DBMS  (0) 2019.05.26
데이터 모델  (0) 2019.05.26