콘텐츠로 이동

CREATE DATABASE

CREATE DATABASE#

구문#

create_database ::=#

create_database_image92

전제 조건#

이 구문은 PROCESS 구동 단계에서만 수행할 수 있으므로, SYS 사용자가 -sysdba 모드로 실행한 iSQL에서만 실행할 수 있다.

설명#

데이터베이스를 생성하는 구문이다. 데이터베이스 생성시 딕셔너리 테이블스페이스(Dictionary Tablespace), 언두 테이블스페이스(Undo Tablespace), 임시 테이블스페이스(Temp Tablespace)등 다수의 시스템 테이블스페이스(System Tablespace)가 만들어진다. 생성되는 시스템 테이블스페이스는 시스템에 의해 정의된 이름과 Altibase 프로퍼티의 기본값을 갖는다.

사용자 정의 테이블스페이스는 이후에 사용자가 추가로 생성할 수 있다.

데이터베이스 생성시 데이터베이스 캐릭터 셋과 내셔널 캐릭터 셋을 반드시 지정해야 한다.

database_name#

생성할 데이터베이스 이름을 명시한다. 명시하는 데이터베이스 이름은 프로퍼티 파일에 DB_NAME프로퍼티로 지정한 이름과 동일해야 한다. 다른 경우에는 오류가 발생한다.

INITSIZE 절#

메모리 데이터베이스의 초기 크기를 나타내며, "128M" 또는 "4G" 등의 형식으로 사용할 수 있다. 단위 없이 숫자만 명시할 경우, 기본으로 MB(Mega Bytes) 단위로 지정된다.

디스크 데이터베이스와 관련된 시스템 테이블스페이스도 CREATE DATABASE문 수행 시에 자동으로 생성된다.

시스템 테이블스페이스에 대한 기본값들은 프로퍼티 파일에서 아래의 프로퍼티를 읽어서 결정된다.

  • SYS_DATA_TBS_EXTENT_SIZE, SYS_TEMP_TBS_EXTENT_SIZE, SYS_UNDO_TBS_EXTENT_SIZE
  • SYS_DATA_FILE_INIT_SIZE, SYS_TEMP_FILE_INIT_SIZE, SYS_UNDO_FILE_INIT_SIZE
  • SYS_DATA_FILE_MAX_SIZE, SYS_TEMP_FILE_MAX_SIZE, SYS_UNDO_FILE_MAX_SIZE
  • SYS_DATA_FILE_NEXT_SIZE, SYS_TEMP_FILE_NEXT_SIZE, SYS_UNDO_FILE_NEXT_SIZE

ARCHIVELOG | NOARCHIVELOG#

데이터베이스를 archive log 모드 또는 noachive log 모드로 운영할지를 명시한다. 아카이브로그 모드로 운영시 매체 복구에 대비할 수 있는 반면, 노아카이브로그 모드로 운영할 때에는 매체 복구가 불가능하다.

Altibase 백업과 복구에 대한 자세한 정보는 Administrator's Manual을 참고하기 바란다.

charset#

데이터베이스의 캐릭터 셋, 내셔날 캐릭터 셋을 지정한다.

지정 가능한 데이터베이스 캐릭터 셋#
  • US7ASCII
  • KO16KSC5601
  • MS949
  • BIG5
  • GB231280
  • MS936
  • UTF8
  • SHIFTJIS
  • MS932
  • EUCJP
지정 가능한 내셔널 캐릭터 셋#
  • UTF8
  • UTF16

예제#

<질의> 이름이 mydb이고, 데이터베이스 캐릭터 셋은 KSC5601, 내셔널 캐릭터 셋은 UTF16인 10 MB 크기의 데이터베이스를 생성하라.

$ isql -s localhost -u sys -p manager -sysdba
..
iSQL> STARTUP PROCESS;
Trying Connect to Altibase.. Connected with Altibase.

TRANSITION TO PHASE: PROCESS
Command execute success.
iSQL> CREATE DATABASE mydb INITSIZE=10M 
NOARCHIVELOG 
CHARACTER SET KSC5601 
NATIONAL CHARACTER SET UTF16;
.
Create success.