2009.10.23 01:43
db 의 데이터를 다른곳에서 똑 같이 만들려고 하는데요..
조회 수 14732 추천 수 0 댓글 3
백업 후 복구 하는게 맞나요 ?
언로드 해서 로드 하는게 맞나요?
cubrid manager 에서는 복구나로드 메뉴가 활성화 안되던데... 복구나 로드는 어떻게 하는지요?
감사합니다.
-
?
현재 사용되는 데이터베이스를 다른 서버에 구성 방법은 언로드/로드로 권장 합니다.
-
?
언로드/로드 방법은 아래와 같습니다.
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 도구 출시 안내
-
DB 링크 사용 가능한가요 ?
-
큐브리드 최선 버젼인 2008 책이 있나요?
-
윈도우 큐브리드 매니저에서 리눅스에 설치한 큐브리드 DB 접속하기
-
function 확인
-
윈7 64비트 사용 불가
-
제약조건 비활성화
-
updateblob에 대한 문의 입니다.
-
튜토리얼 문서 보기가 너무 불편합니다.
-
insert 문에서 다량의 데이타입력할 때에 대한 질문입니다.
-
redhat 에서 cubrid 설치방법 문의
-
시스템 테이블의 db_serial 값 수정에 관한 질문
-
큐브리드 2008에서 모든 테이블 한번에 삭제 하는 쿼리는 어떻게 될까요?
-
db 의 데이터를 다른곳에서 똑 같이 만들려고 하는데요..
-
linux (centOS) 에서 큐브리드 완전 삭제하기.
-
0.5 이하 반올림 함수가 어떻게 되나요?
-
비트연산은 할 수 없나요?
-
mysql 에서 sum 함수를 큐브리드에서 동일하게 사용하려면....?
-
서브쿼리 관련 질문입니다.
-
PHP 에서 ODBC 를 이용한 접근.
-
src.rpm에 있는 소스 중