db 의 데이터를 다른곳에서 똑 같이 만들려고 하는데요..
-
?
현재 사용되는 데이터베이스를 다른 서버에 구성 방법은 언로드/로드로 권장 합니다.
-
?
언로드/로드 방법은 아래와 같습니다.
1. unloaddb/loaddb 유틸사용
가. cubrid spacedb demodb 를 수행하여 운영 중인 볼륨 구성 상태를 확인한다.
나. cubrid server stop demodb 를 수행하여 DB 서버를 중단시킨다.(windows 경우에는 큐브리드 메니저를 통해서만 DB를 start/stop 할 수 있다.)
다. cubrid unloaddb -S demodb 를 수행하면 실행한 디렉토리에 demodb_schema, demodb_objects, demodb_index 파일이 생성된다.
라. 이전 대상서버에서 빈 DB를 생성한다.
cubrid createdb -p 10000 -l 10000 demodb
cubrid addvoldb -S -p data demodb 100000
cubrid addvoldb -S -p index demodb 50000
cubrid addvoldb -S -p temp demodb 50000 등과 같이 createdb와 addvoldb 명령을 사용하여 spacedb를 통해 확인한 기존 DB 볼륨과 동일하게 볼륨을 구성한다.
마. cubrid loaddb demodb -u dba -s demodb_schema를 수행하여 스키마를
cubrid loaddb demodb -u dba -d demodb_objects를 수행하여 데이터를
cubrid loaddb demodb -u dba -i demodb_index를 수행하여 인덱스 순으로 load작업을 수행한다.
이때 load하고자 하는 데이터가 대용량 데이터인 경우에는 다음의 옵션들을 사용하여 기본 작업들의 수행을 취소하여 load 작업 수행시간을 줄인다.
-l (문법 체크 없이 로드만 수행)
-c (commit 주기. commit 주기(예 200000) 단위로 commit 수행)
---no-oid (OID 사용하지 않음. DB 내에서 OID가 사용되고 있지 않을 경우에만 사용, 즉 관계형으로만 설계된 경우)
바. 기존 DB 설정 파일인 cubrid.conf, cubrid_broker.conf을 이전 대상 서버에 복사한다.
사. cubrid optimizedb demodb를 수행하여 통계정보를 갱신한다. -
?
아래의 각각의 시나리오에 대해서 설명을 드리겠습니다.
1. 1번 서버의 DB A를 2번 서버에 DB A로 생성할 경우
- 2번 서버는 1번 서버와 동일한 OS, 동일한 CUBRDI버전이 설치되어 있다.
- 2번 서버와 1번 서버에 DB가 설치될 경로는 동일하다.
- 위의 상황을 전제로 1번 서버의 backup파일을 이용 2서버로 데이터를 옮기는 것이 가능합니다.
방법1: 1번 서버의 backup파일을 2번 서버의 동일한 위치에 옮긴 후 2번 서버에서 복구(cubrid restoredb)를 합니다.
방법2: 1번 서버의 DB를 중단한 체로 작업을 한다면 중단 후 DB관련 파일을 그대로 2번 서버로 복사한 후 경로와 databases.txt파일의 hostname을 변경하면 됩니다.
2. 1번 서버의 DB A를 2번 서버의 DB C로 변경할 경우
* DB이름을 제외하고 모든 것은 동일하다면 첫번째 시나리오대로 데이터를 옮긴 후 cubrid renamedb를 이용하여 C로 DB이름을 변경합니다.
- 1번과 2번서버의 OS와 CUBRID버전이 다른 경우.
- 2번 서버의 경로도 다른 경우
- 위의 상황이라면 unload/load를 이용한 데이터 이전을 해야합니다.
방법: unload는 on/offline에서 작업을 할 수 있으나 서비스 중 online unload는 서버에 부하를 주기 때문에 권장하지 않습니다. DB를 중단 한 후 cubrid unloaddb명령어를 이용하여 데이터를 받은 후 이를 2번 서버로 옮긴 후 loaddb를 이용하여 작업을 하시면 됩니다. unload/load에 대한 작업 방법은 메뉴얼을 참조하시기 바랍니다.
+ cubrid manager에서 복구나 load가 활성화 되지 않는 이유는 현재 DB가 구동되어 있기 때문입니다. DB가 구동되어 있을 때에는 복구나 cubrid laoddb를 수행할 수 없습니다. 2번 서버로의 이전 시에도 복구나 load작업을 위해서는 받드시 DB를 중단 시켜주셔야 합니다. 작업 전 백업은 필수입니다. 작업 관련하여 아래의 링크를 참조하세요.
좋은 하루 되세요.
-
CUBRID 사용자를 위한 DBeaver 도구 출시 안내
-
SQLGate for CUBRID 영구 무료 라이선스 제공
-
접속자의 아이피나 맥어드레스를 알아낼수 있는지요
-
초보 질문드립니다^^:(인스턴스 갱신)
-
맥에서 cubrid query browser 실행이 안됩니다.
-
cubridmanager 실행시 오류 입니다.
-
원하는 테이블에 데이터를 추가 하고싶으면 어떻게 하나요?
-
매니저 오류 문의
-
오류의 의미??
-
임시테이블에 대한 지원 계획은 있는지 궁금합니다
-
뷰 테이블 편집 cascade 오류
-
Cubrid 2008 R 1.3 설치중 에러메시지
-
라이센스 관련 문의 입니다.
-
cubrid 8.4.3 loaddb 또는 대량데이터 일괄 Insert 방법
-
트랙잭션이 시스템에 의해 중단됩니다.
-
대용량 mysql 데이타를 큐브리드 2008 로 마이그레이션 할때
-
cubrid 설치 후 서버 기동 문제
-
JBoss 7.1.1 와 Cubird 9.3.6 버젼 연동 문의
-
파티션 테이블에 대해서..
-
The size of data received from server is different from the expected
-
큐브리드 매니저에서 서브쿼리 날리면 값이 안나오는 문제
-
Oracle --> Cubrid 쿼리 변경 질문입니다!