Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel2

 

 

개요

...

이 문서는 데이터 파일 손상 및 유실, 데이터 삭제와 같이 뜻하지 않은 상황으로 데이터가 손실된 경우를 대비한 데이터베이스 백업 정책을 세우는 데 필요한 가이드이다.

...

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간의 병목을 최소화하기 위해 디스크 공간을 분리한다.

 

 

정리

...

백업 종류 별 특성을 한눈에 비교할 수 있도록 표로 정리하였다.

 

백업 종류 별 비교

...

백업 종류 별 장,단점을 비교한 표이다.

분류논리적 백업물리적 백업증분 백업
aexportiLoader온라인 백업오프라인 백업
특징
  • 객체 단위 백업/복구
  • 객체 구조 변경 시에만 백업 필요
  • 테이블 단위 데이터 백업

  • 레코드 단위 복구 가능

  • 시점 복구가 불필요한 경우

  • Altibase 서버 구동 상태에서 복구해야하는 경우
  • 데이터 유실을 최소화해야하는 경우
  • 시점 복구가 필요한 경우
  • 아카이브 로그 모드 운용에 부담이 없는 경우
  • 데이터 파일, 로그앵커 파일 등 파일의 물리적인 유실을 대비해야하는 경우
  • 백업을 위한 Altibase 서버 다운 타임을 확보할 수 있는 경우
  • 복구 시간을 최소화해야하는 경우
  • 데이터 유실을 최소화해야하는 경우
  • 시점 복구가 필요한 경우
  • 아카이브 로그 모드 운용에 부담이 없는 경우
  • 데이터 파일, 로그앵커 파일 등 파일의 물리적인 유실을 대비해야하는 경우
  • '페이지 변경 추적' 기능 활성화로 인한 DB 성능 저하를 감당할 수 있는 경우
장점
  • 복구 중 Altibase 서버 운영 가능
  • 복구 중 Altibase 서버 운영 가능
  • 시점 복구 가능
  • 데이터 파일과 로그앵커 파일의 물리적인 장애에 대비 가능
  • 복구 시간 최소화
  • 시점 복구 가능
  • 데이터 파일과 로그앵커 파일의 물리적인 장애에 대비 가능
  • 온라인 백업에 비해 백업 시간 절약
  • 온라인 백업에 비해 백업 공간 절약
단점-
  • 시점 복구 불가
  • 아카이브 로그 파일 관리
  • 복구 중 Altibase 서버 운영 불가
  • 복구 중 Altibase 서버 운영 불가
  • 아카이브 로그 파일 관리
  • 복구 중 Altibase 서버 운영 불가

...

백업 종류

Altibase 서버 구동 상태데이터베이스 모드백업 파일복구 시점복구 대상기타
백업복구
논리적 백업aexport구동구동무관
  • 데이터베이스 객체 생성 스크립트(.sql 확장자)
  • 자동화 스크립트 (.sh 확장자)
  • 백업 시점
  • 객체 단위
 
iLoader구동구동
  • 테이블 별 FORM 파일
  • 텍스트 형태의 데이터 파일
  • 백업 시점
  • 테이블 단위
  • 레코드 단위
 
물리적 백업온라인 백업구동

구동

(컨트롤 단계)

아카이브 모드
  • 디스크 데이터파일
  • 메모리 체크포인트 이미지파일 1벌
  • 로그앵커 파일
  • 아카이브 로그파일
  • 완전 복구
  • 불완전 복구
  • 데이터베이스 전체
  • 테이블스페이스 단위
  • 아카이브 로그파일 관리 필요
오프라인 백업중지-무관
  • 디스크 데이터파일
  • 메모리 체크포인트 이미지파일
  • 로그앵커 파일
  • 온라인 로그파일
  • 백업 시점
  • 데이터베이스 전체
 
증분 백업구동

구동

(컨드롤 단계)

아카이브 모드
  • 디스크 데이터파일
  • 메모리 체크포인트 이미지파일 1벌
  • 로그앵커 파일
  • 아카이브 로그파일
  • backupInfo 파일
  • 완전 복구
  • 불완전 복구
  • 데이터베이스 전체
  • 테이블스페이스 단위
  • '페이지 변경 추적' 기능 활성화 필요
  • 아카이브 로그파일 관리 필요

 

 

참고문서

...

  • 기술문서 『Altibase 용량 산정 가이드』
  • 기술문서 『디스크 I/O를 고려한 볼륨 구성 가이드』
  • Administrator Manual -> 10. 백업 및 복구
  • Administrator Manual -> 11. 증분 백업과 복구
  • Utilities Manual -> 1. aexport
  • iLoader User's Manual
  • 매뉴얼 다운로드 페이지 : http://support.altibase.com/kr/manual

...