Background Image
조회 수 30154 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
279 질의작성 synonym에 대하여 김민종 2023.09.07 255
278 질의작성 VALUES 절 활용하기 황영진 2020.05.13 813
277 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1108
276 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1323
275 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2161
274 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2226
273 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2360
272 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2407
271 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2792
270 기타 JBoss 사용 시 statement pooling 설정 손승일 2016.12.16 2923
269 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3165
268 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3322
267 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 3760
266 질의작성 Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까? 이상신 2015.12.30 4010
265 질의작성 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인 성진 2016.03.21 4175
264 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4218
263 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4300
262 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4477
261 응용개발 Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법 file 진우진 2016.03.28 4523
260 마이그레이션 CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기 엄기호 2016.01.28 4558
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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