Background Image
조회 수 30005 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CUBRID6.x, CUBRID7.x 에서 CUBRID2008로의 마이그레이션 방법입니다.


데이터베이스 재구성을 통하여 간단하게 마이그레이션하는 방법을 정리하였읍니다. 주의하실점은 버젼이 달라지면서 예약어가 추가되어 마이그레이션이 되지 않을 수도 있으니 유의하시기 바랍니다.
데이터베이스의 이름은 cub_db 로 가정하였읍니다.
또한 데이터베이스를 재구성하므로 반드시 dba의 암호를 알아야 합니다.

1. 서비스를 중지합니다.
    (Windows) commdb -A
2. 사용중인 모든 데이터베이스를 unload 합니다. 임의의 디렉토리를 만들어서 수행하면 됩니다.
    (Linux/UNIX/Windows) mkdir unload; cd unload; unloaddb -v cub_db
3. 정상적으로 unload 되었는지 확인합니다. 화면상에 unloaddb 종료 전에 에러 내용이 표시되는지 확인하면 됩니다.
4. 현재 사용중인 데이터베이스의 사용량을 확인하여, CUBRID2008 에서 생성할 데이터베이스의 크기를 산정합니다. 아래는 한 예로 각  용도(Purpose)별로 총 공간을 계산하고 남은 공간을 계산하여 남은 공간이 충분하지 않다면 각 용도별로 추가할 요량을 더하여 전체적으로 각 용량별 생성할 크기를 산정합니다.
    (Linux/UNIX/Windows) spacedb -sa cub_db
Space description for database 'cub_db' with pagesize 4096.
Volid  Purpose  total_pages  free_pages  Vol Name
    0  GENERIC        10000        9270  /home/DB/cub_db
    1     DATA       500000      489486  /home/DB/cub_db_x001
    2    INDEX       500000      497753  /home/DB/cub_db_x002
    3     TEMP       500000      498094  /home/DB/cub_db_x003
-------------------------------------------------------------------------------
    4               1510000     1494603
5. 만일을 위하여 현재 데이터베이스를 백업합니다. 데이터베이스가 위치하고 있는 디렉토리를 rename 하거나, 다른 디렉토리로 옮깁니다. 설치되어있는 디렉토리는 아래와 같이 확인할 수 있읍니다.
    (Linux/UNIX) more $CUBRID_DATABASES/databases.txt
        cub_db /home/DB hostname /home/DB/log
    (Windows) type %CUBRID_DATABASES%ordblist.txt
        cub_db c:DB hostname c:DBlog
    위와 같을때 데이터베이스는 /home/DB/cub_db_vinf 나 c:DBcub_dbv 의 내용을 보면 화일들의 위치를 알수있읍니다.
6.  CUBRID2008을 설치합니다. windows 의 경우 기존 제품을 제거하셔야 하며, Linux/UNIX 는 기존 제품이 설치되어있는 디렉토리를 rename 합니다. windows 의 경우 제거하기전 %CUBRID%admindbparm.ini 와 %CUBRID_BROKER%confcubrid_broker.conf 를 다른 곳에 복사하여 두기 바랍니다.
7. 복사해두었거나 변경한 디렉토리(Linux/UNIX 의 경우 CUBRID 디렉토리)의 sqlx.init(Windows의 경우 dbparm.ini) 의 내용과 새로이 설치된 CUBRID/conf/cubrid.conf 와 비교하여 다른 내용을 조정합니다. 마찬가지로 cubrid_broker.conf 의 내용도 조정합니다.
8. 산정한 데이터베이스의 크기를 기준으로 데이터베이스를 생성합니다. 생성할때 위치는 이전과 달라도 상관없읍니다. 데이터베이스 화일의 최대 크기는 2G(500,000page, page 크기 4K 기준) 이므로 산정한 크기가 이보다 크다면 2G 화일을 여러개 만들어야 합니다. 각 명령의 -F 는 데이터화일의 위치, -L은 로그화일의 위치이므로 생성할 위치를 지정하면 됩니다.
   예1) generic 700,000, log 100,000
     (Linux/UNIX) cubrid createdb -p 500000 -l 100000 -F /home/DB -L /home/DB/log cub_db
     (Linux/UNIX) cubrid addvoldb -S -F /home/DB -p generic cub_db 200000
     (Windows) cubrid createdb -p 500000 -l 100000 -F C:DB -L C:DBlog cub_db
     (Windows) cubrid addvoldb -S -F C:DB -p generic cub_db 200000
   예2) generic 10,000, data 700,000, index 500,000 temp 500,000
     (Linux/UNIX) cubrid createdb -p 10000 -l 100000 -F /home/DB -L /home/DB/log cub_db
     (Linux/UNIX) cubrid addvoldb -S -F /home/DB -p data cub_db 500000
     (Linux/UNIX) cubrid addvoldb -S -F /home/DB -p data cub_db 200000
     (Linux/UNIX) cubrid addvoldb -S -F /home/DB -p index cub_db 500000
     (Linux/UNIX) cubrid addvoldb -S -F /home/DB -p temp cub_db 500000
     (Windows) cubrid createdb -p 10000 -l 100000 -F C:DB -L C:DBlog cub_db
     (Windows) cubrid addvoldb -S -F C:DB -p data cub_db 500000
     (Windows) cubrid addvoldb -S -F C:DB -p data cub_db 200000
     (Windows) cubrid addvoldb -S -F C:DB -p index cub_db 500000
     (Windows) cubrid addvoldb -S -F C:DB -p temp cub_db 500000
9. 데이터베이스의 스키마를 등록합니다. 이전에 unload 를 수행한 디렉토리로 이동하여 작업을 진행합니다.
    (Linux/UNIX) cubrid loaddb -u dba -s cub_db_schema cub_db
    (Windows) cubrid loaddb -u dba -s cub_db.sch cub_db
10. 데이터베이스의 암호를 변경합니다. CUBRID7.x 와 CUBRID2008 은 인코딩방식이 변경되었으므로 convert_password 를 이용하여 암호를 변경합니다.
    (Linux/UNIX) $CUBRID/compat/convert_password cub_db
    (Windows) %CUBRID%convert_password cub_db
11. 데이터베이스의 데이터를 등록합니다. 만약 dba 의 암호가 설정되어있다면 다음 명령수행시 암호를 물어오면 dba 암호를 입력하면 됩니다.
    단 등록할때 CUBRID2008 에서 일부 시스템 테이블이 제거되었으므로 --ignore-class-file 옵션을 사용해야 합니다. 제거된 테이블 목록은 아래와 같으며, 목록은 임의의 화일(예, iclass)로 만들어 저장합니다. 한 라인에 하나의 테이블을 기록합니다.
    audio
    slcaudio
    agent
    audio_agent
    image
    twod_image
    threed_image
    pbm
    rawpbm
    x11bitmap
    (Linux/UNIX) cubrid loaddb -u dba --ignore-class-file=iclass -s cub_db_objects cub_db
    (Windows) cubrid loaddb -u dba --ignore-class-file=iclass -s cub_db.obj cub_db
12. 데이터베이스의 인덱스를 등록합니다. 인덱스가 없으면 인덱스 화일(cub_db_indexes 또는 cub_db.idx) 이 없으므로 등록하지 않아도 됩니다.
    (Linux/UNIX) cubrid loaddb -u dba -i cub_db_indexes cub_db
    (Windows) cubrid loaddb -u dba -i cub_db.idx cub_db
13. 데이터베이스의 트리거를 등록합니다. 트리거가 없으면 트리거 화일(cub_db_trigger 또는 cub_db.trg) 이 없으므로 등록하지 않아도 됩니다.
    (Linux/UNIX) cubrid loaddb -u dba -i cub_db_trigger cub_db
    (Windows) cubrid loaddb -u dba -i cub_db.trg cub_db
14. 질의수행에 필요한 통계정보를 재구성합니다.
     (Linux/UNIX/Windows) cubrid optimizedb cub_db
15. 서비스를 구동하여 사용하면 됩니다.
    (Linux/UNIX/Windows) cubrid server start cub_db

  • ?
    seongjoon 2009.11.27 04:20
    오타자 발견!!!
    데이터를 등록할때,
    (Linux/UNIX) cubrid loaddb -u dba --ignore-class-file=iclass -s cub_db_objects cub_db
    (Windows) cubrid loaddb -u dba --ignore-class-file=iclass -s cub_db.obj cub_db
    에서, -s 가 아닌 -d 입니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
17 마이그레이션 CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기 엄기호 2016.01.28 4338
16 마이그레이션 MySQL 테이블 크기 조사하기-공유 주현 2015.12.31 5011
15 마이그레이션 CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기 file 권호일 2015.12.28 5840
14 마이그레이션 CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점 1 권호일 2015.12.29 8871
13 마이그레이션 CUBRID Migration Tookit 8.4.1 file cubebridge 2012.04.14 10953
12 마이그레이션 MySQL에서 사용하는 스키마 변환시 주의 사항 정만영 2012.03.02 12949
11 마이그레이션 오라클의 order by 시 first와 last 대체 사용법 file cubebridge 2012.11.12 17147
10 마이그레이션 오라클 to CUBRID로 마이그레이션 수행 시 주의사항 정만영 2012.03.02 20576
9 마이그레이션 MySQL에서 CUBRID로 갈아탈 때 알아야 할 것 cubebridge 2012.11.13 20906
8 마이그레이션 타 DB 에서 마이그레이션시 질의 변경 샘플 - CASE 문 웁쓰 2009.12.31 21323
7 마이그레이션 MySQL+XE를 CUBRID+XE로 운영하기 – mysqldump파일과 CMT사용 file cubebridge 2012.11.13 22846
6 마이그레이션 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법 file cubebridge 2012.04.14 23666
5 마이그레이션 CUBRID는 MySQL의 varchar(255)와 동일한 길이가 아닌가요? 손승일 2009.12.28 27368
» 마이그레이션 CUBRID 하위버젼에서 CUBRID2008로의 업그레이드 방법 1 남재우 2008.12.06 30005
3 마이그레이션 MySQL의 limit 명령어 처리 1 admin 2008.11.21 31952
2 마이그레이션 타 DBMS를 CUBRID로 마이그레이션 시 varchar,char 컬럼 사이즈 관련 손승일 2010.07.01 37524
1 마이그레이션 CUBRID vs MySQL vs ORACLE SQL 타입별 비교 정만영 2013.07.12 64038
Board Pagination Prev 1 Next
/ 1

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2147 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales