Table of Contents | ||
---|---|---|
|
개요
...
이 문서는 데이터 파일 손상 및 유실, 데이터 삭제와 같이 뜻하지 않은 상황으로 데이터가 손실된 경우를 대비한 데이터베이스 백업 정책을 세우는 데 필요한 가이드이다.
...
Note |
---|
이 문서는 정보 제공을 목적으로 제공되며, 사전에 예고 없이 변경될 수 있습니다. 이 문서는 오류가 있을 수 있으며, 상업적 또는 특정 목적에 부합하는 명시적, 묵시적인 책임이 일절 없습니다. 이 문서에 포함된 Altibase 제품의 특징이나 기능의 개발, 발표 등의 시기는 Altibase 재량입니다. Altibase는 이 문서에 대하여 관련된 특허권, 상표권, 저작권 또는 기타 지적 재산권을 보유할 수 있습니다. |
백업 종류
...
Altibase에서 제공하는 백업 종류를 간단하게 분류하면 다음과 같다. 분류 기준은 Administrator Manual을 따른다.
- 논리적 백업
- 물리적 백업
- 온라인 백업
- 오프라인 백업
- 증분 백업 (Altibase 6.3.1 부터 지원)
논리적 백업
...
논리적(Logical) 백업은 aexport 및 iloader 유틸리티를 사용하여 데이터베이스 객체 및 데이터를 사용자가 확인 가능한 텍스트 파일 형태로 백업하는 방식이다.
백업 종류 | 설명 | 백업 결과 예시 | |
---|---|---|---|
논리적인 백업 (Logical Backup) | aexport | aexport는 Altibase 서버 간 데이터 마이그레이션을 지원하기 위한 도구지만 백업 용도로 활용할 수 있다. Altibase 서버에 생성된 모든 데이터베이스 객체의 생성 문장을 .sql 이름의 파일로 생성한다. 용도에 따라 수행할 수 있도록 3가지 방식을 제공한다.
| aexport 수행 결과와 파일 내용 예시 $ ls -l | head 합계 60 -rw-rw-rw- 1 eheejung eheejung 303 2019-07-12 13:15 ALL_ALT_TBL.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_DIR.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_FK.sql -rw-rw-rw- 1 eheejung eheejung 1539 2019-07-12 13:15 ALL_CRT_INDEX.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_JOB.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_LIB.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_LINK.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_REP.sql -rw-rw-rw- 1 eheejung eheejung 0 2019-07-12 13:15 ALL_CRT_SEQ.sql ...중략... $ cat ALL_CRT_TBL.sql | head connect "ALTITEST" / "ALTITEST" -- ############################ -- "ALTITEST" . "ORDERS" -- ############################ create table "ORDERS" ( "ONO" BIGINT, "ORDER_DATE" DATE, |
iLoader | aexport 처럼 데이터 마이그레이션을 지원하기 위한 도구지만 백업 용도로 활용할 수 있다. 테이블 단위로, 데이터를 사용자가 읽을 수 있는 텍스트 파일 형태로 백업한다. | DEPARTMENTS 샘플 테이블 iloader 수행 결과 예시 $ cat SYS_DEPARTMENTS.dat 1001, "RESEARCH DEVELOPMENT DEPT 1 " , "New York " ,16 1002, "RESEARCH DEVELOPMENT DEPT 2 " , "Sydney " ,13 1003, "SOLUTION DEVELOPMENT DEPT " , "Osaka " ,14 2001, "QUALITY ASSURANCE DEPT " , "Seoul " ,17 3001, "CUSTOMERS SUPPORT DEPT " , "London " ,4 3002, "PRESALES DEPT " , "Peking " ,5 4001, "MARKETING DEPT " , "Brasilia " ,8 4002, "BUSINESS DEPT " , "Palo Alto " ,7 |
물리적 백업
...
Altibase 서버를 구성하는 데이터 파일, 로그 앵커 파일과 같은 파일을 복사하여 물리적으로 다른 장소에 백업하는 것을 의미한다.
...
백업 종류 | 설명 | 백업 결과 예시 | |
---|---|---|---|
물리적 백업 (Physical Backup) | 온라인 백업 | Altibase 서버가 구동된 상태에서 물리적 백업을 수행하는 것을 의미한다. 용도에 따라 수행할 수 있도록 2가지 방식을 제공한다.
| 온라인 백업에서는 stable 한 메모리 체크포인트 이미지 파일 한 벌만 백업한다. 디스크 임시 테이블스페이스의 데이터 파일은 백업하지 않는다.
$ ls -l 합계 2811920 -rw-r----- 1 tech2 tech2 727556096 2019-07-12 14:12 SYS_TBS_MEM_DATA-0-0 -rw-r----- 1 tech2 tech2 4300800 2019-07-12 14:12 SYS_TBS_MEM_DIC-0-0 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor0 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor1 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor2 -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:13 system001.dbf -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:13 undo001.dbf |
오프라인 백업 | Altibase 서버가 중지된 상태에서 물리적 백업을 수행하는 것을 의미한다. 데이터베이스 전체 백업만 가능하다. | 오프라인 백업은 모든 데이터 파일을 백업한다
$ ls -l 합계 3629032 -rw-r----- 1 tech2 tech2 727556096 2019-07-12 14:12 SYS_TBS_MEM_DATA-0-0 -rw-r----- 1 tech2 tech2 727556096 2019-07-12 14:12 SYS_TBS_MEM_DATA-1-0 -rw-r----- 1 tech2 tech2 4300800 2019-07-12 14:12 SYS_TBS_MEM_DIC-0-0 -rw-r----- 1 tech2 tech2 4300800 2019-07-12 14:12 SYS_TBS_MEM_DIC-1-0 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor0 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor1 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:12 loganchor2 -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:13 system001.dbf -rw-r----- 1 tech2 tech2 104865792 2019-07-12 15:09 temp001.dbf -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:13 undo001.dbf |
증분 백업
...
증분 백업이란 마지막 증분 백업 이후 변경된 데이터 페이지만을 백업하는 방식으로 '페이지 변경 추적' 기능을 활성화해야 한다.
...
백업 종류 | 설명 | 백업 결과 예시 | ||
---|---|---|---|---|
증분 백업 (Incremental Backup) | 레벨 0 증분 백업 | 레벨 0 증분 백업은 물리적 백업과 유사하지만, 데이터 페이지의 변경 여부를 판단하기 위한 기준이 되는 백업이다. | $ ls -l TAG_20190712_141610/ 합계 2811924 -rw-r----- 1 tech2 tech2 727556096 2019-07-12 14:16 SYS_TBS_MEM_DATA-0-0_TAG_20190712_141610.ibak -rw-r----- 1 tech2 tech2 4300800 2019-07-12 14:16 SYS_TBS_MEM_DIC-0-0_TAG_20190712_141610.ibak -rw-r----- 1 tech2 tech2 3296 2019-07-12 14:16 backupinfo -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:16 loganchor0 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:16 loganchor1 -rw-r----- 1 tech2 tech2 9632 2019-07-12 14:16 loganchor2 -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:16 system001.dbf_TAG_20190712_141610.ibak -rw-r----- 1 tech2 tech2 1073750016 2019-07-12 14:16 undo001.dbf_TAG_20190712_141610.ibak | |
레벨 1 증분 백업 | 차등 증분 백업 (Differential Incremental Backup) | 가장 최근에 수행된 레벨 0 또는 레벨 1 증분 백업 이후에 변경된 페이지를 백업한다. | ||
누적 증분 백업 (Cumulative Incremental Backup) | 가장 최근에 수행된 레벨 0 백업 이후에 변경된 페이지를 백업한다. |
백업 정책 결정을 위한 고려사항
...
백업 정책은 데이터의 중요도, 복구 정책, 백업 크기 등 고객사 운영 환경을 고려하여 결정해야 한다. 백업 정책을 세우기 위해 필요한 고려사항에 관해 설명한다.
백업 대상 선정
...
백업 정책을 정의하기 위해 가장 먼저 백업 대상을 선정해야 한다. 그리고 백업 대상의 특성을 고려하여 복구 정책, 백업 종류, 백업 주기, 백업 시각, 백업 파일의 보관 기간 등을 결정해야 한다.
이러한 백업 계획은 데이터베이스 관리자가 혼자 할 수 있는 일이 아니며 데이터를 관리하는 업무 담당자의 협조가 필요하다. 백업 대상의 특성을 가장 잘 아는 사람은 업무 담당자이기 때문이다.
복구 시점
...
백업 종류에 따라 복구 시점에 차이가 있다. 백업 대상의 중요도에 따라 허용 가능한 복구 시점을 정하고 그에 따른 백업 방법을 선택해야 한다.
...
백업 종류 | 백업 시점 | 완전 복구 | 불완전 복구 | |
---|---|---|---|---|
논리적 백업 | 가능 | 불가 | 불가 | |
물리적 백업 | 온라인 백업 | 가능 | 가능 | 가능 |
오프라인 백업 | 가능 | 불가 | 불가 | |
증분 백업 | 가능 | 가능 | 가능 |
복구 시간
...
복구 작업은 서비스 중단 후 수행해야 하는 작업이다. 서비스 다운 타임을 최소화해야 하는 업무 환경은 복구 시간도 백업 정책 결정 시에 함께 고려해야 한다.
...
백업 종류 | 복구 소요 시간에 영향을 주는 요소 | 설명 | |
---|---|---|---|
논리적 백업 | aexport |
| 복구 과정에서 객체 생성이 필요한 경우 객체 수가 복구 시간에 영향을 줄 수 있다. |
iLoader |
| 파일의 내용을 읽어서 테이블에 입력(INSERT)하는 과정을 거치므로 테이블 수와 레코드 수, 인덱스 수가 복구 시간에 영향을 준다. | |
물리적 백업 | 온라인 백업 |
| Altibase 서버 구동 과정에서 복구가 진행된다. 메모리 테이블 데이터를 메모리에 로딩하고 메모리 인덱스를 리빌드하는 시간이 필요하다. 복구 과정에서 로그파일을 이용하기 때문에 반영해야 할 로그파일의 수는 복구 시간에 영향을 준다. 로그파일은 백업 이후 발생한 트랜잭션의 양에 따라 결정된다. |
오프라인 백업 |
| 백업 파일만으로 Altibase 서버를 구동하여 복구하기 때문에 복구 시간이 가장 짧다. Altibase 서버 구동 시 메모리 테이블 데이터를 메모리에 로딩하고 메모리 인덱스를 리빌드하는 시간이 필요하다. | |
증분 백업 |
| 복구 과정에서 메모리 테이블 데이터를 메모리에 로딩하고 메모리 인덱스를 리빌드하는 시간이 필요하다. |
백업 수행 시각
...
백업 수행 시간은 데이터베이스의 크기가 클수록 장시간 소요되며 백업을 수행하는 동안 트랜잭션에 영향을 준다. 그러므로 백업 수행 시각은 Altibase 운용 중 가장 idle time에 수행할 것을 권장한다.
...
백업 소요 시간
백업 종류 백업 소요 시간에 영향을 주는 요소 설명 논리적 백업 aexport - 데이터베이스 객체 수 객체 생성 스크립트가 생성되므로 백업 시간에 데이터베이스 객체 수에 영향을 받는다. iLoader - 테이블 수
- 테이블 사용량테이블별 데이터를 조회하여 텍스트 파일을 생성하므로 백업 소요 시간이 테이블 수와 사용량에 영향을 받는다. 물리적 백업 온라인 백업 - 디스크 테이블 데이터 파일 크기
- 메모리 체크포인트 이미지 파일 크기온라인 백업은 데이터 파일을 물리적으로 복사하는 작업이므로 데이터 파일의 크기가 백업 소요 시간에 영향을 준다. 오프라인 백업 - 디스크 테이블 데이터 파일 크기
- 메모리 체크포인트 이미지 파일 크기오프라인 백업 역시 데이터 파일을 물리적으로 복사하는 작업으로 백업 소요 시간이 데이터 파일 크기에 영향을 받는다. 증분 백업 레벨 0 증분 백업 - 디스크 테이블 데이터 파일 크기
- 메모리 체크포인트 이미지 파일 크기온라인 백업과 유사한 방식의 백업으로 데이터 파일의 크기가 백업 소요 시간에 영향을 준다. 레벨 1 증분 백업 - 데이터 페이지 변화량 레벨1 증분 백업의 소요 시간은 변경 트랜잭션으로 발생한 데이터 페이지 변화량에 영향을 받는다. 트랜잭션 영향
백업 수행 시 트랜잭션에 주는 영향을 비교한 표이다.백업 종류 트랜잭션 영향 논리적 백업 aexport 일시적으로 DDL 수행 불가 iLoader 백업 중 Memory GC 증가 물리적 백업 온라인 백업 백업 중 체크포인트 수행 불가로 온라인 로그파일 증가 오프라인 백업 서비스 다운타임 필요 증분 백업 '페이지 변경 추적' 기능 활성화로 평상시 DB 성능 저하
백업 중 체크포인트 수행 불가로 온라인 로그파일 증가
백업본 보관 주기
...
최소 2벌의 백업본을 유지할 것을 권장한다.
백업이 잘못 수행된 경우 또는 디스크 폴트 및 유저 폴트로 인한 백업본 유실에 대비하기 위해서이다.
백업을 위한 디스크 파티션 구성
...
백업 파일을 저장하는 매체가 디스크인 경우 백업 위치는 데이터베이스의 데이터 파일과 로그파일이 위치하는 경로와 물리적으로 분리된 공간으로 설정할 것을 권고한다.
...
따라서 데이터베이스 운영 중 발생하는 디스크 I/O와 백업 수행 중 발생하는 디스크 I/O간의 병목을 최소화하기 위해 디스크 공간을 분리한다.
정리
...
백업 종류 별 특성을 한눈에 비교할 수 있도록 표로 정리하였다.
백업 종류 별 비교
...
백업 종류 별 장,단점을 비교한 표이다.
분류 | 논리적 백업 | 물리적 백업 | 증분 백업 | ||
---|---|---|---|---|---|
aexport | iLoader | 온라인 백업 | 오프라인 백업 | ||
특징 |
|
|
|
|
|
장점 |
|
|
|
|
|
단점 | - |
|
|
|
|
...
백업 종류 | Altibase 서버 구동 상태 | 데이터베이스 모드 | 백업 파일 | 복구 시점 | 복구 대상 | 기타 | ||
---|---|---|---|---|---|---|---|---|
백업 | 복구 | |||||||
논리적 백업 | aexport | 구동 | 구동 | 무관 |
|
|
| |
iLoader | 구동 | 구동 |
|
|
| |||
물리적 백업 | 온라인 백업 | 구동 | 구동 (컨트롤 단계) | 아카이브 모드 |
|
|
|
|
오프라인 백업 | 중지 | - | 무관 |
|
|
| ||
증분 백업 | 구동 | 구동 (컨드롤 단계) | 아카이브 모드 |
|
|
|
|
참고문서
...
- 기술문서 『Altibase 용량 산정 가이드』
- 기술문서 『디스크 I/O를 고려한 볼륨 구성 가이드』
- Administrator Manual -> 10. 백업 및 복구
- Administrator Manual -> 11. 증분 백업과 복구
- Utilities Manual -> 1. aexport
- iLoader User's Manual
- 매뉴얼 다운로드 페이지 : http://support.altibase.com/kr/manual
...