Background Image
조회 수 21833 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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


데이터베이스를 운영하다 보면 데이터베이스를 다른 서버 혹은 동일서버에 재구성해야 할 경우가 생긴다.
이러한 경우,CUBRID에서는 아래와 같은 두 가지 방법을 제공하고 있다.

1. 백업파일을 이용하여 restore하는 방법
2. CUBRID 유틸리티인 unloaddb&loaddb를 이용하는 방법

백업파일이 존재하지 않는 경우, 성능테스트 혹은 운영체제에 맞게끔 page크기를 변경해야 하는 경우 unloaddb&loaddb를 사용하여 재구성할 수 있다.

참고사항) db page는 DB를 생성할 때 --db-page-size=SIZE  옵션을 주어 변경하여 생성할 수 있다. (최소값은 4K, 최대값은 16K(기본값)
예: cburid createdb --db-page-size=16K testdb en_US



1. 언로드하기(unloaddb)
Migration에서 기본인 unloaddb방법이다. CUBRID는 -S (stand-alone mode) 와 -C(client-server mode)를 제공하는 -S가 조금 더 빠르게 수행한다.
$ cubrid server stop db-name
$ cubrid unloaddb -S -v db-name (-v옵션은 진행상태를 표시)

[결과]
아래와 같이 unload하는 진행화면이 출력된다.
-------------------------------+--------------------------------
    Class Name                 |          Total Instances
-------------------------------+--------------------------------
    mmdb                       |           0 (100% / 100%)
    mmdb1                      |           0 (100% / 100%)
    mmdb2                      |           0 (100% / 100%)
    mmdb3                      |           0 (100% / 100%)
0 objects dumped.

정상적으로 완료가 된 겨우, db-name_schema, db-name_objects, db-name_indexes, db-name_trigger파일이 생성된다.
해당 파일은 editor프로그램을 이용하여 오픈하여 확인할 수 도 있다.


2. 데이터베이스 생성 및 볼륨구성하기
데이터베이스를 생성한다. generic볼륨을 생성훼 DATA, INDEX, TEMP볼륨을 생성해 준다.

$ cubrid createdb db-name ko_KR.utf8  (512M의 generic볼륨을 생성)
$ cubrid addvoldb -S --db-volume-size=사이즈 -p data db-name (data 볼륨을 추가)
$ cubrid addvoldb -S --db-volume-size=사이즈 -p index db-name (index볼륨을 추가)
$ cubrid addvoldb -S --db-volume-size=사이즈 -p temp db-name (temp볼륨을 추가)


3. 로드하기(loaddb)
db-name서버가 정지된 상태에서 아래 명령어를 수행한다. (현 경로에 unloaddb파일이 있어야 한다. 경로가 다른경오 file path까지 명시해주어야 한다.)
$ cubrid loaddb -u dba -s db-name_schema -i db-name_indexes -d db-name_objects -v db-name
  • 스키마 파일(database-name_schema): 언로드 작업에 의해 생성된 파일로서, 데이터베이스에 정의된 스키마 정보를 포함하는 파일이다.
  • 객체 파일(database-name_objects): 언로드 작업에 의해 생성된 파일로서, 데이터베이스에 포함된 레코드 정보를 포함하는 파일이다.
  • 인덱스 파일(database-name_indexes): 언로드 작업에 의해 생성된 파일로서, 데이터베이스에 정의된 인덱스 정보를 포함하는 파일이다.
  • 트리거 파일(database-name_trigger): 언로드 작업에 의해 생성된 파일로서, 데이터베이스에 정의된 트리거 정보를 포함하는 파일이다.
  • 사용자 정의 객체 파일(user_defined_object_file) : 대용량 데이터 입력을 위해 사용자가 테이블 형식으로 작성한 입력 파일이다(가져오기용 파일 작성 방법 참고).

Warning

 

--no-logging 옵션을 사용하면 loaddb 를 수행하면서 트랜잭션 로그를 저장하지 않으므로 데이터 파일을 빠르게 로드할 수 있다. 그러나 로드 도중 파일 형식이 잘못되거나 시스템이 다운되는 등의 문제가 발생했을 때 데이터를 복구할 수 없으므로 데이터베이스를 새로 구축해야 한다. 즉, 데이터를 복구할 필요가 없는 새로운 데이터베이스를 구축하는 경우를 제외하고는 사용하지 않도록 주의한다. 이 옵션을 사용하면 고유 위반 등의 오류를 검사하지 않아 기본 키에 값이 중복되는 경우 등이 발생할 수 있으므로, 사용 시 이러한 문제를 반드시 감안해야 한다.


(자세한 옵션은 http://www.cubrid.org/manual/ko/9.2.0/admin/admin_utils.html#unload-load 를 참조)

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
26 Java CUBRID와 MyBATIS 빠르게 연동하기 file 김승훈 2015.05.07 19123
25 Windows Windows 에 설치 된 JRE 설치 위치 확인 하기. file 성진 2015.05.28 12567
24 기타 CUBRID isolation level & Dirty Read 정만영 2015.05.29 11311
23 PHP CUBRID HA 환경에서 Apache-PHP 설정 가이드 이용미 2015.06.16 10661
22 기타 콘솔에서 마이그레이션 하기. file 권호일 2015.06.19 13428
» 기타 CUBRID Migration방법(by unloaddb & loaddb) 주현 2015.07.01 21833
20 Linux 가상머신 환경에서 리눅스 및 큐브리드 설치 가이드 file 이경오 2015.07.14 13367
19 기타 알고 보면 쉬운 cubrid lockdb 유틸리티 file 김승훈 2015.12.08 12018
18 기타 CUBRID Migration Toolkit을 이용한 단계별 마이그레이션 진행 방법 file 진우진 2015.12.15 9495
17 Linux 리소스를 제한(limits.conf) 하여 DB서버를 관리하자 1 주현 2015.12.31 26553
16 기타 데이터 확인에 정규표현식을 사용 해 보자. 성진 2016.03.01 12688
15 기타 CSQL 인터프리터 사용방법 정만영 2016.03.03 16516
14 기타 PyCharm을 이용한 CUBRID, Django 연동 가이드 file 진우진 2016.04.11 8131
13 Java CUBRID에서 Java AddBatch 사용 엄기호 2016.06.28 8339
12 튜닝 LIMIT절을 사용하여 SQL문을 간결하게 작성하고, 부분범위 처리를 유도하자. 권호일 2016.06.29 15442
11 Java tomcat8.0(DBCP2)과 CUBRID 연동하기 손승일 2016.07.01 15527
10 튜닝 다중컬럼 조건에 대한 인라인뷰 처리방안 2 박동윤 2016.12.27 5983
9 Java JDBC를 사용한 다중화 구성 SELECT Query 부하 분산 가이드 file 윤준수 2017.03.30 3918
8 Linux 리눅스에서 top 명령어를 통한 CPU 점유율 확인 및 측정하기 file 정훈 2017.06.02 79923
7 기타 따라하면 쉬운 compactdb 사용법 file 허서진 2017.07.01 2499
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

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