HA 유틸리티

HA 기능을 위해 사용되는 CUBRID 유틸리티는 다음과 같다. 아래 유틸리티는 ha_mode 파라미터가 on으로 설정된 서버에서만 사용할 수 있다.

데이터베이스 서버의 작동 모드 출력/설정
설명

cubrid changemode 유틸리티는 데이터베이스 서버의 상태를 출력하거나 변경한다. 서버의 작동 모드가 바뀔 때마다 서버 에러 로그에 이력이 출력된다. -m 옵션을 지정하지 않으면 현재의 작동 모드가 출력된다.

구문

cubrid changemode [option] <database_name>@<hostname>

option:

-m, --mode=<MODE> : 변경할 모드를 지정한다. 사용할 수 있는 값은 active, standby, maintenance이다.

예제 1

[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.

예제 2

;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 프로세스가 재시작된다.