Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

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



사용 공간 정리

설명

cubrid compactdb 유틸리티는 데이터베이스 볼륨 중에 사용되지 않는 공간을 확보하기 위해서 사용된다. 데이터베이스 서버가 정지된 경우(offline)에는 독립 모드(stand-alone mode)로, 데이터베이스가 구동 중인 경우(online)에는 클라이언트 서버 모드(client-server mode)로 공간 정리 작업을 수행할 수 있다.

cubrid compactdb 유틸리티는 삭제된 객체들의 OID와 클래스 변경에 의해 점유되고 있는 공간을 확보한다. 객체를 삭제하면 삭제된 객체를 참조하는 다른 객체가 있을 수 있기 때문에 삭제된 객체에 대한 OID는 바로 사용 가능한 빈 공간이 될 수 없다. cubrid compactdb 유틸리티를 수행하면 삭제된 객체에 대한 참조를 NULL로 표시하는데, 이렇게 NULL로 표시된 공간은 OID가 재사용할 수 있는 공간임을 의미한다.

구문

cubrid compactdb options database_name [class_name1, class_name2, ...]

options : [-v | --verbose] [-S | --SA-mode | -C | --CS-mode]

  • cubrid : 큐브리드 서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • compactdb : 대상 데이터베이스에 대하여 삭제된 데이터에 할당되었던 OID가 재사용될 수 있도록 공간을 정리하는 명령으로서, 데이터베이스가 구동 정지 상태인 경우에만 정상적으로 수행된다.
  • options : -v, -S, -C 옵션을 제공하며, 클라이언트/서버 모드에서만 -I, -i, -c, -d, -p 옵션을 사용할 수 있다.
  • database_name : 공간을 정리할 데이터베이스의 이름이며, 데이터베이스가 생성될 디렉터리 경로명을 포함하지 않는다.
  • class_name_list : 공간을 정리할 테이블 이름 리스트를 데이터베이스 이름 뒤에 직접 명시할 수 있으며, -i 옵션과 함께 사용할 수 없다. 클라이언트/서버 모드에서만 명시할 수 있다.
 옵션

작업 중 메시지 상세 출력(-v)

-v 옵션을 이용하여 어느 클래스가 현재 정리되고 있는지, 얼마나 많은 인스턴스가 그 클래스를 위하여 처리되었는지를 알리는 메시지를 화면에 출력할 수 있다.

cubrid compactdb -v testdb

독립 모드(stand-alone) 실행(-S 또는 --SA-mode)

-S 옵션은 데이터베이스 서버가 구동 중단된 상태에서 독립 모드(standalone)로 공간 정리 작업을 수행하기 위해 지정되며, 인수는 없다. -S 옵션을 지정하지 않으면, 시스템은 클라이언트/서버 모드로 인식한다.

cubrid compactdb --SA-mode testdb

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

-C 옵션은 데이터베이스 서버가 구동 중인 상태에서 클라이언트/서버 모드로 공간 정리 작업을 수행하기 위해 지정되며, 인수는 없다. -C 옵션이 생략되더라도 시스템은 기본적으로 클라이언트/서버 모드로 인식한다. 다은은 클라이언트/서버 모드에서만 사용할 수 있는 옵션이다.

  • -i, --input-class-file=FILE : 이 옵션을 사용하여 대상 테이블 이름을 포함하는 입력 파일 이름을 지정할 수 있다. 라인 당 하나의 테이블 이름을 명시하며, 유효하지 않은 테이블 이름은 무시된다. 이 옵션을 지정하는 경우, 데이터베이스 이름 뒤에 대상 테이블 이름 리스트를 직접 명시할 수 없으므로 주의한다.
  • -p, --pages-commited-once=NUMBER : 이 옵션을 사용하여 한 번에 커밋할 수 있는 최대 페이지 수를 지정할 수 있다. 기본값은 10이며, 최소 값은 1, 최대 값은 10이다. 옵션 값이 작으면 클래스/인스턴스에 대한 잠금 비용이 작으므로 동시성은 향상될 수 있으나 작업 속도는 저하될 수 있고, 옵션 값이 크면 동시성은 저하되나 작업 속도는 향상될 수 있다.
  • -d, --delete-old-repr : 이 옵션을 사용하여 카탈로그에서 과거 테이블 표현을 삭제할 수 있다.
  • -I, --Instance-lock-timeout : 이 옵션을 사용하여 인스턴스 잠금 타임아웃 값을 지정할 수 있다. 기본값은 2(초)이며, 최소 값은 1, 최대 값은 10이다. 설정된 시간동안 잠금 인스턴스를 대기하므로, 옵션 값이 작을수록 작업 속도는 향상될 수 있으나 처리 가능한 인스턴스 개수가 적어진다. 반면, 옵션 값이 클수록 작업 속도는 저하되나 더 많은 인스턴스에 대해 작업을 수행할 수 있다.
  • -c, --class-lock-timeout : 이 옵션을 사용하여 클래스 잠금 타임아웃 값을 지정할 수 있다. 기본값은 10(초)이며, 최소값은 1, 최대 값은 10이다. 설정된 시간동안 잠금 테이블을 대기하므로, 옵션 값이 작을수록 작업 속도는 향상될 수 있으나 처리 가능한 테이블 개수가 적어진다. 반면, 옵션 값이 클수록 작업 속도는 저하되나 더 많은 테이블에 대해 작업을 수행할 수 있다.
  • cubrid compactdb --CS-mode -p 10 testdb tbl1, tbl2, tbl5