복제 파라미터 설정

이미 설정된 복제 관련 파리미터는 슬레이브 데이터베이스 단위로 변경할 수 있다. 변경 가능한 파라미터는 8가지로 repl_change_param 유틸리티를 통해 지원한다.

구문

repl_change_param master_db_name slave_db_name dist_db_name [option]

repl_change_param 의 옵션은 다음과 같다.

옵션

설명

-p passwd

배포 데이터베이스에 대한 DBA 암호.

-n parameter_name

설정할 수 있는 파라미터 이름. 소문자로 입력.

-v parameter_value

-n 옵션에서 정의한 파라미터에 대한 값

repl_change_param masterdb slavedb distdb 

        1. perf_poll_interval   - 복제 지연시간을 측정하는 단위(초)
        2. size_of_log_buffer   - 복제에이전트의 로그버퍼 크기(페이지)
        3. size_of_cache_buffer - 복제에이전트의 복제로그버퍼 크기(페이지)
        4. size_of_copylog      - 복제로그의 페이지 수
        5. index_replication    - 인덱스 복제 여부
        6. for_recovery         - 마스터 교체용 복제 여부
        7. log_apply_interval   - 복제 수행 주기(초)
        8. restart_interval     - 슬레이브 재접속 주기(초)

슬레이브 데이터베이스의 복제 환경을 구성하기 위한 파라미터로 각 항목에 대해 사용자 정의할 수 있다. 변경하지 않을 경우 기본값이 설정된다.

  1. perf_poll_interval  
    1. 허용 범위 : 10 ~ 60
    2. 복제 지연 시간 측정을 설정하는 파라미터로 단위는 초(sec)이다. 기본값은 10이다.
  2. size_of_log_buffer  
    1. 허용 범위 : 100 ~ 1000
    2. repl_agent가 트랜잭션 로그를 임시로 저장하는 버퍼의 수를 지정한다. 한 버퍼의 크기는 데이터베이스 페이지 크기와 동일하다. 기본값은 500이다.
  3. size_of_cache_buffer
    1. 허용 범위 : 100 ~ 500
    2. repl_agent가 복제 로그를 임시로 저장하는 버퍼의 수를 지정한다. 한 버퍼의 크기는 데이터베이스 페이지 크기와 동일하다. 기본값은 100이다.
  4. size_of_copylog  
    1. 허용 범위 : 1000 ~ 10000
    2. 복제 로그의 페이지 수를 정의한다. 만약 지정된 페이지 수 이상인 경우 이미 처리 완료된 페이지는 truncate된다. 기본값은 5000이다.
  5. index_replication
    1. 허용값 : Y/N
    2. 인덱스를 자동 복제하고자 하는 경우 설정한다. Y는 “설정함”이고 N은 “설정하지 않음”이다. Y/N는 대소문자를 구별하지 않는다. 기본 값은 N이다.
  6. for_recovery       
    1. 허용값 : Y/N
    2. 마스터 데이터베이스에 장애 발생시 마스터 데이터베이스로 대체할 목적으로 복제를 구성할 경우 설정한다. 이 값이 Y로 설정되면, index_replication 값도 Y로 설정되어 동작한다. 즉 마스터의 모든 클래스가 복제된다. Y는 “설정함”이고 N은 “설정하지 않음”이다. Y/N는 대소문자를 구별하지 않는다.
    3. 한번 마스터 데이터베이스 교체 대비 서버로 설정(for_recovery=Y)한 후, 다시 for_recovery 파라미터의 값을 N으로 변경하여 교재 대비 서버 목적에서 해제할 수 있다. 해제한 후 다시 교체 대비 서버로 설정하고자 한다면 처음부터 새로 복제를 구성해야 한다. 그리고 하나의 슬레이브 데이터베이스는 하나의 마스터 데이터베이스만이 for_recovery 파라미터를 설정할 수 있다. 기본 값은 N이다.
  7. log_apply_interval 
    1. 허용 범위 : 0 ~ 600
    2. 마스터 데이터베이스의 변경 내용을 슬레이브 데이터베이스에 반영하는 간격을 설정하는 파라미터로 단위는 초(sec)이다. 0으로 설정할 경우는 실시간 반영을 의미한다. 기본값은 0이다.
  8. restart_interval  
    1. 허용 범위 : 1 ~ 60
    2. 슬레이브 데이터베이스에 접속이 안될 경우 재접속 하기 위한 간격을 설정하는 파라미터로 단위는 초(sec)이다. 기본값은 100이다.

예)

$ repl_change_param masterdb slavedb distdb admin
-- 변경하고자 하는 파라미터 번호 (q - 중지) >> 1
     >> perf_poll_interval 값 (10 ~ 60) >> 10
-- 변경하고자 하는 파라미터 번호 (q - 중지) >> q

$ repl_change_param masterdb slavedb distdb admin -n size_of_cache_buffer -v 500
        파라미터가 정상적으로 변경되었습니다.