Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



데이터베이스 복사/이동

설명

cubrid copydb 유틸리티는 데이터베이스를 한 위치에서 다른 곳으로 복사 또는 이동하며, 인자로 원본 데이터베이스 이름과 새로운 데이터베이스 이름이 지정되어야 한다. 이때, 새로운 데이터베이스 이름은 원본 데이터베이스 이름과 다른 이름으로 지정되어야 하고, 새로운 데이터베이스에 대한 위치 정보는 databases.txt에 등록된다. cubrid copydb 유틸리티는 원본 데이터베이스가 정지 상태일 때(오프라인)에만 실행할 수 있다.

구문

cubrid copydb [options] src-database-name dest-database-name

 

options : [{--server-name=}host] [{-F |--file-path=}database_path ] [ {-L |--log-path=}log_path] [{-B |--lob-base-path=}lob_file_path] [{-E |--extended-volume-path=}path][{-i |--control-file=}FILE] [-r|--replace] [-d|--delete-source] [--copy-lob-path]

  • cubrid : CUBRID 서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • copydb : 원본 데이터베이스를 새로운 위치로 이동 또는 복사하는 명령이다.
  • options :  각 옵션에 관한 설명은 옵션 설명 및 예제를 참조한다. 옵션을 생략하면 원본 데이터베이스를 현재 작업 디렉터리에 복사한다.
  • src-database-name : 복사 또는 이동하고자 하는 원본 데이터베이스 이름이다.
  • dest-database-name : 새로운 데이터베이스 이름이다.
옵션

호스트 이름을 등록(--server-name)

새로운 데이터베이스의 서버 호스트 이름을 명시하며, 이는 databases.txtdb-host 항목에 등록된다. 이 옵션을 생략하면, 로컬 호스트가 등록된다.

cubrid copydb --server-name=cub_server1 demodb new_demodb

새로운 데이터베이스 볼륨을 특정 디렉터리에 저장(-F 또는 --file-path)

-F 옵션을 이용하여 새로운 데이터베이스 볼륨이 저장되는 특정 디렉터리 경로를 지정할 수 있다. 절대 경로로 지정해야 하며, 존재하지 않는 디렉터리를 지정하면 에러를 출력한다. 이 옵션을 생략하면 현재 작업 디렉터리에 새로운 데이터베이스의 볼륨이 생성된다. 이 경로는 databases.txtvol-path 항목에 등록된다.

cubrid copydb -F /home/usr/CUBRID/databases demodb new_demodb

새로운 데이터베이스 로그 볼륨을 특정 디렉터리에 저장(-L 또는 --log-path)

-L 옵션을 이용하여 새로운 데이터베이스 로그 볼륨이 저장되는 특정 디렉터리 경로를 지정할 수 있다. 절대 경로로 지정해야 하며, 존재하지 않는 디렉터리를 지정하면 에러를 출력한다. 이 옵션을 생략하면 새로운 데이터베이스 볼륨이 저장되는 경로에 로그 볼륨도 함께 생성된다. 이 경로는 databases.txtlog-path 항목에 등록된다.

cubrid copydb -L /home/usr/CUBRID/databases/logs demodb new_demodb

새로운 데이터베이스 확장 볼륨을 특정 디렉터리에 저장(-E 또는 --extended-volume-path )

-E 옵션을 이용하여 새로운 데이터베이스의 확장 정보 볼륨이 저장되는 특정 디렉터리 경로를 지정할 수 있다. 이 옵션을 생략하면 새로운 데이터베이스 볼륨이 저장되는 경로 또는 제어 파일에 등록된 경로에 확장 정보 볼륨이 저장된다. -i 옵션과 병행될 수 없다.

cubrid copydb -E home/usr/CUBRID/databases/extvols demodb new_demodb

디렉터리 정보가 저장된 입력 파일을 지정(-i 또는 --control-file)

대상 데이터베이스에 대한 복수 개의 볼륨들을 각각 다른 디렉터리에 복사 또는 이동하기 위해서, 원본 볼륨의 경로 및 새로운 디렉터리 경로 정보를 포함하는 입력 파일을 지정할 수 있다. 이때, -i 옵션은 -E 옵션과 병행될 수 없다. 아래 예제에서는 copy_path라는 입력 파일을 예로 사용했다.

cubrid copydb -i copy_path demodb new_demodb

다음은 각 볼륨들의 이름과 현재 디렉터리 경로, 그리고 새로 복사할 디렉터리 및 새로운 볼륨 이름을 포함하는 입력 파일의 예시이다.

# volid   source_fullvolname   dest_fullvolname

0 /usr/databases/demodb        /drive1/usr/databases/new_demodb

1 /usr/databases/demodb_data1  /drive1/usr/databases/new_demodb new_data1

2 /usr/databases/ext/demodb index1 /drive2//usr/databases/new_demodb new_index1

3 /usr/ databases/ext/demodb index2  /drive2/usr/databases/new_demodb new_index2

  • volid : 각 볼륨을 식별하기 위한 정수이며, 데이터베이스 볼륨 정보 제어 파일(database_name_vinf)를 통해 확인할 수 있다.
  • source_fullvolname : 원본 데이터베이스의 각 볼륨이 존재하는 현재 디렉터리 경로이다.
  • dest_fullvolname : 새로운 데이터베이스의 각 볼륨이 저장될 디렉터리 경로이며, 유효한 디렉터리를 지정해야 한다.

동일한 데이터베이스가 존재하면 덮어쓰기 실행 (-r 또는 --replace)

-r 옵션을 지정하면 새로운 데이터베이스 이름이 기존 데이터베이스 이름과 중복되더라도 에러를 출력하지 않고 덮어쓴다.

cubrid copydb -r -F /home/usr/CUBRID/databases demodb new_demodb

데이터베이스 복사 후 원본 데이터베이스를 삭제(-d 또는 --delete-source)

-d 옵션을 지정하면 새로운 데이터베이스로 복사한 후, 원본 데이터베이스를 제거한다. 이 옵션이 주어지면 데이터베이스 복사 후 cubrid deletedb를 수행하는 것과 동일하다. 단, 원본 데이터베이스에 LOB 데이터를 포함하는 경우, 원본 데이터베이스 대한 LOB 파일 디렉터리 경로가 새로운 데이터베이스로 복사되어 databases.txtlob-base-path 항목에 등록된다.

cubrid copydb -d -opyhome/usr/CUBRID/databases demodb new_demodb

LOB 파일 디렉터리를 함께 복사 (--copy-lob-path)

--copy-lob-path 옵션을 지정하면 원본 데이터베이스에 대한 LOB 파일 디렉터리 경로를 새로운 데이터베이스의 LOB 파일 경로로 복사하고, 원본 데이터베이스를 복사한다. 이 옵션을 생략하면, LOB 파일 디렉터리 경로를 복사하지 않으므로, databases.txt 파일의 lob-base-path 항목을 별도로 수정해야 한다. -B 옵션과 병행할 수 없다.

cubrid copydb --copy-lob-path demodb new_demodb

LOB 파일 디렉터리를 새로 지정하면서 복사(-B 또는 --lob-base-path)

-B 옵션을 사용하여 특정 디렉터리를 새로운 데이터베이스에 대한 LOB 파일 디렉터리 경로를 지정하면서 원본 데이터베이스를 복사한다. --copy-lob-path 옵션과 병행할 수 없다.

cubrid copydb -B /home/usr/CUBRID/databases/new_lob demodb new_demodb