コマンド解説書

CREATE DATABASE

新しいデータベースを任意選択のユーザー定義照合順序で初期化し、3 つの初期表スペースを作成し、システム表を作成し、回復ログを割り振ります。

このコマンドはクライアントでは無効です。

効力範囲

マルチノード環境では、このコマンドは db2nodes.cfg ファイルにリストされているノードすべてに影響を与えます。

このコマンドを発行したノードは、新規データベースのカタログ・ノードになります。

許可

以下のどれかが必要です。

必須接続

インスタンス。 別の (リモート) ノードでデータベースを作成するには、 まずそのノードに接続する必要があります。 このコマンドの処理中、データベース接続が一時的に確立します。

コマンド構文

>>-CREATE----+-DATABASE-+--database-name------------------------>
             '-DB-------'
 
>-----+------------------------------+-------------------------><
      +-AT NODE----------------------+
      '-| Create Database options |--'
 
Create Database options
 
|---+----------------+---+------------------------+------------->
    '-ON--+-path--+--'   '-ALIAS--database-alias--'
          '-drive-'
 
>-----+-----------------------------------------------+--------->
      '-USING CODESET--codeset--TERRITORY--territory--'
 
>-----+-----------------------------------+--------------------->
      |                .-SYSTEM--------.  |
      '-COLLATE USING--+-COMPATIBILITY-+--'
                       '-IDENTITY------'
 
>-----+-------------------+------------------------------------->
      '-NUMSEGS--numsegs--'
 
>-----+--------------------------------+------------------------>
      '-DFT_EXTENT_SZ--dft_extentsize--'
 
>-----+----------------------------------------+---------------->
      '-CATALOG TABLESPACE--| tblspace-defn |--'
 
>-----+-------------------------------------+------------------->
      '-USER TABLESPACE--| tblspace-defn |--'
 
>-----+------------------------------------------+-------------->
      '-TEMPORARY TABLESPACE--| tblspace-defn |--'
 
>-----+-------------------------+-------------------------------|
      '-WITH--"comment-string"--'
 
tblspace-defn
 
|---MANAGED BY-------------------------------------------------->
 
                         .-,--------------------.
                         V                      |
>-----+-SYSTEM USING--(-----'container-string'--+---)-------------------------------------+>
      |                    .-,-----------------------------------------------------.      |
      |                    V                                                       |      |
      '-DATABASE USING--(------+-FILE---+---'container-string'---number-of-pages---+---)--'
                               '-DEVICE-'
 
>-----+------------------------------+-------------------------->
      '-EXTENTSIZE--number-of-pages--'
 
>-----+--------------------------------+------------------------>
      '-PREFETCHSIZE--number-of-pages--'
 
>-----+-----------------------------------+--------------------->
      '-OVERHEAD--number-of-milliseconds--'
 
>-----+---------------------------------------+-----------------|
      '-TRANSFERRATE--number-of-milliseconds--'
 

注:

  1. 指定されるコード設定およびテリトリー値は有効な組み合わせでなければなりません。 有効な組み合わせのリストについては、概説およびインストール 資料のいずれかを参照してください。

  2. tblspace-defn パラメーターの詳細については、 SQL 解説書 の CREATE TABLESPACE ステートメントを参照してください。 CREATE DATABASE で指定した表スペース定義は、 データベースを作成しているすべてのノードに適用されます。 定義をノードごとに個別に指定することはできません。 表スペース定義を特定のノードごとに異なるものにして作成する場合、 CREATE TABLESPACE ステートメントを使用しなければなりません。

    表スペースにコンテナーを定義する場合、$N を使用できます。 $N は、コンテナーが実際に作成されるときにノード番号で置き換えられます。 これは、ユーザーが複数の論理ノード・データベースでコンテナーを指定する場合に必要です。

コマンド・パラメーター

DATABASE database-name
新しいデータベースに割り当てられる名前。 ローカル・データベース・ディレクトリーまたはシステム・データベース・ディレクトリーの他のデータベースから、 そのデータベースを区別する、固有の名前でなければなりません。 名前は、データベースの命名規則に適合していることが必要です。

AT NODE
データベースが、コマンドを発行したノードでのみ作成されることを指定します。 このパラメーターは、通常の使用を意図したものではありません。 たとえば、あるノードでデータベース区画が損傷を受けたため再作成する必要がある場合、 このパラメーターを RESTORE DATABASEとともに使用します。 このパラメーターの使用が不適切であると、システム内に不整合が生じることもありえますので、 ご使用の際には十分注意してください。

注:(損傷を受けたために) 消去されたデータベース区画の再作成にこのパラメーターを使用する場合、 このノードのデータベースは復元の保留状態になります。 データベース区画を再作成した後で、データベースはただちにこのノードで復元されます。

ON path/drive
UNIX ベースのシステムでは、データベースを作成するパスを指定します。 パスを指定しないと、データベースはデータベース・マネージャー構成ファイル (dftdbpath パラメーター) に指定されている省略時値のデータベース・パスに作成されます。 最大長は 205 文字です。 OS/2 または Windows オペレーティング・システムでは、 データベースを作成するドライブの文字を指定します。

注:MPP システムでは、データベースを NFS マウント・ディレクトリーに作成しないようにしてください。 パスを指定しない場合、dftdbpath データベース・マネージャー構成パラメーターが NFS マウント・パスに設定されていないことを確認してください (たとえば、 UNIX ベースのシステムの場合は、パラメーターがインスタンス所有者の $HOME ディレクトリーを指定しないようにします)。 MPP システムでは、このコマンドに相対パスを指定することはできません。

ALIAS database-alias
システム・データベース・ディレクトリーのデータベースに付けられる別名。 別名が付けられないと、指定されたデータベース名が使用されます。

USING CODESET codeset
このデータベースに入るデータに使用するコード設定を指定します。

TERRITORY territory
このデータベースに入るデータに使用するテリトリーを指定します。

COLLATE USING
データベースに使用する照合順序のタイプを識別します。 一度データベースが作成してしまうと、照合順序を変更することはできません。

COMPATIBILITY
DB2 バージョン 2 の照合順序です。 一部の照合表が拡張されています。 このオプションは、それらの表の直前のバージョンを使用することを指定します。

IDENTITY
ストリングがバイト単位で比較される、照合順序を認識します。

SYSTEM
現行のテリトリーに基づいた照合順序。

データベース照合順序が使用される方法の詳細については、 SQL 解説書 を参照してください。

NUMSEGS numsegs
省略時 SMS 表スペース用に DAT、IDX、LF、LB、 および LBA ファイルを保管する際に作成および使用するセグメント・ディレクトリーの数を指定します。 このパラメーターは、DMS 表スペース、 作成特性が明示的に指定された SMS 表スペース (データベース作成時に作成される)、 またはデータベース作成後に明示的に作成された SMS 表スペースには影響を与えません。

DFT_EXTENT_SZ dft_extentsize
データベース内の表スペースの省略時エクステント・サイズを指定します。

CATALOG TABLESPACE tblspace-defn
カタログ表 SYSCATSPACE を保持する、 表スペースの定義を指定します。 指定しないと、SYSCATSPACE はディレクトリーの numsegs 数をコンテナーとして使用し、 また dft_extentsize のエクステント・サイズを使用して、 システム管理スペース (SMS) 表スペースとして作成されます。 たとえば、numsegs5 を指定した場合、 以下のコンテナーが作成されます。

   /u/smith/smith/NODE0000/SQL00001/SQLT0000.0 
   /u/smith/smith/NODE0000/SQL00001/SQLT0000.1 
   /u/smith/smith/NODE0000/SQL00001/SQLT0000.2 
   /u/smith/smith/NODE0000/SQL00001/SQLT0000.3 
   /u/smith/smith/NODE0000/SQL00001/SQLT0000.4 

MPP システムの場合、カタログ表スペースはカタログ・ノード (CREATE DATABASE を発行するノード) でのみ作成されます。

USER TABLESPACE tblspace-defn
初期ユーザー表スペース USERSPACE1 の定義を指定します。 指定しないと、USERSPACE1 はコンテナーとしてディレクトリーの numsegs 数を使用し、 また dft_extentsize のエクステント・サイズを使用して、 SMS 表スペースとして作成されます。 たとえば、numsegs5 を指定した場合、 以下のコンテナーが作成されます。

   /u/smith/smith/NODE0000/SQL00001/SQLT0001.0 
   /u/smith/smith/NODE0000/SQL00001/SQLT0001.1 
   /u/smith/smith/NODE0000/SQL00001/SQLT0001.2 
   /u/smith/smith/NODE0000/SQL00001/SQLT0001.3 
   /u/smith/smith/NODE0000/SQL00001/SQLT0001.4 

TEMPORARY TABLESPACE tblspace-defn
初期システム一時表スペース、TEMPSPACE1 の定義を指定します。 指定しないと、TEMPSPACE1 はディレクトリーの numsegs 数をコンテナーとして使用し、 また dft_extentsize のエクステント・サイズを使用して、 SMS 表スペースとして作成されます。 たとえば、numsegs5 を指定した場合、 以下のコンテナーが作成されます。

   /u/smith/smith/NODE0000/SQL00001/SQLT0002.0 
   /u/smith/smith/NODE0000/SQL00001/SQLT0002.1 
   /u/smith/smith/NODE0000/SQL00001/SQLT0002.2 
   /u/smith/smith/NODE0000/SQL00001/SQLT0002.3 
   /u/smith/smith/NODE0000/SQL00001/SQLT0002.4 

WITH "comment-string"
データベース・ディレクトリー内のデータベース項目について記述します。 そのデータベースについての記述を補足する、任意の注釈を入力することができます。 最大長は 30 文字です。 復帰文字や改行文字は許可されません。 注釈テキストは、単一引用符または二重引用符で囲む必要があります。

使用上の注意

CREATE DATABASE には以下の特徴があります。

dbadm 権限を使用すると、 これらの権限を他のユーザーまたは PUBLIC に付与 (または取り消し) することができます。

データベース上の sysadm 権限、 または dbadm 権限を持つ別の管理者がそれらの特権を取り消す場合でも、 データベース作成者はそれらを保存します。

MPP 環境では、データベース・マネージャーが、 すべてのノードの指定したパスまたは省略時パスの下にサブディレクトリーの $DB2INSTANCE/NODExxxx を作成します。 xxxxdb2nodes.cfg ファイルで定義されたノード番号です (つまり、ノード 0 が NODE0000 になる)。 サブディレクトリー SQL00001SQLnnnnn は、 このパスに常駐します。 これにより、異なるノードに関連したデータベース・オブジェクトが異なるディレクトリーに (指定したパスまたは省略時パスの下のサブディレクトリー $DB2INSTANCE が、 すべてのノードで共通だとしても) 保管されることが保証されます。

LDAP (Lightweight Directory Access Protocol) サポートが現行のマシン上で使用可能である場合、 データベースは自動的に LDAP ディレクトリーに登録されます。 同じ名前のデータベース・オブジェクトがすでに LDAP ディレクトリーに存在している場合でも、 データベースはローカル・マシンに作成されますが、 名前の対立があることを示す警告メッセージが戻されます。 この場合、ユーザーは CATALOG LDAP DATABASE を使用して、 LDAP データベース・エントリーを手動でカタログ化することができます。

CREATE DATABASE は、アプリケーションがすでにデータベースに接続されている場合、 失敗します。

CATALOG DATABASE を使用して、新しいデータベースに異なる別名を定義してください。

以下も参照

BIND

CATALOG DATABASE

DROP DATABASE


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]