Versions Compared

Key

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

...

두 번째, Online Backup은 DBMS가 동작 중일 때, 데이터베이스를 Backup하는 기능으로 Hot Backup이라고 부르기도 한다. 이 기능은 서비스를 중단하지 않고 수행될 수 있어 사용자의 Service Availability를 증가시켜 대부분의 DBMS Backup은 Online Backup을 의미한다. 다른 데이터베이스의 Backup과 달리 시계열 데이터베이스인 InfiniFlux는 Machbase 는 Duration Backup을 제공한다. 이는 Backup시 백업될 Database의 시간을 지정하여 원하는 시간대의 데이터만 Backup할 수 있다.

...

Backup된 데이터베이스는 장애 복구 과정을 거쳐서 기존 데이터베이스처럼 사용될 수 있다. 이 복구 방법을 Restore라고 한다. 이 Restore 기능은 파손된 데이터베이스를 삭제하고 백업된 데이터베이스 이미지를 Primary Database로 복구한다. 때문에 복구시 기존 데이터베이스를 삭제하고 ifluxadmin machadmin -r 기능을 이용하여 복구한다.

Code Block
languagebash
machadmin -r 'backup'

...

Code Block
mount database 'backup' to mountName; 
umount database mountName;


Database Backup

InfiniFlux에서는 Machbase 에서는 데이터 백업을 할 때 두 가지 옵션을 제공한다. 운영 중인 DB의 정보를 백업하는 DATABASE 백업과 필요한 Table만 선택하여 백업할 수 있는 TABLE 백업 기능을 제공한다.

...

Code Block
# Directory backup
       BACKUP DATABASE INTO DISK = 'backup_dir_name';
# a single file backup  
       BACKUP DATABSEDATABASE INTO IBFILE = backup_ibfile_name;
# Set backup duration
      - Directory backup
       BACKUP DATABASE FROM TO_DATE('2015-07-14 00:00:00','YYYY-MM-DD HH24:MI:SS')
                         TO TO_DATE('2015-07-14 23:59:59','YYYY-MM-DD HH24:MI:SS')
                         INTO DISK = '/home/machbase/backup_20150714'
     - File backup
       BACKUP DATABASE FROM TO_DATE('2015-07-14 00:00:00','YYYY-MM-DD HH24:MI:SS')
                         TO TO_DATE('2015-07-14 23:59:59','YYYY-MM-DD HH24:MI:SS')
                         INTO IBFILE = '/home/machbase/backup_20150714.ibf'
# a single table backup
      BACKUP TABLE SYSLOG_TABLE INTO IBFILE = '/home/machbase/backup/syslog_table';

...

Database Restore기능은 구문으로 제공되지 않고, Offline으로 ifluxadmin machadmin -r 기능을 통해 복구할 수 있다. 복구전에 다음 사항을 체크해야 한다.

  • InfiniFlux가 Machbase 가 종료되었는가?
  • 이전에 생성한 DB를 삭제하였는가?

...

백업시 INTO IBFILE 형태로 생성한 단일 백업 파일은 바로 Restore가 불가능하며 ifluxadmin을 machadmin을 이용하여 디렉터리 형태로 변환해야 한다.

변환 이후에는 target_path/backup_file_name 의 경로에 디렉터리 백업 형태의 파일들이 생성된다.

...

백업 명령어로 생성한 단일 백업 파일에 대한 정보는 ifluxadmin machadmin -w 명령으로 조회할 수 있다.

Code Block
machadmin -w single_backup_file_name

...

Code Block
machadmin -w ib_backup01
-----------------------------------------------------------------
     Machbase Administration
Tool
     Release Version - 3.0.0 official
     Copyright 2014, Machbase Inc. or its subsidiaries
     All Rights Reserved
-----------------------------------------------------------------
Display information of Backup Image successfully.
-----------------------------------------------------------------
     File name        - mach_backup_19700101090000_20150725142017_3
     Create time      - 2015-07-25 14:19:22
     Data duration    - 1970-01-01 09:00:00 ~ 2015-07-25 14:20:17
     Backup duration  - 2015-07-25 14:20:18 ~ 2015-07-25 14:20:18
     Version          - DB(4.0) Meta(1.6) CM(1.5)
---------------------------------------------------------

...

이 문제점을 해결하기 위해서 주기적으로 현재 서비스를 위해 필요한 데이터만을 남기고 삭제를 수행한다. 그러나 과거 데이터에 대한 참조가 필요할 경우에는 Backup 된 데이터베이스를 Restore하여 참조해야 하는데, 대단히 큰 Backup Image일 경우 복구시간이 많이 걸리고 또한 별도의 장비도 필요하다. 왜냐하면 Restore기능은 현재 운영 중인 데이터베이스를 삭제해야 수행할 수 있기 때문이다. 이런 문제를 해결하기 위해서 Infiniflux는 Machbase 는 Database Mount 기능을 제공한다.

Database Mount기능은 Online으로 동작하는 기능으로 Backup된 데이터베이스를 현재 운영 중인 데이터베이스에 Attach하는 기능이다. 그리고 여러 개의 Backup Database을 운영 중인 Primary Database에 Attach하여 사용자는 여러 개의 Backup Database를 하나의 Database인 것처럼 참조 가능한다. 단 Mount한 Database에 대해서는 Read만 가능하다.

Mount DATABASE 명령은 기존에 Backup으로 생성된 데이터베이스 혹은 테이블 DATA를 현재 운영 중인 데이터베이스에서 조회 가능한 상태로 준비시켜 주는 기능이다. 그래서 Mount 된 DATABASE는 동일한 DB 명령어를 사용하여 사용하여 데이터를 사용하여 데이터를 조회할 수 있다.

현재 Database Mount 기능의 제약 사항 사항은 다음과 같다.

  • Backup 정보는 Mount할 Database와 DB의 Major 번호와 Meta의 Major 번호가 호환 가능한 버전이어야 한다.
  • Backup Data를 Mount할 경우 읽기만 가능하여 Index 생성, 데이터 입력 및 삭제 등은 지원하지 않는다.
  • 현재 Mount된 DATABASE의 정보는 V$STORAGE_MOUNT_DATABASES를 조회하여 확인할 수 있다.

...

Code Block
UNMOUNT DATABASE mount_name;


Code Block
UNMOUNT DATABSEDATABASE mountdb;


MOUNT DB에서 데이터 조회

...