
CUBRID_R2.2업그레이드방안
조회 수 4997 추천 수 0 2010.07.30 04:46:15CUBRID R2.2(이하 R2.2) 이전버전(CUBRID R1.x이상)에 대한 업그레이드 절차는 아래 그림과 같은 작업 순서로 진행을 하여야 한다.
DB 마이그레이션의 DB 크기 및 시스템성능(특히, I/O)에 따라 수행시간이 오래 걸릴 수 있다.
CUBRID 버전 정보
아래 예와 같이 명령어를 수행하여 CUBRID 제품버전이 R1.4이하 임을 확인한다.
C:\Documents and Settings\cubrid>cubrid_rel
CUBRID 2008 R1.4 (8.1.4.1150)
R2.2 설치를 위해 시스템 등록 정보를 통해 OS의 bit수를 확인하여 R2.2를 설치해야 한다.
OS의 bit수가 32bit일 경우 R2.2설치도 32bit버전을 설치하여야 한다.
아래와 같이 시스템 tray에서 stop을 선택하여 프로세스 중지시킨다.
중지가 완료되면 아래와 같이 cubrid service tray를 종료 시킨다.
데이터베이스 백업
R2.2버전은 기존의 DB의 이미지 및 백업 이미지를 사용 할 수 없다.
따라서, 기존 DB백업 이 필요하며 백업의 방법에는 언로드, backupdb, copydb등의 CUBRID유틸을 통해 수행 할 수 있다.
만약, 데이터량이 많고 중요 데이터(예: 회원정보, 회계관련정보)가 있는 경우 안정성을 위하여 언로드를 통해 백업을 하는 것을 권장한다.
또한 언로드를 수행한 결과를 이후 R2.2로 DB 업그레이드를 수행하게 되므로 언로드를 수행한 경로를 숙지한다.
언로드를 수행하기 위해서는 DB의 크기를 감안하여 충분한 여유공간이 필요하며, 아래는 수행하는 예이다.
언로드관련 참고 자료는 메뉴얼 > 관리자 안내서 > 데이터베이스 마이그레이션 을 참조
C:\> cd %DB_VOL%
## %DB_VOL%은 언로드를 받을 수 있는 충분한 공간이 있는 곳으로 가정한다.
C:\> mkdir UNLOAD
C:\> cd UNLOAD
C:\> cubrid unloaddb –S –v demodb
C:\> cubrid unloaddb demodb
위에서 언급한 수행방법 이외에 DB구성파일들을 파일로 백업하는 방법이 있다.
DB구성 파일 확인 방법은 %CUBRID_DATABASES%/databases.txt 파일을 확인하면 된다.
C:\> cat %CUBRID_DATABASES%/databases.txt
demodb C:\DB_VOL\demodb PC-01 D:\DB_LOG\demodb
DB이름, 볼륨경로, 호스트네임, DB log경로 순으로 나열되어 있으며, 아래와 같이 DB경로의 파일과 DB log경로의 파일을 복사하면 된다.
C:\DB_VOL\demodb -> C:\DB_VOL_BACKUP
D:\DB_LOG/demodb -> D:\DB_LOG_BACKUP
## DB_VOL_BACKUP, DB_LOG_BACKUP의 경로는 파일을 복사할 수 있는 충분한 공간이 있는 곳으로 가정한다.
CUBRID R2.2 제거 및 설치
제거
윈도우 제어판의 프로그램 추가/제거에서 CUBRID선택하여 제거를 수행한다.
제거 과정 중 아래 데이터베이스 삭제 확인에서 아니오(N)를 선택하여 설정파일을 보관하도록 한다.
설치
OS확인 과정에서 bit수를 확인 하였으므로 CUBRID다운로드 페이지에서 설치하고자 하는 windows플렛폼을 선택하여 다운로드 받는다.
다운로드가 완료 되었다면 설치 실행파일을 수행한다.
설치과정 중 아래와 같이 CUBRID 설치 경로를 지정할 경우 이전버전이 설치된 경로를 입력하여 기존 설정이 적용될 수 있도록 한다.
이전설치 경로가 C:\CUBRID 일 경우 아래 그림과 같이 동일 경로로 지정 한다.
R2.2버전에서 추가되거나 변경된 파라미터가 존재할 수 있으므로 매뉴얼을 참조하여 설정을 변경하여야 한다.
뿐만 아니라, 성능개선의 여지가 있을 수 있으므로 매뉴얼 > 성능튜닝 부분을 참조하여 파라미터 조정하는 것이 바람직하다.
한 예로, index_scan_oid_buffer_pages 파라미터 값이 작을수록 성능에 유리 하므로 정수형에서 실수형으로 변경 되었으므로, 최소값인 0.05로 설정해야 한다.
기존폴더를 사용하기 위해서 아래 질문에 예(Y)를 선택한다.
기존의 환경을 적용하기 위해 설정 파일 유지창에서 예(Y)를 선택하고 설치를 완료 시킨다.
설치관련 참고자료는 큐브리드 매뉴얼의 UBRID시작 > 설치와 실행 > Windows에서의 설치와 실행을 참조.
설치확인
위에서 제품버전확인과 같이 동일 명령을 수행하여 R2.2버전정보를 확인한다.
C:\Documents and Settings\cubrid>cubrid_rel
CUBRID 2008 R2.2 (8.2.2.0261) (Apr 28 2010 21:49:33)
DB migration 수행
기존에 사용되고 있는 버전의 이미지의 경우 R2.2에서 인식이 안되므로 migration도구를 이용하여 이미지를 R2.2로 변경하여야 한다.
데이터량이 많을 경우 migration도구를 사용하지 않고 unload/load 명령을 통하여 재구성하는 것을 권장한다.
Migration 도구를 이용하는 방법
CUBRID 제거와 설치를 통해 기존의 DB가 R2.2에서 인식이 가능하도록 설정이 되었으며, 이후 아래와 같이 migration도구를 이용하여 R2.2버전 이미지로 변환한다.
C:\Documents and Settings\cubrid>migrate_r22 demodb
CUBRID Migration: 8.2.0 to 8.2.2
start to fix volume header
start to fix system classes
db_serial class was fixed.
db_class class was fixed.
db_partition class was fixed.
migration success
이전에 DB로부터 unload를 수행해야만이 load를 수행할 수 있다. 또한 load를 수행하기 위한 공간인 DB가 필요하다.
보다 자세한 사항은 메뉴얼 > 관리자 안내서 > 데이터베이스 마이그레이션 을 참조
load를 수행하기 위한 DB를 생성하기 위해서는 기존에 사용된 DB의 사용된 공간 확인이 필요하며 이 보다 큰 공간의 DB를 생성해야 한다.
R2.2로 업그레이드 이후 이전 DB의 사용공간 확인이 어려우므로 unload를 수행한 경로에 object파일의 크기와 *.lo파일들(멀티미디어데이터)의 크기를 이용하여 산정하면 된다.
우선 load를 수행하기 위해 createdb명령을 이용하여 DB를 생성 및 addvoldb명령을 통해서 충분히 가용한 공간을 생성한다.
아래는 DB생성 예이다.
C:\> mkdir %DB_VOL%
C:\> mkdir %DB_LOG%
## %DB_VOL%은 DB를 생성할 수 있는 충분한 공간이 있는 곳으로 가정한다.
## %DB_LOG%은 생성할 DB의 로그경로를 가정한다.
C:\> cubrid created –f %DB_VOL% –L %DB_LOG% CUBRID2_2
## DB생성
C:\> cubrid addvoldb –p data –S CUBRIDR2_2 500000
C:\> cubrid addvoldb –p index –S CUBRIDR2_2 250000
C:\> cubrid addvoldb –p temp –S CUBRIDR2_2 250000
## 생성된 DB에 대하여 data, index, temp영역을 생성
보다 자세한 사항은 관리자 안내서 > 데이터베이스 관리 > 데이터베이스 생성 및 볼륨 추가 을 참조
기존의 DB이름과 동일한 DB를 생성 시 환경백업을 통해 databases.txt에 이미 기존의 DB명이 존재하므로 생성할 수 없다.
이런 경우 %CUBRID_DATABASES%\databases.txt 파일을 편집하여 동일한 DB명이 있는 라인을 삭제 해야 한다.
DB생성이 완료 되었다면 아래와 같은 순서로 load를 수행하여 DB를 구성한다.
C:\> cubrid loaddb -u dba -s demodb_schema CUBRID2_2
## 스키마 로드
C:\> cubrid loaddb -u dba -d demodb_objects –c 10000 –v CUBRID2_2
## 데이터
C:\> cubrid loaddb -u dba -i demodb_indexes –v CUBRID2_2
## 인덱스
C:\> cubrid loaddb -u dba -i demodb_trigger –v CUBRID2_2
## 트리거
위 예는 기존에 unload받은 파일들이 스키마, 데이터, 인덱스, 트리거가 있다고 가정한 것 이므로 파일 중 존재하지 않는 파일은 수행할 필요가 없다.
CUBRID관련 프로세스 구동
R2.2설치와 동시에 CUBRID server가 구동되었으므로 CUBRID Manager Client를 실행시켜 DB를 구동시킨다.
CUBRID Manager사용 방법은 CUBRID매뉴얼 > CUBRID 시작 > CUBRID매니저 사용 > CUBRID매니저 시작을 참조.