DB는 정보시스템의 핵심요소다. 이 DB하면 빼놓을 수 없는 것이 백업이다. 대부분의 사용자가 백업을 특정 백업 솔루션에 맡기거나 개인이 작성하고 있다. 하지만 이 때문에 복구를 할 때 언제든지 문제가 발생할 수 있다.
사용중이던 DB에서 어느날 사용자가 테이블을 삭제했다. 삭제된 데이터를 복구하기 위해 백업본을 가지고 임시 DB를 만들었다. 여기서 추출한 데이터를 운영 DB에 넣어주기 위해서다. 이를 CLONE DB라고 부른다.
이 경우 임시 DB는 불완전 복구를 수행한다. 불완전 복구를 수행하려고 백업본 중에 중요 테이블 스페이스와 필요 테이블 스페이스를 복원하는데, 이때 중요 테이블 스페이스에서 아카이브(ARCHIVE)를 찾게 된다.
ARCHIVE를 추가요청을 해야 하며 이로 인한 데이터 복구 시간도 늘어나게 된다. ARCHIVE를 많이 적용하여 드디어 불완전 복구를 완료하여 해당 데이터를 넣어주게 된다.
관리자라면 복구에 대해서 어떤 부분이 필요한지 확실히 파악을 하고 있어야 하지만 의외의 복병을 만나게돼 ARCHIVE를 요청하는 시간이 더 걸리게 될 수 있다.
이와 같이 백업의 방법이 복구의 중요한 부분을 차지한다는 의미를 얻을 수 있으며, 이에 대한 설명을 하고자 한다.
DB의 가장 중요한 것은 문제 발생 시에 데이터가 정상적으로 복구 사용 가능해야 한다. 이에 따라서 백업 및 복구는 DB 상에서 중요한 위치에 있으며 기본적으로 백업은 꼭 수행해야 하는 것이다.
백업에는 네 가지 종류가 있다. 오라클에서 백업의 종류는 <표 1>과 같이 네 가지가 있으며 각각 특징이 있다. 이중 부분 데이터 복구를 위해서 HOT BACKUP의 방법론을 가지고 논의 해보도록 하겠다(<표 1> 참조).
백업방법 | 수행속도 | 온라인백업 | 저장단위 | 부분복구 | 증분백업 |
---|---|---|---|---|---|
EXPORT, IMPORT | 하 | 가능 | 사용블록 | 오브젝트 | 부분가능 |
HOT BACKUP | 중 | 가능 | 데이터파일 | 테이블스페이스 | 불가 |
COLD BACKUP | 상 | 불가 | 데이터파일 | 테이블스페이스 | 불가 |
RMAN BACKUP | 중 | 가능 | 사용블록 | 버전별로틀림 | 가능 |
첫번째로 운영 중에 물리적으로 장애가 생겼을 경우 최근 백업 및 ARCHIVE를 사용하여 미디어 복구 가능하고, 두번째로 운영중에 사용자 또는 프로그램에 의해서 특정 데이터가 변경 되거나 삭제 되어 예전 데이터로 복구가 필요한 경우 부분적인 백업본을 가지고 부분 데이터 복구가 가능하다.
이와 같이 복구 방법 중 실제로 부분 데이터 복구가 빈번하게 일어나게 되며 백업 방법에 따라서 고려사항이 있으므로 아래 내용에서 살펴보자.
구분 | 내용 |
---|---|
미디어 복구 | 물리적인 장애 발생시에 복구하는 경우 |
부분 데이터 복구 | 사용자 또는 프로그램에 의해 데이터의 잘못된 변경이 발생하는 경우 |
오라클 DB의 SYSTEM, UNDO, SYSAUX 테이블 스페이스가 기본적으로 필요하며, 부분 데이터 복구를 수행하기 위한 테이블 스페이스도 물리적으로 복원을 해줘야 한다.
이후 불완전 복구를 수행하게 되는데 여기에서 간과하는 부분이 생기게 된다. 또한 백업 정책에 따라 부분 데이터 복구를 위한 시간이 길어질 수도 있다.
HOT BACKUP을 가지고 부분 데이터 복구를 수행할 경우 필요한 파일만 가지고 원하는 시간까지 불완전 복구를 수행해 필요한 데이터를 복구 해주는 방식을 사용한다. HOT BACKUP의 세 가지 방법을 설명하였지만 각 방법에 따라서 ARCHIVE 적용량이 달라지게 된다.
ARCHIVE를 적용할 생각이 없었는데 적용을 해야지만 불완전 복구가 될 수 있는 경우가 있어서다. ARCHIVE 적용이 많아지게 된다면 백업서버에서 물리적으로 복원해야 하는 시간이 소요가 되며 만약 ARCHIVE가 적절하게 백업돼 있지 않다면 문제가 될 수 있기 때문이다.
그렇다면 HOT BACKUP 방식을 기준으로 데이터 복구 시 ARCHIVE 적용이 필요하게 되는 부분을 살펴보자.
이렇게 HOT BACKUP을 수행할 경우 테이블 스페이스별로 수행하게 된다면 각각의 BEGIN 수행 시 SYSTEM, UNDO, SYSAUX의 각각의 SCN이 틀리기 때문에 충족할 때까지 ARCHIVE를 적용하게 된다.
사용자는 백업본을 가지고 불완전 복구를 수행하려고 했으나 생각하던 바와는 다르게 많은 ARCHIVE를 적용하는 상황이 오게 되어 ARCHIVE를 추가로 백업 팀에게 요청해야 하며 이런 상황을 미연에 방지하기 위해서 BACKUP 방법에 대한 일관적이고 표준화적인 방법을 설정하여 부분 데이터 복구 수행 시 문제가 없도록 해야한다.
위와 같이 전체 DB 또는 전체 테이블스페이스 HOT BACKUP 수행 시에 DML에 따른 고려사항이 발생하는데 이에 따른 내용은 다음 편에 확인하겠다.
- 강좌 URL : http://www.gurubee.net/lecture/2960
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.