Background Image
조회 수 30482 추천 수 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 입니다.

  1. select 결과중 몇개만 가져오는 방법

    Date2008.11.21 Category질의작성 Byadmin Views20292
    Read More
  2. 중복된 데이터를 1개만 남기고 지우는 방법

    Date2008.11.21 Category질의작성 Byadmin Views17579
    Read More
  3. 중복된 데이터에 대하여 일련번호를 붙이는 방법

    Date2008.11.21 Category질의작성 Byadmin Views17740
    Read More
  4. 백업파일을 이용하여 데이터베이스가 없는 다른 서버에서 복구하는 방법

    Date2008.11.21 Category운영관리 Byadmin Views22439
    Read More
  5. 응용프로그램에서 질의 처리시 commit/rollback 처리 문제

    Date2008.11.21 Category응용개발 Byadmin Views22148
    Read More
  6. MySQL의 limit 명령어 처리

    Date2008.11.21 Category마이그레이션 Byadmin Views33028
    Read More
  7. embedded sql 에서 char 사용시 주의 사항

    Date2008.11.21 Category응용개발 Byadmin Views19374
    Read More
  8. 예약어를 테이블명이나 컬럼명으로 사용시

    Date2008.11.21 Category질의작성 Byadmin Views38308
    Read More
  9. 데이터 필드의 타입 변경하기

    Date2008.11.21 Category질의작성 Byadmin Views18758
    Read More
  10. tomcat 5.5 버전 이상에서 dbcp(커넥션 풀링) 설정법

    Date2008.11.21 Category응용개발 Byadmin Views28915
    Read More
  11. HP-ux에서 jvm loading이 실패하는 경우 조치 사항

    Date2008.11.21 Category운영관리 Byadmin Views22703
    Read More
  12. 데이터베이스를 다른 머신으로 옮기는 방법

    Date2008.11.21 Category운영관리 Byadmin Views28163
    Read More
  13. 64bit OS 에서 사용가능한가요?

    Date2008.11.21 Category운영관리 Byadmin Views17723
    Read More
  14. loadjava 사용 시 inner class 로딩은 어떻게?

    Date2008.11.21 Category응용개발 Byadmin Views27801
    Read More
  15. Attempt to access a closed ResultSet(PreparedStatement) 오류

    Date2008.11.21 Category응용개발 Byadmin Views28423
    Read More
  16. libjvm.so 찾지 못하여 서버 구동이 되지 않은 경우

    Date2008.11.21 Category운영관리 Byadmin Views26994
    Read More
  17. SElinux 환경에서 CUBRID 사용하기

    Date2008.11.21 Category운영관리 Byadmin Views25801
    Read More
  18. CUBRID 사용시 방화벽 설정

    Date2008.11.21 Category운영관리 Byadmin Views31356
    Read More
  19. CUBRID 에서 제공하는 ODBC 함수 목록

    Date2008.11.21 Category응용개발 Byadmin Views26402
    Read More
  20. CUBRID 하위버젼에서 CUBRID2008로의 업그레이드 방법

    Date2008.12.06 Category마이그레이션 By남재우 Views30482
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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