csql 접속 방법은 dba는 기본적으로 각db의 admin 암호이다.
csql -u dba -p 암호 db명
데이터베이스를 운영하다 보면 데이터베이스를 다른 서버 혹은 동일서버에 재구성해야 할 경우가 생긴다.
이러한 경우,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 를 참조)
댓글 ( 4)
댓글 남기기