mongodb

 

https://www.cubrid.org/

 

 

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 를 참조)

 

 

 

 

 

about author

PHRASE

Level 1  라이트

댓글 ( 4)

댓글 남기기

작성