개요
이중화를 처음 사용하는 사용자를 대상으로 이중화 객체를 생성하고 삭제하는 방법에 관해 설명합니다.
- 이중화 설계 또는 구성을 위한 사전 작업을 마친 것으로 가정하고 설명합니다.
- 이중화 대상 서버 간 데이터가 일치하는 것을 가정합니다. 데이터가 모두 동일하게 존재하거나 양쪽 모두 0 건이거나.
이중화 설계 및 구성에 관한 가이드는 아래의 기술 문서를 참고합니다.
버전
Altibase 4.3.9 이상
준비할 것
- 이중화 전용 IP
이중화에 사용할 IP는 서비스망과 분리된 전용 라인을 사용할 것을 권장합니다. - 이중화 서비스 포트
이중화 용 서비스 포트 번호를 정합니다. 사용자가 임의로 정할 수 있으며 일반적으로 30300을 사용합니다. - 이중화 대상 테이블 선정
복제할 이중화 대상 테이블은 Primay Key가 존재해야 합니다.
이중화 기능 활성화
Altibase 서버의 이중화 기능은 기본적으로 비활성화 상태이므로,
- 이중화 기능을 사용하려면 관련 프로퍼티를 변경하여 활성화해야합니다.
- 이중화 기능을 활성화하는 작업은 Altibase 서버 재기동이 필요합니다.
REPLICATION_PORT_NO 프로퍼티 변경
Altibase 서버 프로퍼티 REPLICATION_PORT_NO의 값을 변경하는 것으로 이중화 기능을 활성화합니다.
- REPLICATION_PORT_NO 프로퍼티는 이중화 쓰레드 간 사용할 포트 번호를 의미하기도 합니다.
- 포트 번호는 서버에서 사용하지 않는 번호로 사용자가 임의로 지정하며 일반적으로 30300을 사용하기도 합니다.
이중화 대상 서버에서 사용자가 지정한 이중화 포트가 사용 중인지 확인합니다.
LISTEN 상태가 보이면 해당 포트는 다른 프로세스에서 사용한다는 것으로 이중화 포트로 사용할 수 없습니다.
altibase.properties 파일을 열어서 REPLICATION_PORT_NO 값을 변경하고 저장합니다. 이 작업은 이중화 대상 서버에서 각각 수행해야합니다.
REPLICATION_PORT_NO 변경Altibase 서버 프로세스를 재구동합니다.
Altibase 서버 구동 후 이중화 포트 LISTEN 상태와 프로퍼티 설정값을 확인합니다.
이중화 포트 LISTEN 상태 확인 방법REPLICATION_PORT_NO 설정값 확인 방법
이중화 객체 생성
- 이중화 객체는 CREATE REPLICATION 구문으로 생성하며 이중화 모드, 이중화 서버 정보와 이중화 대상 테이블 등 이중화 관련 정보를 정의합니다.
이중화 대상 서버는 2대가 쌍을 이룹니다.
이중화 객체는 쌍을 이루는 이중화 대상 서버에 동일한 객체 이름으로 각각 생성해야 합니다.
이중화 객체 생성 구문이중화 객체 생성 구문의 추가 옵션은 Replication Manual -> 3. 이중화 사용 -> 이중화 생성 (CREATE REPLICATION) 부분을 참고하세요.
매뉴얼 다운로드 페이지 : http://support.altibase.com/kr/manual
이중화 시작
- 이중화 시작은 데이터 동기화를 시작하는 것을 의미합니다.
- 이중화 시작을 수행한 서버는 이중화 송신 쓰레드(Sender)가 구동되며 해당 서버와 쌍을 이루는 원격 서버는 수신 쓰레드(Receiver)가 구동됩니다.
이중화 시작 서버(Active 서버) 선정
이중화 시작을 수행할 서버, 이중화 송신 쓰레드(Sender)를 구동할 서버는 변경 트랜잭션이 발생하는 서버를 말하며 Active 서버라 부르기도 합니다.
쌍을 이루는 이중화 대상 서버 중 데이터 변경이 발생하는 곳이 Active 서버이고 다른 쪽 서버는 Standby 서버가 됩니다.
양 서버 모두 변경 트랜잭션이 발생하여 양 방향 동기화 할 경우 두 서버 모두 Active 서버가 됩니다.이중화 시작
Active 서버에서 ALTER REPLICATION 구문으로 이중화를 시작합니다. replication_name 은 이중화 객체 생성 단계에서 생성한 객체 이름입니다.
이중화 시작 상태 확인
이중화 송신 쓰레드(Sender)와 수신 쓰레드(Receiver) 구동 여부를 확인하는 문장입니다.
이중화 시작 서버, Active 서버의 이중화 송신 쓰레드(Sender)구동 상태 확인 방법이중화 수신 쓰레드(Receiver) 구동 상태 확인 방법
이중화 객체 삭제
이중화 객체를 삭제하는 방법입니다.
에러 메시지
이중화 객체 생성 과정 중 발생할 수 있는 에러 메시지 몇 가지를 소개합니다.
[ERR-61023 : Replication is disabled]
- CREATE REPLICATION 구문 수행 시 만날 수 있는 에러 메세지로, 이중화 기능이 비활성화되어 있는 경우 발생합니다.
- REPLICATION_PORT_NO 프로퍼티의 값을 확인하세요. 이중화 기능 활성화 부분을 참고합니다.
[ERR-61113 : A replicated table must have a primary key. (user_name.table_name)]
- CREATE REPLICATION 구문 수행 시 발생할 수 있는 에러 메시지입니다.
- FROM절에서 지정한 이중화 대상 테이블에 primary key가 없는 경우 발생합니다.
- 에러 메시지 마지막 부분 () 안의 테이블에 primary key를 생성하고 이중화 객체 생성 문장을 수행해야합니다.
[ERR-6100D : [Sender] Failed to handshake with the peer server (Handshake Process Error)]
- ALTER REPLICATION replication_name START 실행 시 발생할 수 있는 에러 메시지이다.
- WITH 절에 입력한 원격 서버의 IP와 이중화 포트 번호가 올바른지, 해당 IP와 포트로 접근이 가능한지 확인합니다.
참고문서
- Replication Manual
- SQL Reference
- 매뉴얼 다운로드 페이지
http://support.altibase.com/kr/manual