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 파일 | |
'Study Note > DB' 카테고리의 다른 글
| [자료구조론> 트랜잭션] 트랜잭션, ACID, 격리레벨 (0) | 2026.04.14 |
|---|---|
| [DBMS/분산파일처리] NoSQL (0) | 2026.04.14 |
| [데이터모델링> 물리모델링] 반정규화 (0) | 2026.04.13 |
| [자료구조론> 회복기법] 로그기반, 체크포인트, 그림자페이지 (0) | 2026.04.13 |
| [자료구조론> 병행제어] 병행제어, 문제점, 해결기법 (0) | 2026.04.13 |