마스터 데이터베이스 설정 및 백업

다음 단계로는 마스터 데이터베이스의 설정을 변경하고 슬레이브 데이터베이스와 동기화를 위해 백업 볼륨을 생성해야 한다. 마스터 데이터베이스가 복제에 필요한 트랜잭션 로그를 생성하도록 하기 위해서 $CUBRID/conf/cubrid.conf 파일을 수정하여 replication 파라미터를 yes로 변경한 후 마스터 데이터베이스 서버를 재시작한다. 이미 이 파라미터가 yes로 설정되어 있다면 마스터 데이터베이스를 재시작할 필요는 없다. $CUBRID/conf/cubrid.conf 파일에서 아래와 같이 replication을  yes로 설정한다.

[@sample_master]
replication=yes

위의 예는 replication 파라미터가 sample_master 데이터베이스에만 적용되는 예이다. 위와 같이 [@<dbname>] 밑에 파라미터를 지정하면 해당 <dbname> 에만 파라미터가 적용된다.

변경된 파라미터를 서버에 반영하기 위해 마스터 데이터베이스 서버를 재시작한다.

cubrid server stop sample_master     -- 서버 중지
cubrid server start sample_master     -- 서버 시작

이제 현 상태의 마스터 데이터베이스와 슬레이브 데이터베이스 간 동기화 작업을 위해 마스터 데이터베이스를 백업 받는다.

cubrid backupdb sample_master

이때 –r 옵션을 사용하여 보관 로그를 삭제하게 되면 경우에 따라 복제가 시작되지 않을 수 있다. CUBRID는 온라인 복제를 지원하므로, 슬레이브 데이터베이스를 동기화 하는 동안 마스터 데이터베이스에 대량으로 쓰기가 발생하여 백업 받은 이후 변경 분이 이미 보관 로그 파일로 넘어가는 경우가 발생할 수 있는데, 이때 복제 시스템은 보관 로그 파일을 읽어 이를 슬레이브에 반영한다. 따라서 슬레이브 데이터베이스에 반영되지 않은 로그가 트랜잭션 로그 보관 로그에 있는 경우를 대비하여 보관 로그를 삭제하지 않는 모드로 백업을 수행해야 한다.

백업 후 다음과 같은 명령어로 마스터 데이터베이스의 백업 볼륨과 정보 파일을 확인한다.

ls sample_master_bk*

슬레이브 데이터베이스와 동기화를 위해 백업볼륨들과 백업볼륨 정보 파일을 ftp나 파일 복사를 통해 슬레이브 호스트로 전송한다.