배포 데이터베이스는 복제에 필요한 메타 정보를 관리하는 데이터베이스로서 복제 구성을 위해 첫 단계로 반드시 배포 데이터베이스가 구성되어야 한다. 배포 데이터베이스를 구성하기 위해서는 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) >>
추가로 복제 에이전트 상태 관리 및 복제 지연 시간 관리, 접속 유지를 위해서는 다음의 세 가지 정보가 필요하다.