배포 데이터베이스는 복제에 필요한 메타 정보를 관리하는 데이터베이스로서 복제 구성을 위해 첫 단계로 반드시 배포 데이터베이스가 구성되어야 한다. 배포 데이터베이스를 구성하기 위해서는 repl_make_distdb 유틸리티를 수행한다.
배포 데이터베이스는 어느 호스트에 위치해도 상관없으나 가급적 마스터 데이터베이스가 운영 중인 호스트에는 구축하지 않는 것이 성능상 유리하다.
보안을 위해 배포 데이터베이스는 항상 DBA 계정으로 운영되어야 한다. repl_make_distdb 유틸리티는 배포 데이터베이스명과 배포 데이터베이스의 DBA 계정 암호를 입력으로 받는다.
repl_make_distdb dist_db_name [ -p password ]
항상 배포 데이터베이스가 위치할 디렉토리에서 repl_make_distdb 유틸리티를 수행한다. 암호를 입력하지 않으면 암호가 설정되지 않으나 보안을 위해서는 반드시 암호를 설정하는 것이 바람직하다.
repl_make_distdb 유틸리티를 수행하면 다음과 같은 안내가 출력된 후 사용법이 출력된다.
#########################################################################
# #
# CUBRID 복제 환경 구성 : 복제 에이전트 구성 #
# #
# 복제 환경을 구성하는 작업은 다음과 같은 순서로 진행되어야 합니다. #
# 1. 복제 에이전트 구성 (repl_make_distdb 스크립트 구동) #
# 2. 마스터 DB 전체 백업 (cubrid backupdb 유틸리티구동) #
# 3. 마스터 DB 백업본 복사 (마스터 DB 호스트->슬레이브 DB 호스트)#
# 4. 슬레이브 DB 구축 (repl_make_slavedb 스크립트 구동) #
# 5. 복제 서버구동 (cubrid repl_server 유틸리티 구동) #
# 6. 복제 에이전트 구동 (cubrid repl_agent 유틸리티 구동) #
# #
# NOTE: 마스터 DB를 백업받는 시점은 슬레이브 DB 구축시점 이전이면 #
# 언제든지 상관없으나 온라인백업을 하는 경우 가급적 #
# 슬레이브 DB 구축 바로 전에 수행하시면 초기 복제에 소요되는 #
# 시간을 절약하실 수 있습니다. #
# 필요한 백업 파일은 다음과 같습니다. #
# - master_db_name.bk_vinf #
# - master_db_name.bk0v??? #
# #
# 복제 에이전트가 작업하기 위해 필요한 배포 DB를 생성합니다. #
# - 배포 DB는 반드시 DBA 계정으로 동작해야 하므로 DBA 계정을 #
# 지정하시기 바랍니다. #
# #
# CUBRID 에서는 하나의 슬레이브 DB 당 하나의 배포 DB가 생성됩니다. #
# - 배포 DB 및 복제 에이전트(repl_agent)는 슬레이브 DB가 위치한 #
# 호스트에서 수행되어야 합니다. #
# Ctrl-C 등으로 비정상적으로 스크립트를 중단하는 경우에는 #
# cubrid server stop/cubrid deletedb 등의 유틸리티를 이용하여 #
# 배포 DB를 삭제한 후 다시 수행하십시오. #
#########################################################################
repl_make_distdb 유틸리티는 총 6단계로 이루어지며 이중 단계 5, 6에서 필요한 정보를 입력해야 한다.
repl_make_distdb sample_dist -p dba1
위와 같이 repl_make_distdb 유틸리티를 수행하면 유틸리티는 다음과 같이 단계별 진행상황을 출력하면서 사용자 입력이 필요한 경우 입력 값을 묻는 프롬프트를 출력한다.
STEP 1 : 배포 DB를 생성 중입니다. 잠시만 기다려 주십시오.
STEP 2 : 배포 DB 서버를 구동하고 있습니다. 잠시만 기다려 주십시오.
STEP 3 : 배포 DB 의 DBA 계정을 설정합니다.
STEP 4 : 복제에 필요한 테이블들을 생성합니다.
STEP 5 : 복제 대상 마스터 DB 정보를 입력합니다.
1. 마스터 DB의 이름을 입력하시오. >>
2. 마스터 DB가 위치한 호스트의 IP 주소를 입력하시오.
- IP 주소가 부정확하게 입력되면 복제가 수행되지 않습니다.
마스터 DB IP >>
3. 복제서버(cubrid repl_server)가 사용하는 TCP/IP 포트번호를 입력 하시오.>>
4. 복제에 필요한 복제로그을 저장할 디렉토리를 입력하시오.
/home1/cubrid/CUBRID이면 엔터 키를 입력하시오. >>
STEP 6 : 복제 환경 변수를 설정합니다.
1. 추적 로그를 저장할 디렉토리를 입력하시오.
/home1/cubrid/CUBRID이면 엔터 키를 입력하시오. >>
2. 에러로그를 저장할 디렉토리를 입력하시오.
/home1/cubrid/CUBRID이면 엔터 키를 입력하시오. >>
3. 복제 에이전트(repl_agent)의 상태 표시를 위한 TCP/IP 포트번호를 입력하시오.>>
4. 복제 지연 시간 log 파일의 크기(line 수)를 입력하시오. >>
5. 네트워크 오류시 복제의 재 시작 여부를 입력하시오.(y/n) >>
추가로 복제 에이전트 상태 관리 및 복제 지연 시간 관리, 접속 유지를 위해서는 다음의 세 가지 정보가 필요하다.