77. 데이터베이스 백업

alpaka·2024년 1월 21일
0

정보처리기사

목록 보기
81/161
post-thumbnail

데이터베이스 백업

  • 데이터베이스 백업은 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업으로, 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 한다.
  • 데이터베이스 관리 시스템(DBMS)은 데이터베이스 파괴 및 실행 중단이 발생하면 이를 복구할 수 있는 기능을 제공한다.

데이터베이스 장애 유형

  • 데이터베이스의 장애 유형을 정확히 파악하고 장애에 따른 백업 전략을 세워야 장애 발생 시 복구가 가능하다.
  • 사용자 실수: 사용자의 실수로 인해 테이블이 삭제되거나 잘못된 트랜잭션이 처리 된 경우
  • 미디어 장애: CPU, 메모리, 디스크 등 하드웨어 장애나 데이터가 파손된 경우
  • 구문 장애: 프로그램 오류나 사용 공간의 부족으로 인해 발생하는 장애
  • 사용자 프로세스 장애: 프로그램이 비정상적으로 종료되거나 네트워크 이상으로 세션이 종료되어 발생하는 오류
  • 인스턴스 장애: 하드웨어 장애, 정전, 시스템 파일 파손 등 비정상적인 요인으로 인해 메모리나 데이터베이스 서버의 프로세스가 중단된 경우

로그파일

  • 로그 파일은 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일로, 데이터베이스의 복구를 위해 필요한 가장 기본적인 자료이다.
  • 로그 파일을 기반으로 데이터베이스를 과거 상태로 복귀(UNDO)시키거나 현재 상태로 재생(REDO)시켜 데이터베이스 상태를 일관성 있게 유지할 수 있다.
  • 로그 파일은 트랜잭션 시작 시점, Rollback* 시점, 데이터 입력, 수정 삭제 시점 등에서 기록된다.
  • 로그 파일내용: 트랜잭션이 작업한 모든 내용, 트랜잭션 식별, 트랜잭션 레코드, 데이터 식별자, 갱신 이전 값(Before Image), 갱신 이후 값(After Image) 등

데이터베이스 복구 알고리즘

  • 데이터베이스 복구 알고리즘은 동기적/비동기적 갱신에 따라 NO-UNDO/REDO, UNDO/NO-REDO, UNDO/REDO, NO-UNDO/NO-REDO 방법으로 분류된다.
  • NO-UNDO/REDO
    • 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘
    • NO-UNDO: 트랜잭션 완료 전에는 변경 내용이 데이터베이스에 기록되지 않으므로 취소할 필요가 없다.
    • REDO: 트랜잭션 완료 후 데이터베이스 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야 한다.
  • UNDO/NO-REDO
    • 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘
    • UNDO: 트랜잭션 완료 전에 시스템이 파손되었다면 변경된 내용을 취소한다.
    • NO-REDO: 트랜잭션 완료 전에 데이터베이스 버퍼 내용을 이미 저장 매체에 기록했으므로 트랜잭션 내용을 다시 실행할 필요가 없다.
  • UNDO/REDO
    • 데이터베이스 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
    • 데이터베이스 기록 전에 트랜잭션이 완료될 수 있으므로 완료된 트랜잭션이 데이터베이스에 기록되지 못했다면 다시 실행해야 한다.
  • NO-UNDO/NO-REDO
    -데이터베이스 버퍼의 내용을 동기적으로 저장 매체에 기록하지만 데이터베이스와는 다른 영역에 기록한 경우의 복구 알고리즘
    • NO-UNDO: 변경 내용은 데이터베이스와 다른 영역에 기록되어 있으므로 취소할 필요가 없다.
    • NO-REDO: 다른 영역에 이미 기록되어 있으므로 트랜잭션을 다시 실행할 필요가 없다.

백업 종류

  • 백업 종류는 복구 수준에 따라서 운영체제를 이용하는 물리 백업과 DBMS 유틸리티를 이용하는 논리 백업으로 나뉜다.0
  • 물리 백업: 데이터베이스 파일을 백업하는 방법으로, 백업 속도가 빠르고 작업이 단순하지만 문제 발생 시 원인 파악 및 문제 해결이 어렵다.
  • 논리 백업: DB 내의 논리적 객체들을 백업하는 방법으로, 복원 시 데이터 손상을 막고 문제 발생 시 원인 파악 및 해결이 수월하지만 백업/복원 시 시간이 많이 소요된다.

구분설명복구 수준
물리 백업로그 파일 백업 실시완전 복구
물리 백업로그 파일 백업 없음백업 시점까지 복구
논리 백업DBMS 유틸리티백업 시점까지 복구
profile
alpaka의 자격증 공부장

0개의 댓글

관련 채용 정보