업그레이드

업그레이드 시 주의 사항

기존 환경 설정 파일 보관

  • 이전 버전의 $CUBRID/conf 디렉터리의 환경 설정 파일(cubrid.conf, cubrid_broker.conf, cm.conf)과 $CUBRID_DATABASES 디렉터리의 DB 위치 정보 파일(databases.txt)을 보관한다.

새로 추가된 예약어 검사

  • CUBRID 설치 패키지에 포함 또는 http://ftp.cubrid.org/CUBRID_Engine/8.4.4/Linux/에서 배포되는 CUBRID 2008 R4.4 버전용 예약어 검출 스크립트인 check_reserved.sql을 이용하여 예약어 사용 여부를 검사할 수 있으며, 예약어로 지정된 식별자를 사용하고 있을 경우 식별자를 수정해야 한다. 식별자 절을 참고한다.

DB 마이그레이션

  • CUBRID 2008 R4.0 이하 버전은 DB 볼륨이 호환되지 않으므로, cubrid unloaddb/loaddb 유틸리티를 사용하여 DB를 마이그레이션해야 한다.

Note

2008 R4.0 이하 버전에서 TIMESTAMP '1970-01-01 00:00:00'(GMT)는 TIMESTAMP의 최소값이지만, 2008 4.1 이상 버전에서는 zerodate로 인식되며 TIMESTAMP '1970-01-01 00:00:01'(GMT)이 TIMESTAMP의 최소값이다.

  • CUBRID 2008 R3.1부터는 GLO 클래스를 지원하지 않으므로 기존의 GLO 클래스를 사용하고 있는 경우에는 BLOB 또는 CLOB 타입을 사용하도록 응용과 스키마를 변경해야 한다. 변경 작업이 용이하지 않다면 마이그레이션을 보류할 것을 권장한다.

복제 또는 HA 환경 재구성

  • CUBRID 2008 R4.0부터는 복제 기능을 더 이상 지원하지 않으므로, 이전의 복제 기능을 사용하는 시스템에서는 DB 마이그레이션 이후 HA 환경으로 재구성할 것을 권장한다. 또한, CUBRID 2008 R2.0 및 R2.1에서 제공된 Linux Heartbeat 기반의 HA 기능을 사용하는 시스템도 보다 안정적인 운영을 위해 DB 마이그레이션 이후 CUBRID Heartbeat 기반의 HA 환경으로 재구성해야 한다. (아래의 HA 환경에서 DB 마이그레이션 참고)
  • HA 환경 구성은 매뉴얼의 CUBRID HA 를 참고하여 재설정해야 한다.

Java 저장 함수/프로시저

  • Java 저장 함수/프로시저 사용자는 loadjava 명령을 실행하여 Java 클래스를 CUBRID에 로딩해야 한다. Java 저장 함수/프로시저를 참고한다.

CUBRID 2008 R4.1, R4.3에서 R4.4로 업그레이드하기

CUBRID 2008 R4.1, R4.3 버전 사용자는 R4.4 버전을 기존 디렉터리에 재설치한 후 기존의 환경 설정 파일에서 파라미터들의 값을 변경해야 한다.

DB 마이그레이션

CUBRID 2008 R4.1, R4.3과 DB 볼륨이 호환되므로, DB 마이그레이션 없이 그대로 사용하면 된다.

파라미터 설정

cubrid.conf

  • sort_buffer_size의 최대 크기를 2G로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.

  • 다음 파라미터 중 기존 파라미터들은 더 이상 사용하지 않을 예정(deprecated)이며, 앞으로 신규 파라미터의 사용을 권장한다. 괄호 안의 값은 단위 생략 시 기본 적용되는 단위이며, 신규 파라미터들은 단위 지정이 가능하다. 자세한 내용은 시스템 설정의 각 파라미터 설명을 참고한다.

    기존 파라미터(단위) 신규 파라미터(단위)
    lock_timeout_in_secs(sec) lock_timeout(msec)
    checkpoint_every_npages(page_count) checkpoint_every_size(byte)
    checkpoint_interval_in_mins(min) checkpoint_interval(msec)
    max_flush_pages_per_second(page_count) max_flush_size_per_second(byte)
    sync_on_nflush(page_count) sync_on_flush_size(byte)
    sql_trace_slow_msecs(msec) sql_trace_slow(msecs)

cubrid_broker.conf

  • KEEP_CONNECTION에서 OFF 설정이 제거되었으므로 이전 버전에서 OFF로 설정한 경우 ON 또는 AUTO로 변경해야 한다.
  • SELECT_AUTO_COMMIT이 제거되었으므로 이전 버전에서 이 파라미터의 설정을 제거해야 한다.
  • APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최대값을 2,097,151으로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.

cubrid_ha.conf

  • ha_apply_max_mem_size 파라미터의 값을 500보다 크게 설정한 사용자는 이 값을 500 이하로 설정해야 한다.

CUBRID 2008 R4.0 이하 버전에서 R4.4로 업그레이드하기

CUBRID 2008 R4.0 이하 버전 사용자는 R4.4 버전을 별도의 디렉터리에 설치한 후 기존의 환경 설정 파일에서 파라미터들의 값을 변경해야 한다.

DB 마이그레이션

아래는 cubrid unloaddb/loaddb 유틸리티와 http://ftp.cubrid.org/CUBRID_Engine/8.4.4/Linux/에서 별도 배포되는 check_reserved.sql 예약어 검출 스크립트를 이용하여 마이그레이션을 수행하는 방법이다. (cubrid unloaddb/loaddb는 매뉴얼의 내보내기와 가져오기 참고)

단계 Linux 환경 Windows 환경
C1 단계: CUBRID Service 종료 % cubrid service stop CUBRID Service Tray를 종료한다.
C2 단계: 예약어 검출 스크립트 실행

예약어 검출 스크립트가 위치하는 디렉터리에서 아래 명령을 실행한다.

검출 결과를 확인하여 마이그레이션 진행 또는 식별자 수정 작업을 진행한다.

% csql -S -u dba -i check_reserved.sql testdb
C3 단계: 이전 버전 DB 언로드

이전 버전의 databases.txt 및 conf 디렉터리 내 설정 파일을 별도 디렉터리에 보관한다. (C3a)

cubrid unloaddb 유틸리티를 실행하고 이때 생성된 파일을 별도 디렉터리에 보관한다. (C3b)

% cubrid unloaddb -S testdb

기존 DB를 삭제한다. (C3c)

% cubrid deletedb testdb
C4 단계: 새 버전 설치 설치 방법은 설치와 실행 절을 참고한다.
C5 단계: DB 생성 및 데이터 로딩

DB를 생성할 디렉터리로 이동한 후, DB를 생성한다. (C5a)

% cd $CUBRID/databases/testdb

% cubrid createdb testdb

(C3b)에서 보관한 파일을 가지고 cubrid loaddb 유틸리티를 실행한다. (C5b)

% cubrid loaddb -s testdb_schema -d testdb_objects -i testdb_indexes testdb
C6 단계: 새 버전 DB 백업 % cubrid backupdb -S testdb

C7 단계: CUBRID 환경 설정 및

CUBRID Service 구동

환경 설정 파일을 수정한다. 이때, (C3a)에서 보관한 이전 버전의 환경 설정 파일을 새 버전에 맞게 수정한다.

(시스템 파라미터 설정은 파라미터 설정시스템 설정 참고)

% cubrid service start

% cubrid server start testdb

CUBRID Service Tray> [Service Start]를 선택하여 서비스를 시작한다. 명령 프롬프트 창에서 DB 서버를 구동한다.

% cubrid server start testdb

파라미터 설정

cubrid.conf

  • sort_buffer_size의 최대 크기를 2G로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.

  • thread_stacksize의 기본값이 100K에서 1M으로 변경되었으므로, 이 값을 설정하지 않은 사용자는 CUBRID 관련 프로세스들의 메모리 사용량을 살펴볼 것을 권장한다.

  • data_buffer_size의 최소값이 64K에서 16M으로 변경되었으므로, 이 값을 16M 미만으로 설정한 사용자는 16M 이상으로 설정해야 한다.

  • 다음 파라미터 중 기존 파라미터들은 더 이상 사용하지 않을 예정(deprecated)이며, 앞으로 신규 파라미터의 사용을 권장한다. 괄호 안의 값은 단위 생략 시 기본 적용되는 단위이며, 신규 파라미터들은 단위 지정이 가능하다. 자세한 내용은 시스템 설정의 각 파라미터 설명을 참고한다.

    기존 파라미터(단위) 신규 파라미터(단위)
    lock_timeout_in_secs(sec) lock_timeout(msec)
    checkpoint_every_npages(page_count) checkpoint_every_size(byte)
    checkpoint_interval_in_mins(min) checkpoint_interval(msec)
    max_flush_pages_per_second(page_count) max_flush_size_per_second(byte)
    sync_on_nflush(page_count) sync_on_flush_size(byte)

cubrid_broker.conf

  • KEEP_CONNECTION에서 OFF 설정값이 제거되었으므로 이전 버전에서 OFF로 설정한 경우 ON 또는 AUTO로 변경해야 한다.
  • SELECT_AUTO_COMMIT이 제거되었으므로 이전 버전에서 이 파라미터의 설정을 제거해야 한다.
  • APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최대값을 2,097,151으로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
  • APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최소값이 1024M이다. APPL_SERVER_MAX_SIZE의 값을 설정하는 사용자는 APPL_SERVER_MAX_SIZE_HARD_LIMIT의 값보다 작게 설정할 것을 권장한다.
  • CCI_DEFAULT_AUTOCOMMIT의 기본값이 ON으로 변경되었으므로, 이를 설정하지 않은 응용 프로그램 사용자가 기존과 같은 자동 커밋 모드를 유지하고 싶다면 OFF로 설정해야 한다.

cubrid_ha.conf

  • ha_apply_max_mem_size 파라미터의 값을 500 이상으로 설정한 사용자는 이 값을 500 이하로 설정해야 한다.

HA 환경에서 DB 마이그레이션

CUBRID 2008 R2.2 이상 버전에서 R4.4로 HA 마이그레이션

아래는 브로커, 마스터 DB, 슬레이브 DB를 각각 별도 서버에 구축한 환경에서 현재 서비스를 중지하고 업그레이드를 수행하기 위한 절차이다.

단계 설명
H1~H6 단계: 마스터 노드에서 C1~C6 단계를 수행 마스터 노드에서 CUBRID 업그레이드 및 DB 마이그레이션을 수행하고, 새 버전의 DB를 백업한다.
H7 단계: 슬레이브 서버에 CUBRID 새 버전 설치

슬레이브 서버에서 이전 버전의 DB는 삭제하고, 새 버전을 설치한다.

설치 방법은 설치와 실행 절을 참고한다.

H8 단계: 마스터 노드 백업본을 슬레이브 서버에서 복구

H6 단계에서 생성된 마스터 노드의 새 버전 DB 백업본(예: testdb_bk*)을 슬레이브 서버에서 복구한다.

% scp user1@master:$CUBRID/databases/databases.txt $CUBRID/databases/.

% cd ~/DB/testdb

% scp user1@master:~/DB/testdb/testdb_bk0v000 .

% scp user1@master:~/DB/testdb/testdb_bkvinf .

% cubrid restoredb testdb

H9 단계: HA 환경 재구성 후 HA모드 구동

마스터 및 슬레이브 서버에서 CUBRID 환경 설정 파일(cubrid.conf) 및

HA 환경 설정 파일(cubrid_ha.conf)을 설정한다. (데이터베이스 생성 및 서버 설정 참고)

H10 단계: 브로커 서버에 새 버전 설치 및 브로커 구동

설치 방법은 설치와 실행 절을 참고한다.

브로커 서버에 있는 브로커를 시작한다. (브로커 설정, 시작 및 확인 참고)

% cubrid broker start

CUBRID 2008 R2.0 또는 R2.1에서 R4.4로 HA 마이그레이션

CUBRID 2008 R2.0 또는 R2.1의 HA 기능을 사용하는 경우, 서버 버전 업그레이드, DB 마이그레이션을 수행하고 HA 환경을 새롭게 구축한 후 해당 버전에서 사용되었던 Linux Heartbeat 자동 시작 설정을 변경해야 한다. (Linux Heartbeat 패키지가 불필요한 경우 삭제한다.)

위의 H1~H10 단계를 수행한 후, 아래의 H11 단계를 수행한다.

단계 설명
H11 단계: 기존 Linux heartbeat 자동 시작 설정 변경

이하의 작업은 마스터 및 슬레이브 서버에서 root 계정으로 수행한다.

[root@master ~]# chkconfig --del heartbeat // 슬레이브 서버에서 동일 작업 수행