데이터 백업 및 복구

본 장에서는 ZetaData의 데이터 백업 방법과 이를 이용한 복구 방법을 설명합니다.

개요

ZetaData는 크게 SSVR 인스턴스, TAS 인스턴스, TAC 인스턴스로 구성됩니다.

SSVR 인스턴스는 여러 대의 서버에 구성할 수 있으며, TAC 인스턴스에 볼륨을 제공하기 위하여 TAS 인스턴스가 이를 관리합니다. TAS 인스턴스 또한 TAC 인스턴스에 맞춰 클러스터로 구성합니다. SSVR과 TAS에 대한 백업 기능은 제공하지 않습니다. 일반적인 TAC 백업은 스토리지와 무관하게 데이터베이스 솔루션을 이용하여 이루어지는 것과 동일합니다.


ZetaData 백업 및 복구

ZetaData의 데이터를 백업하는 방법은 크게 세 가지가 있습니다.

tbexport를 이용한 논리적(logical) 백업 및 복구

범용적인 데이터베이스 백업과 동일하며 백업된 결과 파일을 tbimport를 이용하여 적재할 수 있습니다.

RMGR을 이용한 물리적(Physical) 백업 및 복구

데이터의 관점이 아닌 데이터베이스의 관리 대상 파일에 대한 물리적인 백업입니다.

TAS 인스턴스를 사용하여 데이터베이스를 구성한 경우 OS 유틸리티를 통해 데이터베이스 파일에 접근할 수 없습니다. RMGR이 이러한 역할을 대신 수행합니다.

RMGR은 데이터베이스의 스토리지가 로컬 디스크, SAN 디스크, TAS를 사용하는 SAN 디스크, 그리고 ZetaData인 모든 경우에 대해서 백업을 지원합니다. RMGR을 사용할 경우 DB 노드에서 백업/복구를 수행하게 되고, 이로 인해 사용자가 ZetaData만을 위한 별도의 작업을 하지 않아도 됩니다.

참고

RMGR의 사용법은 "Tibero 관리자 안내서"의 "백업과 복구"를 참고합니다.

tbascmd를 이용한 cold 백업 및 복원

tbascmd를 이용하면 TAS 인스턴스에 command line tool로 명령어를 통하여 디스크 스페이스에 저장된 파일과 로컬 디렉터리간에 복사하는 방식으로 백업 및 복원을 수행할 수 있습니다. TAC 인스턴스를 기동 중지시킨 후 TAS 인스턴스만 기동 중인 상태에서 cptolocal 명령어를 이용하여 DB 운영에 필요한 모든 파일을 로컬 파일 시스템으로 백업합니다.

복구를 진행하기 전 checkpoint를 수행합니다. checkpoint를 하면 메모리에만 들어있던 데이터들이 플래시와 디스크에 저장되게 됩니다.

SQL> alter system checkpoint;

아래 쿼리를 통하여 백업을 시도하기 전에 파일 타입(File Type)과 블록 크기(Block Size)를 확인합니다.

SQL> select a.type, a.block_size, b.name from v$as_file a, v$as_alias b 
        where a.file_number = b.file_number;

컨트롤 파일, 리두 파일, 데이터 파일 등 필요한 모든 파일을 로컬에 백업합니다.

TBASCMD는 tbascmd (포트 번호)로 접속할 수 있습니다. 포트 번호는 TAS의 tip 파일에 LISTENER_PORT로 기록되어 있습니다.

아래는 9120 포트를 사용하는 TAS 인스턴스에서 c1.ctl 컨트롤 파일을 로컬에 백업하는 예입니다.

$ tbascmd 9120
ASCMD> cptolocal +DS0/c1.ctl /home/node0/c1.ctl

위 명령어 수행 결과로 백업 파일과 cpfromlocal 명령어를 사용한 롤백 스크립트 파일이 생성된 것을 확인할 수 있습니다.

$ ls /home/node0
c1.ctl c1.ctl_rollback.sh

tbascmd의 cptolocal 명령어를 이용하여 DB가 관리하는 파일들을 모두 백업해 둔 상태에서 다른 노드의 TAS 디스크 스페이스로 이관 및 복원을 진행할 수 있습니다. 이관하고자 하는 노드의 로컬 디렉터리로 백업 파일을 전송하고 cpfromlocal 명령어를 이용하여 로컬 파일 시스템의 백업 파일들을 TAS의 디스크 스페이스로 복사합니다. 이때 백업하며 확인했던 파일 타입(file type '-t')과 블록 크기(block size '-b')를 인자로 지정합니다. 파일 타입에는 CTRL, REDO, DATA, TEMP, ARCH로 총 다섯 가지 종류가 있습니다.

아래는 노드 1번 TAS의 디스크 스페이스 DS0으로 백업 파일을 복사하는 예입니다.

cpfromlocal /home/node1/c1.ctl +DS0/c1.ctl -b 16384 -t CTRL 
cpfromlocal /home/node1/log001.log +DS0/log001.log -b 512 -t REDO 
cpfromlocal /home/node1/usr001.tdf +DS0/usr001.dtf -b 32768 -t DATA 
cpfromlocal /home/node1/temp001.dtf +DS0/temp001.dtf -b 32768 -t TEMP
cpfromlocal /home/node1/log-t0-r0-s1.arc +DS0/ARCH/log-t0-r0-s1.arc -b 512 -t ARCH

참고

TBASCMD의 자세한 내용은 "Tibero Active Storage 관리자 안내서"의 "커맨드라인 툴"을 참고합니다.

Last updated