Background Image
조회 수 21878 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
21 Java JDBC를 사용한 다중화 구성 SELECT Query 부하 분산 가이드 file 윤준수 2017.03.30 3938
20 Java tomcat8.0(DBCP2)과 CUBRID 연동하기 손승일 2016.07.01 15569
19 Java CUBRID에서 Java AddBatch 사용 엄기호 2016.06.28 8359
18 Java CUBRID와 MyBATIS 빠르게 연동하기 file 김승훈 2015.05.07 19137
17 Java CUBRID와 Oracle의 Clob 타입 사용 방법 비교. seongjoon 2012.06.30 54556
16 Java SELECT ~ FOR UPDATE 대체 방법 손승일 2009.12.30 32375
15 Java CUBRID Java Stored Procedure와 DB Server Memory 관계 file 손승일 2009.10.31 40190
14 Java QuantumDB Eclipse Plugin을 사용하여 CUBRID연동하기 2 cubebridge 2009.10.06 28921
13 Java CUBRID JDBC에서 유니코드 사용하기 1 손승일 2009.08.15 27434
12 Java CUBRID Collection Data Type 사용하기 - JDBC 손승일 2009.08.15 24913
11 Java CUBRID GLO 사용하기 - JDBC 손승일 2009.08.15 23493
10 Java JavaSP SampleCode(Pivot기능) cubebridge 2009.07.28 27553
9 Java log4jdbc를 사용한 JDBC 로그 분석 시난 2009.07.02 36394
8 Java CUBRID에서 log4sql을 사용하자 정병주 2009.06.12 44304
7 Java jsp용 jdbc 샘플입니다. file 시난 2009.05.25 47607
6 Java iBATIS framework with CUBRID file 웁쓰 2009.05.19 54548
5 Java SQuirreL SQL Client에서 CUBRID 사용하기 3 Prototype 2009.04.18 34534
4 Java Power*Architect 에서 CUBRID 사용하기 Prototype 2009.04.18 23879
3 Java AquaDataStudio 에서 CUBRID 사용하기 Prototype 2009.04.18 23666
2 Java Spring framework 사용 예제 admin 2009.04.01 53128
Board Pagination Prev 1 2 Next
/ 2

Contact Cubrid

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