HA 기능을 위해 사용되는 CUBRID 유틸리티는 다음과 같다. 아래 유틸리티는 ha_mode 파라미터가 on으로 설정된 서버에서만 사용할 수 있다.
cubrid changemode 유틸리티는 데이터베이스 서버의 상태를 출력하거나 변경한다. 서버의 작동 모드가 바뀔 때마다 서버 에러 로그에 이력이 출력된다. -m 옵션을 지정하지 않으면 현재의 작동 모드가 출력된다.
cubrid changemode [option] <database_name>@<hostname>
option:
-m, --mode=<MODE> : 변경할 모드를 지정한다. 사용할 수 있는 값은 active, standby, maintenance이다.
[ha_user1@server_s1 ~]$ cubrid changemode tdb01@server s1
The server 'tdb01@server_s1''s current HA running mode is active.
[ha_user1@server_s1 ~]$ cubrid changemode tdb01@server_s2
The server 'tdb01@server_s2''s current HA running mode is standby.
;database 명령어를 수행하여 CSQL 세션 내에서 현재 접속 중인 데이터베이스 서버의 HA 모드를 확인할 수 있다.
csql> ;database
demodb@localhost (active)
cubrid copylogdb 유틸리티는 원격 데이터베이스 서버에서 생성되는 트랜잭션 로그를 지정한 경로에 저장한다.
트랜잭션 로그의 전송 방식은 다음 세 가지이며, 사용자는 운영 정책에 따라 적합한 트랜잭션 로그 전송 방식을 선택하여 사용한다.
cubrid copylogdb [option] <database_name>@<hostname>
option:
-L, --log-path=<PATH> : 복사한 트랜잭션 로그를 저장할 파일의 경로이다.
-m, --mode=<MODE> : 트랜잭션 로그 페이지를 복사해 오는 방식을 지정한다. 지정 가능한 값은 sync, semisync 및 async이며, 모드에 따라 페이지 전송 작업 및 페이지 저장(write) 작업을 다르게 보장한다.
cubrid applylogdb 유틸리티는 복사된 트랜잭션 로그 파일을 지정한 경로에서 읽어서 분석 후 로컬 데이터베이스 서버에 반영한다.
cubrid applylogdb [option] <database_name>@<hostname>
option:
-L, --log-path=<PATH>: 읽을 트랜잭션 로그 파일의 경로이다.
--max-mem-size=<SIZE>: 프로세스의 최대 메모리 크기이다. 메모리 크기의 단위는 MB이고, 최대 1000MB까지 가능하다.
참고 현재 메모리 사용량에 따른 CAS 프로세스 재시작 조건은 브로커별 파라미터에서 APPL_SERVER_MAX_SIZE 파라미터의 설명을 참고한다. applylogdb 프로세스 재시작 조건은 --max-mem-size 옵션을 이용하여 설정할 수 있다. applylogdb 프로세스의 현재 메모리 사이즈가 --max-mem-size 옵션 값 또는 프로세스 시작 시 메모리 사이즈의 2배 값 중 큰 값에 도달하는 경우, applylogdb 프로세스가 재시작된다.