HA 기능을 위해 사용되는 CUBRID 유틸리티는 다음과 같다. 아래 유틸리티는 ha_mode 파라미터가 on으로 설정된 서버에서만 사용할 수 있다.
데이터베이스 서버의 상태를 출력하거나 바꾸기 위한 cubrid changemode 유틸리티 구문은 다음과 같다. 서버의 작동 모드가 바뀔 때마다 서버 에러 로그에 이력이 출력된다. -m 옵션을 지정하지 않으면 현재의 작동 모드가 출력된다.
cubrid changemode [option] <database_name>@<hostname>
option:
-m, --mode=<MODE> : 변경할 모드를 지정한다. 사용할 수 있는 값은 active, standby, maintenance이다.
원격 데이터베이스 서버에서 생성되는 트랜잭션 로그를 지정한 경로에 저장하기 위한 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 파라미터의 설명을 참고하며, cubrid applylogdb의 경우 --max-mem-size 옵션을 이용하여 사용자가 직접 최대 메모리 크기를 설정할 수 있다.