DB 장애

 

DB 장애 및 복구 개념

구분 내용
DB장애 개념 사용자의 실수, 미디어, 데이터베이스 구분 처리의 오류로 인하여 DB가 정상적으로 동작하지 않는 상태
DB복구 개념 DB의 비정상적인 상태를 정상적인 상태로 전환하고 비정상적인 상태 시 처리되었던 데이터를 손실 이전의 상태로 되돌리는 작업

 

 

장애 유형설명장애 예방/복구 방안

장애 유형 설명 장애 예방/복구 방안
사용자 에러 실수로 인한 테이블의 삭제, 잘못된 트랜잭션의 커밋 충분한 교육, 장애에 빠른 인지 방법 가이드
미디어 장애 물리적으로 구성된 DB에 직접 손상이 일어나는 장애, 파일의 삭제, 디스크 고장, 디스크 컨트롤러 고장 Redo 로그 파일, 아카이브 로그 파일의 운영
구문 장애 프로그램, 권한 오류, 사용 가능 용량 제한이나 할당량 초과 및 여유 공간 부족 프로그래머·사용자에게 에러 구문 교육, 정상 사용 유도, 사용 가능한 용량 증가 또는 권한 할당
사용자 프로세스 비정상적인 세션 종료로 발생 PMON(Process Monitor) 사용
인스턴스 장애 정전으로 인한 서버 종료, CPU·메모리 등 장치 장애나 운영체제 장애로 인한 DBMS 종료, 백그라운드 프로세스 장애 SMON(System Monitor) 수행

 

DB 복구 알고리즘 

구분 설명
NO-UNDO / REDO 미완료 트랜잭션은 DB에 반영되지 않고, 완료 트랜잭션만 일부 미반영 가능
(취소할 작업이 없고, 반영할 작업은 있음. 즉, 안 끝난 건 원래 안 들어갔고, 끝난 것만 다시 반영하면 됨)
UNDO / NO-REDO 완료 전 갱신 내용이 DB에 반영될 수 있으나, 완료 시점에는 DB 반영이 보장됨
(취소할 작업이 있고, 반영할 작업은 없음. 즉, 안끝난건 지워야하고 끝난건 다 반영되어었음)
UNDO / REDO 완료 전 갱신 내용이 DB에 반영될 수 있고, 완료 후에도 일부 미반영 가능
(취소할 작업이 있고, 반영할 작업도 있음. 즉, 하다만 내용은 지워야하고 덜반영된건 다시저장해야함)
NO-UNDO / NO-REDO 트랜잭션 상태와 DB 내용이 항상 일치하도록 관리됨
(취소할 것도, 다시 반영할 것도 없음. 즉, DB상태가 깔끔하여 손댈 것이 없음)

* UNDO = 하다 만 작업 취소, REDO = 끝난 작업 다시 반영

 

DB백업

개요

정의 - 데이터를 예기치 않은 사고로 유발된 원본 데이터의 손상 및 분실로 부터 보호하기 위해 특정시점 기준으로 사본을 사전에 생성하는 절차 및 작업
필요성 - 데이터 재생의 어려움과 비용, 값비싼 시스템 중지, 비즈니스 영속성(BCP)

 

DB 백업 유형

관점 DB백업 유형 설명
데이터 범위 전체백업 - 백업받고자 하는 데이터의 전체에 대해 백업을 실시하는 방식
(데이터를 전부 한 번에 백업하는 방식)
차분백업 - 전체백업 이후로 다음 전체백업이 실시되기 직전까지 이전 전체백업 이후 변경된 데이터를 백업하는 방식
(마지막 전체백업 이후 바뀐 내용을 한꺼번에 백업하는 방식)
증분백업 - 차분백업과 유사하나 전체백업 이후 변경분이 누적되지 않고 직전 백업 이후 변경된 데이터만 백업하는 방식
(직전 백업 이후 바뀐 내용만 백업하는 방식)
서비스 제공 여부 온라인 백업 - 백업 시 데이터베이스의 다운타임 없이 해당 데이터를 백업하는 방식
- DBMS 분산사용, 표준쉘(Shell) 스크립트 이용 등을 통해 자동 실행 가능
(DB를 멈추지 않고 운영 중에 백업하는 방식)
오프라인 백업 - 백업 시 데이터베이스를 다운시키고 백업을 받는 방식
- 업무상 다운시간 확보가 가능한 경우 수행하며 가장 확실한 백업 방식
(DB를 잠시 중단한 뒤 백업하는 방식)
데이터 형태 파일 단위 백업 - 오프라인 백업 시 가장 많이 사용되는 백업방식
- 백업대상 정의 시 백업대상 데이터가 있는 파일시스템, 디렉토리, 파일을 지정하여 파일 단위로 백업을 실행
(파일이나 폴더 단위로 백업하는 방식)
로(Raw Device) 단위 백업 - 데이터베이스가 로디바이스로 구성된 경우 로디바이스 단위 백업 수행
- 로디바이스는 파일단위백업보다 백업 및 복구속도가 빠름
(디스크 장치 자체 단위로 백업하는 방식)
백업주기 일일백업 데이터베이스 데이터, 로그를 매일 백업작업을 실시함
주간백업 - 매주 지정된 요일에 실시
- 주로 운영서버가 저한(CPU, Memory, I/O) 사용률이 낮은 주말에 수행
월간백업 - 시스템 예방점검과 연계하여 월 1회 이상 시스템점검과 월간전체백업 실시
년간백업 - 매년 말이나 다음해초에 실시하며 1년/5년/10년과 같이 장기보관 목적 수행
임시&수시백업 - 주요 변경작업 전 또는 설치작업 완료 후에 실시하는 백업

 

DB 백업 파일

구분 필요파일
백업
대상파일
장애복구용 기본 파일 데이터 파일, 컨트롤 파일(DB전체관리목차), Redo 로그 파일(변경이력기록)
로그 정보 파일 장애 시점 로그파일, 백업 이후 생성된 아카이브 로그 파일
장애 복구시
필요 파일
단일 백업파일 이용 백업 시점 데이터 파일, Redo 로그 파일, 컨트롤 파일
완전 복구 Archive log 파일, 장애 시점 Redo log 파일, 장애 시점 Control 파일
불완전 복구 백업 데이터 파일 전체, Archive log 파일, 현재 Redo log 파일, 장애 시점 Control 파일

+ Recent posts