배포 데이터베이스는 복제에 필요한 메타 데이터를 관리하기 위한 데이터베이스이다. 마스터 및 슬레이브 데이터베이스 정보, 추적 정보, 복제 파라미터, 데이터베이스를 자동으로 마스터 데이터베이스로 교체하는 기능 제공을 위한 정보로 구성된다.
db_info는 master_info 및 slave_info의 수퍼 클래스로서 공통으로 필요한 항목을 관리한다.
속성 이름 |
타입 |
설명 |
비고 |
---|---|---|---|
dbid |
integer |
데이터베이스 고유 식별자 |
기본키 |
dbname |
varchar(126) |
데이터베이스 이름 |
UNIQUE |
master_ip |
varchar(50) |
데이터베이스 서버의 IP 주소 | |
portnum |
integer |
복제 서버의 TCP 포트 번호 |
master_info 클래스에서는 복제하려고 하는 원본 데이터베이스의 데이터베이스 이름, 복제 서버에 접속하기 위한 IP 주소 및 TCP 포트 번호, 복제 로그 파일의 디렉터리 경로 등의 정보를 관리한다. repl_make_distdb 유틸리티를 수행하여 이 값을 지정한다.
속성 이름 |
타입 |
설명 |
비고 |
---|---|---|---|
dbid |
integer |
데이터베이스 고유 식별자 |
db_info 상속 |
dbname |
varchar(126) |
데이터베이스 이름 |
db_info 상속 |
master_ip |
varchar(50) |
데이터베이스 서버의 IP 주소 |
db_info 상속 |
portnum |
integer |
cubrid.conf의 cubrid_port_id 사용 |
db_info 상속 |
copylog_path |
varchar(256) |
복제 로그를 저장할 파일 경로 | |
size_of_log_buffer |
integer |
repl_agent가 트랜잭션 로그를 임시로 저장하는 버퍼의 수를 지정. |
디폴트 값 : 500 |
size_of_cache_buffer |
integer |
repl_agent가 복제 로그를 임시로 저장하는 버퍼의 수를 지정. |
디폴트 값 : 100 |
size_of_copylog |
integer |
복제 로그의 페이지 수를 정의. |
디폴트 값 : 5000 |
start_pageid |
integer |
복제 로그의 첫 페이지 번호 |
사용 안 함 |
first_pageid |
integer |
활성 복제 로그의 첫 페이지 번호 | |
last_pageid |
integer |
복제 로그의 마지막 페이지 번호 |
slave_info 클래스에서는 복제 대상 슬레이브 데이터베이스의 데이터베이스 이름, 복제 계정 및 암호 등을 관리한다. repl_make_slavedb 유틸리티를 수행하여 이 값을 지정한다.
속성 이름 |
타입 |
설명 |
비고 |
---|---|---|---|
dbid |
integer |
데이터베이스 고유 식별자 |
db_info 상속 |
dbname |
varchar(126) |
데이터베이스 이름 |
db_info 상속 |
master_ip |
varchar(50) |
데이터베이스 서버의 IP 주소 |
db_info 상속 |
portnum |
integer |
복제 서버의 TCP 포트 번호 |
db_info 상속 |
userid |
varchar(32) |
슬레이브 데이터베이스의 복제 계정 | |
passwd |
varchar(32) |
슬레이브 데이터베이스의 복제 계정 암호 | |
trails |
set_of(trail_info) |
슬레이브 데이터베이스에 반영된 최종 로그 번호 |
repl_make_slavedb 유틸리티 수행 시 초기화됨 |
trail_info 클래스에서는 복제할 마스터와 슬레이브 관계 정보 및 복제를 시작할 로그 번호 등을 관리한다. repl_make_slavedb 유틸리티를 수행하여 이 값을 지정한다.
속성 이름 |
타입 |
설명 |
비고 |
---|---|---|---|
master_dbid |
integer |
마스터 데이터베이스의 식별자 | |
slave_dbid |
integer |
슬레이브 데이터베이스의 식별자 | |
final_pageid |
integer |
슬레이브 데이터베이스에 최종으로 반영된 로그 페이지 번호 | |
final_offset |
integer |
슬레이브 데이터베이스에 최종으로 반영된 로그 페이지 위치 | |
all_repl |
char(1) |
모든 클래스의 복제 여부.
|
현재는 for_recovery와 같은 방식으로 동작. 추후 구분 예정. |
repl_count |
number(15,0) |
복제한 트랜잭션 개수 |
갱신된 정보는 repl_check_sync 명령어를 통해 확인할 수 있음. |
status |
char(1) |
현재 repl_agent의 상태 정보.
|
갱신된 정보는 repl_check_sync 명령어를 통해 확인할 수 있음. |
error_msg |
string |
사용 안 함 |
|
stop_time |
timestamp |
사용 안 함 |
|
perf_poll_interval |
integer |
복제 지연 시간 측정을 설정하는 파라미터(단위 : 초).
|
디폴트 값 : 10 |
log_apply_interval |
integer |
사용 안 함 |
|
for_recovery |
integer |
마스터 데이터베이스에 장애 발생 시 마스터 데이터베이스로 대체할 목적으로 복제를 구성할 경우 설정한다. 이 값이 y이면 index_replication 값도 y로 설정되며 마스터의 모든 클래스가 복제된다.
|
디폴트 값 : n |
index_replication |
char(1) |
인덱스를 자동으로 복제하고자 할 때 설정.
|
디폴트 값 : n |
restart_interval |
integer |
슬레이브 데이터베이스에 접속이 안 될 때 재접속하기 위한 간격을 설정(단위 : 초). repl_agent가 배포 데이터베이스에 접속하여 정보를 반영하는 간격. |
디폴트 값 : 100 |