IT프로젝트정보시스템구축관리
DB구축관리
DB관리기능
회복
1. Recovery 회복의 개념
- 트랜잭션들을 수행하는 도중에 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
- 트랜잭션
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산
- 트랜잭션
2. 장애의 유형
- 트랜잭션 장애
- 입력 데이터 오류, 불명확한 데이터, 시스템 자원 요구의 과다등 트랜잭션 내부의 비정상적인 상황으로 인하여 프로그램 실행이 중지되는 현상
- 시스템 장애
- 데이터베이스에 손상을 입히지는 않으나 하드웨어 오동작, 소프트웨어의 손상, 교착 상태 등에 의해 모든 트랜잭션의 연속적인 수행에 장애를 주는 현상
- 미디어 장애
- 저장장치인 디스크 블록의 손상이나 디스크 헤드의 충돌 등에 의해 데이터베이스의 일부 또는 전부가 물리적으로 손상된 상태
3. Recovery Management 회복 관리기
- 회복관리기는 DBMS의 구성요소
- 트랜잭션 실행이 성공적으로 완료되지 못하면 트랜잭션이 데이터베이스에 생성했던 모든 변화를 취소(Undo)시키고 트랜잭션 수행 이전의 원래 상태로 복구하는 역할
- 메모리 덤프, 로그를 이용하여 회복을 수행
병행제어
1. Concurrency Control 병행제어의 개념
- 동시에 여러 개의 트랜잭션을 병행 수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것
2. 병행제어의 목적
- 데이터베이스의 공유를 최대화
- 시스템의 활용도를 최대화
- 데이터베이스의 일관성을 유지
- 사용자에 대한 응답 시간을 최소화
3. 병행수행의 문제점
- 병행제어 기법에 의한 제어없이 트랜잭션들이 데이터베이스에 동시에 접근하도록 허용하는 경우 발생하는 문제점
문제점 설명 갱신분실 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상 비완료 의존성 하나의 트랜잭션 수행이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상 모순성 두 개의 트랜잭션이 병행수행 될 때 원치않는 자료를 이용함으로써 발생하는 문제 연쇄 복귀 병행수행되던 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback하는 경우 다른 트랜잭션도 함께 Rollback되는 현상