데이터베이스 내보내기(unload)

설명

데이터베이스를 언로드/로드하는 목적은 다음과 같다.

구문

cubrid unloaddb [ options ] database_name

[ options ]

-i | -O | -s | -d | -v | -S | -C |

--input-class-file | --output-path | --schema-only | --data-only | --verbose | --SA-mode | --CS-mode | --include-reference | --input-class-only | --lo-count | --estimated-size | --cached-pages | --output-prefix | --hash-file | --use-delimiter

반환 값

cubrid unloaddb 유틸리티의 리턴 값은 다음과 같다.

생성 파일

이러한 스키마, 객체, 인덱스, 트리거 파일은 같은 디렉터리에 생성된다.

옵션

다음은 cubrid unloaddb 유틸리티와 함께 사용할 수 있는 옵션을 정리한 표이다. 대소문자를 구별해서 사용해야 한다.

 옵션

설명

-i
--input-class-file

인수로 지정된 입력 파일에 지정된 클래스를 대상으로 데이터베이스를 언로드한다.

-O
--output-path

스키마와 객체 파일이 생성될 디렉터리를 지정한다. 옵션이 지정되지 않으면 현재 디렉터리에 생성된다.

-s
--schema-only

데이터 파일은 생성하지 않고, 스키마 파일만 생성한다.

-d
--data-only

스키마 파일은 생성하지 않고, 데이터 파일만 생성한다.

-v
--verbose

언로드되는 데이터베이스의 상세 정보를 화면에 출력한다.

-S
--SA-mode

독립 모드에서 데이터베이스를 언로드한다.

-C
--CS-mode

클라이언트/서버 모드에서 데이터베이스를 언로드한다.

--include-reference

-i 옵션과 함께 사용되며, 객체 참조도 함께 생성한다.

--input-class-only

-i 옵션과 함께 사용되며, 입력 파일에 포함된 테이블에 관한 스키마 파일만 생성한다.

--lo-count

한 디렉터리에 생성될 큰 객체(LO) 데이터 파일의 수를 설정한다.
디폴트 값 : 0

--estimated-size

예상되는 레코드 수를 지정한다.

--cached-pages

메모리에 캐시할 객체 테이블의 수를 설정한다.
디폴트 값 : 100

--output-prefix

스키마와 객체 파일명 앞에 붙이는 prefix를 지정한다.

--hash-file

해시 파일의 이름을 지정한다.

--use-delimiter

속성 이름을 따옴표로 감싸서 출력한다.

언로드할 테이블 목록이 포함된 입력 파일(-i 또는 --input-class-file)

다음은 입력 파일 table_list.txt의 예이다.

table_1

table_2

..

table_n

-i 옵션은 데이터베이스의 일부 클래스만 언로드하기 위하여, 언로드할 테이블 목록이 저장된 입력 파일을 지정한다.

cubrid unloaddb -i table_list.txt demodb

-i 옵션이 --input-class-only와 결합되면, 입력 파일에 포함된 테이블에 관한 스키마 파일만 생성된다.

cubrid unloaddb --input-class-only -i table_list.txt demodb

-i 옵션이 --include-reference와 결합되면, 객체 참조도 함께 생성된다.

cubrid unloaddb --include-reference -i table_list.txt demodb

생성 파일이 저장되는 디렉터리 지정(-O 또는 --output-path)

-O 옵션은 언로드 작업을 통해 생성되는 출력 파일이 저장되는 디렉터리를 지정하기 위한 옵션이다. 만약, -O 옵션이 지정되지 않으면 현재 작업 디렉터리에 출력 파일이 생성된다.

cubrid unloaddb -O ./CUBRID/Databases/demodb demodb

지정된 디렉터리가 존재하지 않는 경우 다음과 같은 에러 메시지가 출력된다.

unloaddb: No such file or directory.

스키마 파일만 생성(-s 또는 --schema-only)

-s 옵션은 언로드 작업을 통해 생성되는 출력 파일 중 스키마 파일만 생성되도록 지정하는 옵션이다.

cubrid unloaddb -s demodb

데이터 파일만 생성(-d 또는 --data-only)

-d 옵션은 언로드 작업을 통해 생성되는 출력 파일 중, 데이터 파일만 생성되도록 지정하는 옵션이다.

cubrid unloaddb -d demodb

언로드 상태 정보 출력(-v 또는 --verbose)

-v 옵션은  언로드 작업이 진행되는 동안 언로드되는 데이터베이스의 테이블 및 인스턴스에 관한 상세 정보를 화면에 출력하는 옵션이다.

cubrid unloaddb -v demodb

독립 모드(-S 또는 --SA-mode)

-S 옵션은 지정된 데이터베이스에 독립 모드로 접근하여 언로드 작업을 수행하는 옵션이다.

cubrid unloaddb -S demodb

클라이언트/서버 모드(-C 또는 --CS-mode)

-C 옵션은 지정된 데이터베이스에 클라이언트/서버 모드로 접근하여 언로드 작업을 수행하는 옵션이다.

cubrid unloaddb -C demodb

예상되는 레코드 수(--estimated-size)

--estimated-size 옵션은 언로드할 데이터베이스의 레코드 저장을 위한 해시 메모리를 사용자 임의로 할당하기 위한 옵션이다. 만약 --estimated-size 옵션이 지정되지 않으면 최근의 통계 정보를 기반으로 데이터베이스의 레코드 수를 결정하게 되는데, 만약 최근 통계 정보가 갱신되지 않았거나 해시 메모리를 크게 할당하고 싶은 경우 이 옵션을 이용할 수 있다. 따라서, 옵션의 인수로 너무 적은 레코드 개수를 정의한다면 해시 충돌로 인해 언로드 성능이 저하된다.

cubrid unloaddb --estimated-size 1000 demodb

캐시되는 페이지 수(--cached-pages)

--cached-pages는 메모리에 캐시되는 테이블의 페이지 수를 지정하기 위한 옵션이다. 각 페이지는 4,096 바이트이며, 관리자는 메모리의 크기와 속도를 고려하여 캐시되는 페이지 수를 지정할 수 있다. 만약, 이 옵션이 지정되지 않으면 디폴트 값은 100페이지가 된다.

cubrid unloaddb --cached-pages 500 demodb

생성 파일명의 프리픽스 지정(--output-prefix)

--output-prefix는 언로드 작업에 의해 생성되는 스키마 파일과 객체 파일의 이름 앞에 붙는 prefix를 지정하기 위한 옵션이다. 예제를 수행하면 스키마 파일명은 abcd_schema가 되고, 객체 파일명은 abcd_objects가 된다. 만약, --output-prefix 옵션을 지정하지 않으면 언로드할 데이터베이스 이름이 prefix로 사용된다.

cubrid unloaddb --output-prefix abcd demodb