CREATE DATABASE コマンド
CREATE DATABASE コマンドは、オプションのユーザー定義照合順序を使って新しいデータベースを初期化し、3 つの初期表スペースを作成し、システム表を作成し、リカバリー・ログ・ファイルを割り振ります。 新規のデータベースの初期化時には、AUTOCONFIGURE コマンドがデフォルトで発行されます。
CREATE DATABASE コマンドを発行すると、構成アドバイザーも自動的に実行されます。 これは、データベース構成パラメーターがシステムリソースに応じて自動的に調整されることを意味します。 さらに、自動化RUNSTATSが有効になります。 データベース作成時に構成アドバイザーの実行を無効にするには、DB2_ENABLE_AUTOCONFIG_DEFAULT レジストリー変数を参照してください。 自動 RUNSTATSを無効にするには、 auto_runstats データベース構成パラメーターを参照してください。
単一パーティション・データベースの場合、アダプティブ・セルフチューニング・メモリーもデフォルトで有効になります。 デフォルトでアダプティブ・セルフチューニング・メモリーを無効にするには、self_tuning_memデータベース構成パラメーターを参照してください。 マルチパーティションデータベースの場合、AdaptiveSelf-Memoryはデフォルトでオフになっています。
CREATE DATABASE コマンドにコード・セットが指定されていない場合、許可される照合は、 SYSTEM、 IDENTITY_16BIT、 言語対応照合、および locale-sensistive-collation (SQLCODE -1083) です。 データベースのデフォルト・コード・セットは UTF-8 です。 データベースに特定のコード・セットとテリトリーが必要な場合は、必要なコード・セットとテリトリーを CREATE DATABASE コマンドで指定できます。
このコマンドはクライアントでは無効です。
範囲
パーティション・データベース環境では、このコマンドは、 db2nodes.cfg ファイルにリストされているすべてのデータベース・パーティションに影響します。
このコマンドを発行したデータベース・パーティションは、新規データベースのカタログ・データベース・パーティションになります。
許可
- SYSADM
- SYSCTRL
必要な接続
インスタンス。 データベースを別の (リモート) データベース・パーティション・サーバーに作成するには、最初にそのサーバーに接続する必要があります。 このコマンドの処理中、データベース接続が一時的に確立されます。
コマンド構文
- 指定されるコード・セットおよびテリトリー値の組み合わせは有効なものでなければなりません。
- コード・セットとテリトリーのどんな組み合わせでも照合順序が有効になるとは限りません。
- CREATE DATABASE で指定した表スペース定義は、
データベースを作成しているすべてのデータベース・パーティションに適用されます。 定義をデータベース・パーティションごとに個別に指定することはできません。 特定のデータベース・パーティションで表スペース定義を異なる方法で作成する場合は、 CREATE TABLESPACE ステートメントを使わわなければなりません。
$ Nパラメーターは、表スペースのコンテナーが定義された場合に使用できます。 $ Nは、コンテナーの作成時にデータベースのパーティション番号に置き換えられます。 この定義は、ユーザーが複数の論理区画データベースのコンテナーを指定する場合に必要です。
- AUTOCONFIGUREパラメーターにはSYSADM権限が必要です。
コマンド・パラメーター
- DATABASE database-name
- 新しいデータベースに割り当てられる名前。 これは、 ローカル・データベース・ディレクトリー または システム・データベース・ディレクトリー内の他のデータベースとデータベースを区別する固有の名前でなければなりません。 名前は、データベースの命名規則に適合していることが必要です。 特に、名前にはスペース文字を含めてはなりません。
- AT DBPARTITIONNUM
- データベースが、コマンドを発行したデータベース・パーティションでのみ作成されることを指定します。 新規のデータベースを作成するときには、このパラメーターを指定しないでください。 これは損傷したためにドロップしたデータベース・パーティションを再作成するために使用できます。 AT DBPARTITIONNUM パラメーターを指定して CREATE DATABASE コマンドを使用すると、このデータベース・パーティションのデータベースはリストア・ペンディング状態になります。 このデータベース・パーティション・サーバーのデータベースを即時にリストアしなければなりません。 このパラメーターは、通常の使用を意図したものではありません。 例えば、データベース・パーティション・サーバーのデータベース・パーティションに損傷があり、再作成する必要がある場合、RESTORE DATABASEコマンドで使用できます。 このパラメーターを不適切に使うと、システムに不整合問題が生じる可能性があるため、どうもご注意ください。
このパラメーターを使って、(損傷したために)ドロップされたデータベース・パーティションを再作成する場合、このデータベース・パーティションのデータベースは復元保留状態になります。 データベース・パーティションを再作成した後、このデータベース・パーティション上のデータベースをただちにリストアする必要があります。
- AUTOMATIC STORAGE NO | YES
- データベースの自動ストレージを明示的に無効または有効にすることを指定します。 デフォルト値は YES です。 AUTOMATIC STORAGE句が指定されない場合、自動ストレージはデフォルトで暗黙使用可能になります。
- NO
- データベースの自動ストレージは有効ではありません。 このパラメーターは、 Db2 pureScale® 環境では指定できません。
- YES
- データベースの自動ストレージが有効です。 デフォルトのストレージ・グループ IBMSTOGROUP が、SYSSTOGROUPS カタログ表に作成されます。 ストレージ・グループを変更するには、ALTER STOGROUP ステートメントを使用します。
重要: このパラメーターは非推奨であり、将来のリリースで削除される可能性があります。 いったん除去されると、AUTOMATIC STORAGE YESが唯一のオプションになります。 - ON path or drive
- このパラメーターの意味は、AUTOMATIC STORAGEパラメーターの値によって異なります。
- AUTOMATIC STORAGE NO が指定される場合、データベースの自動ストレージは閉じられます。 この場合、ONパラメーターの一部として含められるパスは1つのみで、データベース作成パスを指定します。 パスを指定しないと、データベースはデータベース・マネージャー構成ファイル (dftdbpath パラメーター) に指定されているデフォルトのデータベース・パスに作成されます。
- このオプションを指定しなかった場合、データベースの自動ストレージはデフォルトで有効になります。 この場合、複数のパスをコンマで区切ってここにリストできます。 これらのパスは、デフォルトのストレージ・グループIBMSTOGROUPに定義されたストレージ・パスと呼ばれ、自動ストレージ表スペースの表スペース・コンテナーの保持に使われます。 複数パーティション・データベースの場合、すべてのパーティションで同じストレージ・パスが使用されます。
DBPATH ONパラメーターは、データベースを作成するパスを指定します。 DBPATH ONパラメーターが指定されない場合、 ON パラメーターにリストされる最初のパスにデータベースが作成されます。 ONパスがパラメーターに指定されない場合、データベース・マネージャー構成ファイル (dftdbpath パラメーター) の指定デフォルトのデータベース・パスにデータベースが作成されます。 また、これはデフォルトのストレージ・グループに関連付けられた単一ストレージ・パスの場所としても使用されます。 指定パスにインスタンス名、データベースパーティション番号またはログストリームIDを取り組めないでください。 Db2 は、指定パスにこられを自動的に追加します。 たとえば、指定したパスが「/ home / dbuser」の場合、Db2が必要なサブディレクトリーを追加した後の最終パスは「/ home / dbuser / prod / NODE0000 /LOGSTREAM0000/」になります。
データベース・パスは、階層ディレクトリー構造が作成される場所です。 この構造は、データベースの操作に必要な以下のファイルを保持します。- バッファー・プール情報
- 表スペース情報
- ストレージ・パス情報
- データベース構成情報
- バックアップ、復元、表のロード、表の再編成、表スペースの変更、その他のデータベース変更に関する情報を含む履歴ファイル
- アクティブ・ログに関する情報があるログ制御ファイル
パスの最大長は 175 文字です。
パーティション・データベース環境の場合、 NFSマウント・ディレクトリーにデータベースを作成することはできません。 パスを指定しない場合は、 dftdbpath データベース・マネージャー構成パラメーターが NFSマウント・パスに設定されていないことを確認してください (例えば、UNIX オペレーティング・システムでは、インスタンス所有者の $HOME ディレクトリーを指定できません)。 パーティション・データベース環境 でこのコマンドに指定するパスを相対パスにすることはできません。 また、ON パラメーターに指定するすべてのパスは、すべてのデータベース・パーティションに存在していなければなりません。
データベース・パスまたはストレージ・パスが存在し、各データベース・パーティションにアクセス可能でなければなりません。
- DBPATH ON path or drive
自動ストレージが有効になっている場合、 DBPATH ON パラメーターは、データベース作成パスを指定します。 自動ストレージが有効になり、DBPATH ONパラメーターが指定されない場合、ONパラメーターにリストされる最初のパスにデータベースが作成されます。
データベース・パスの最大長は 215 文字、ストレージ・パスの最大長は 175 文字です。
指定パスにインスタンス名、データベースパーティション番号またはログストリームIDを取り組めないでください。 Db2 は、指定パスにこられを自動的に追加します。 たとえば、指定したパスが「/ home / dbuser」の場合、Db2が必要なサブディレクトリーを追加した後の最終パスは「/ home / dbuser / prod / NODE0000 /LOGSTREAM0000/」になります。
- ALIAS database-alias
- システム・データベース・ディレクトリー内のデータベースの別名。 別名が付けられないと、指定されたデータベース名が使用されます。
- USING CODESET codeset
- このデータベースに入るデータに使用するコード・セットを指定します。 データベースを作成した後は、指定のコード・セットを変更できません。
- TERRITORY territory
- このデータベースに入るデータに使用するテリトリー ID またはロケール ID を指定します。 データベースを作成した後は、指定のテリトリーを変更できません。 指定されるコード・セットおよびテリトリーまたはロケール値の組み合わせは有効なものでなければなりません。
- COLLATE USING
データベースに使用する照合順序のタイプを識別します。 データベースが作成されると、クエリシーケンスは変更できません。
Unicode データベースでは、カタログ表およびビューが、COLLATE USING 節に指定された照合とは関係なく、常に IDENTITY 照合によって作成されます。 非 Unicode データベースでは、カタログ表およびビューがデータベース照合によって作成されます。
- COMPATIBILITY
- Db2 バージョン 2 の照合順序です。 一部の照合表が拡張されました。 このパラメーターは、これらの表の前のバージョンを使用するように指定します。
- IDENTITY
- ストリングがバイト単位で比較される一致照合順序。
- IDENTITY_16BIT
- CESU-8 (Compatibility Encoding Scheme for UTF-16: 8-Bit) 照合シーケンス。Unicode Technical Report #26(Unicode Consortium Web サイト (www.unicode.org) で入手可能) によって指定されています。 このパラメーターは、Unicode データベースの作成時にのみ指定できます。
- language-aware-collation
- このパラメーターは、Unicode データベースにのみ使用できます。 データベース照合シーケンスは、Unicode 以外のデータベースに対する SYSTEM 照合に基づいています。 この文字列の形式は
SYSTEM_codepage_territory
でなければなりません。 指定文字列が無効である場合、データベースの作成は失敗します (SQLCODE -204; 目標紛失)。 詳しくは、 Unicode データの言語対応型照合を参照してください。注: CREATE DATABASE コマンドがバージョン 9.0 サーバーに対して実行される場合、このパラメーターは使用できません。 デフォルトでは、そのようなサーバー上の Unicode データベースは SYSTEM 照合を使用して作成されます。 - locale-sensitive-collation
- このパラメーターは、Unicode データベースにのみ使用できます。 詳細について、およびロケールに依存する UCA ベースの照合の命名については、
「Unicode 照合アルゴリズム・ベースの照合」
を参照してください。 指定された照合名が無効な場合、 CREATE DATABASE コマンドの実行は失敗します (SQLCODE -204)。 - NLSCHAR
- 特定のコードセットまたはテリトリー用固有照合ルールを使う組み込みの照合シーケンス。
このパラメーターは、タイ語コード・ページ (CP874) でのみ使用できます。 このパラメーターがタイ語以外の環境に指定される場合、コマンドは失敗し、理由コード4のエラーSQL1083Nを返します。
- SYSTEM
- このパラメーターは、データベースの作成時のデフォルトです。 Unicode 以外のデータベースの場合、照合シーケンスはデータベース・テリトリーをベースにします。 Unicode データベースの場合、このパラメーターはクライアントのコード・セットおよびテリトリーをベースとする言語認識照合にマップされます。 適切な言語対応照合がオフになる場合は、IDENTITY照合が使用されます。
- PAGESIZE integer
- データベース作成時のデフォルト・バッファー・プールのページ・サイズ、および初期表スペース (SYSCATSPACE、TEMPSPACE1、USERSPACE1) を指定します。 このパラメーターは、今後のすべての CREATE BUFFERPOOL および CREATE
TABLESPACE ステートメントのデフォルト・ページ・サイズも表します。 接尾部 K を持たない integer の有効値は、4096、8192、16384、または 32768 です。 接尾部 K を持つ integer の有効値は、4、8、16、または 32 です。 整数と接尾部 K の間には、スペースが少なくとも 1 つ必要です。 デフォルトは4096バイト (4K) のページ・サイズです。
オンライン・トランザクション処理 (OLTP) 環境には通常、4 KB または 8 KB のページ・サイズが適しています。分析用には、16 KB または 32 KB のページ・サイズが適しています。 カラム・オーガナイズ 表には、32 KB のページ・サイズが推奨されます。
- NUMSEGS numsegs
- デフォルトのSMS表スペースのデータベース表ファイルを保管するために作成、使用されるディレクトリー(表スペース・コンテナー)の数を指定します。 このパラメーターは、自動ストレージ表スペース、DMS 表スペース、作成特性が明示的に指定された SMS 表スペース (データベース作成時に作成される)、またはデータベース作成後に明示的に作成された SMS 表スペースには影響を与えません。
- DFT_EXTENT_SZ dft_extentsize
- データベース内の表スペースのデフォルト・エクステント・サイズを指定します。
- RESTRICTIVE
- RESTRICTIVEパラメーターがある場合、restrict_accessデータベース構成パラメーターが YES に設定され、権利または権限は自動的にPUBLICに付与されません。 RESTRICTIVEパラメーターがない場合、restrict_accessデータベース構成パラメーターはNO に設定され、権限は自動的に PUBLIC に付与されます。 特権について詳しくは、 データベース作成時に付与されるデフォルト特権を参照してください。
- ENCRYPT
- データベースを暗号化することを指定します。 暗号化の対象には、すべてのシステム表スペース、ユーザー表スペース、TEMPORARY 表スペース、および索引と、すべてのトランザクション・ログ、データが含まれます。 長形式フィールド・データ、LOB、XML データを含め、これらの表スペース内のすべてのデータ・タイプが暗号化されます。
- CIPHER
- データベースの暗号化に使用する暗号化アルゴリズムを指定します。 FIPS 140-2 で認定された以下のオプションのいずれかを選択できます。
- AES
- Advanced Encryption Standard (AES) アルゴリズム。 このアルゴリズムがデフォルトです。
- 3DES
- Triple Data Encryption Standard (3DES) アルゴリズム。
- MODE CBC
- データベースの暗号化に使用する暗号化アルゴリズム・モードを指定します。 CBC (暗号化ブロック・チェーン) がデフォルト・モードです。
- KEY LENGTH key-length
- データベースの暗号化に使用する鍵の長さを指定します。 長さは、ビット単位で指定する以下のいずれかの値にすることができます。
- 128
- AES でのみ使用可能。
- 168
- 3DES でのみ使用可能。
- 192
- AES でのみ使用可能。
- 256
- AES でのみ使用可能。このキーの長さはデフォルトです。
- MASTER KEY LABEL
- データベースの暗号化に使用する鍵を保護するために使用するマスター鍵のラベルを指定します。 マスター鍵を使用する暗号化に使用される暗号化アルゴリズムは、必ず AES です。 マスター鍵を Db2 データ・サーバーで自動生成する場合は、必ず 256 ビットの鍵になります。
- label-name
- keystore_location データベース・マネージャー構成パラメーターの値に識別されるキーストアのマスターキーをユニーク的に識別します。 label-name の最大長は 255 バイトです。
マスター鍵ラベルを指定しない場合は、データベース・マネージャーによってマスター鍵ラベルが自動生成され、マスター鍵が生成されて鍵ストアに挿入されます。
注:allow_key_insert_without_ keystore_backup構成ノブがオフになる場合、自動生成マスターキーは使用できません。
- CATALOG TABLESPACE tblspace-defn
- カタログ表SYSCATSPACEを保持する表スペースの定義を指定します。 指定されておらず、データベースに対して自動ストレージが使用可能になっていない場合、SYSCATSPACEは、コンテナーとしてのディレクトリーの数と DFT_EXTENTSIZEエクステント・サイズが.のシステム管理スペースNUMSEGS(SMS)表スペースとして作成されます。 例えば、NUMSEGSが5に指定される場合、以下のコンテナーが作成されます。
/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
指定されておらず、データベースに対して自動ストレージが使用可能になっている場合、SYSCATSPACEは、定義ストレージ・パスに作成されたコンテナーとともに自動ストレージ表スペースとして作成されます。 この表スペースのエクステント・サイズは 4 です。 AUTORESIZE、 INITIALSIZE、 INCREASESIZE、MAXSIZEの適切値が自動的に設定されます。
表スペース定義フィールドについて詳しくは、 CREATE TABLESPACE ステートメントを参照してください。
パーティション・データベース環境の場合、カタログ表スペースは カタログ・データベース・パーティション (CREATE DATABASE を発行するデータベース・パーティション) でのみ作成されます。
- USER TABLESPACE tblspace-defn
- 初期ユーザー表スペース USERSPACE1 の定義を指定します。 指定されておらず、データベースの自動ストレージが有効になっていない場合、USERSPACE1 は、NUMSEGSのディレクトリーをコンテナーとして、エクステント・サイズがDFT_EXTENTSIZEのSMS 表スペースとして作成されます。 例えば、NUMSEGSが5に指定される場合、以下のコンテナーが作成されます。
/u/smith/smith/NODE0000/SQL00001/SQLT0001.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
指定されておらず、データベースの自動ストレージが有効になっている場合、USERSPACE1は、定義されたストレージ・パスにコンテナーが作成された自動ストレージ表スペースとして作成されます。 この表スペースのエクステント・サイズはDFT_EXTENTSIZEです。 AUTORESIZE、 INITIALSIZE、 INCREASESIZE、MAXSIZEの適切値が自動的に設定されます。
表スペース定義フィールドについて詳しくは、 CREATE TABLESPACE ステートメントを参照してください。
- TEMPORARY TABLESPACE tblspace-defn
- 初期 SYSTEM TEMPORARY 表スペース、TEMPSPACE1 の定義を指定します。 指定されておらず、データベースの自動ストレージが有効になっていない場合、TEMPSPACE1 は、NUMSEGSのディレクトリーをコンテナーとして、エクステント・サイズがDFT_EXTENTSIZEの SMS 表スペースとして作成されます。 例えば、NUMSEGSが5に指定される場合、以下のコンテナーが作成されます。
/u/smith/smith/NODE0000/SQL00001/SQLT0002.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
指定されておらず、データベースの自動ストレージが有効になっている場合、TEMPSPACE1は、定義ストレージ・パスにコンテナーが作成された自動ストレージ表スペースとして作成されます。 この表スペースのエクステント・サイズはDFT_EXTENTSIZEです。
表スペース定義フィールドについて詳しくは、 CREATE TABLESPACE ステートメントを参照してください。
- tblspace-defn
次のコマンド・パラメーターを使用して、様々な表スペース定義を指定できます。 Db2 pureScale 環境では、 MANAGED BY AUTOMATIC STORAGE のみを使用できます。
- MANAGED BY
- SYSTEM USING container-string
- 表スペースが SMS 表スペースになることを指定します。 表スペースのタイプが指定されていない場合、デフォルトの動作として REGULAR 表スペースを作成します。重要: USER TABLESPACE 仕様では、MANAGED BY SYSTEM は非推奨になっており、将来のリリースで除去される可能性があります。 代わりに、MANAGED BY AUTOMATIC STORAGE を使用してください。
SMS 表スペースの場合、表スペースに属し、表スペース・データが保存されている1つ以上のコンテナーを識別します。 container-stringは240 バイトを超えてはなりません。
各 container-string は、絶対ディレクトリー名または相対ディレクトリー名にすることができます。
ディレクトリー名は、絶対パスでない場合は、データベース・ディレクトリーからの相対パスであり、データベース・ディレクトリーに物理的に関連付けられていないストレージへのパス名の別名 (UNIX オペレーティング・システム上のシンボリック・リンク) にすることができます。 例えば、dbdir/work/c1は、他のファイル・システムへのシンボリック・リンクである場合があります。
ディレクトリー名のコンポーネントで存在しないものがあれば、データベース・マネージャーによって作成されます。 表スペースがドロップされると、データベース・マネージャーによって作成されたすべてのコンポーネントが削除されます。 container-string で識別されるディレクトリーが存在する場合、それにファイルまたはサブディレクトリーを含めてはなりません (SQLSTATE 428B2)。
container-string の形式は、オペレーティング・システムによって異なります。 Windows オペレーティング・システムでは、絶対ディレクトリー・パス名はドライブ名とコロン (:) で始まります。UNIX オペレーティング・システムでは、絶対パス名はスラッシュ (/) で始まります。 どのプラットフォームの相対パス名も、オペレーティング・システムに依存する文字で始まっていません。
リモート・リソース (LAN リダイレクト・ドライブや NFSマウント・ファイル・システムなど) は、現在、Windows Db2 サーバーで Network Appliance Filers、 IBM® iSCSI、 IBM Network Attached Storage、Network Appliance iSCSI、NEC iStorage S2100、 S2200、 S4100、または NEC Storage NS シリーズを使用している場合にのみサポートされます。注: NEC Storage NS Series は、無停電電源装置 (UPS) の使用によってのみサポートされます。(スタンバイではなく) 連続 UPS が推奨されます。 AIX® 上の NFSマウント・ファイル・システムは、 -o nointr パラメーターを使用して無割り込みモードでマウントする必要があります。 - DATABASE USING
- 表スペースが DMS 表スペースになることを指定します。 表スペースのタイプが指定されていない場合、デフォルトの動作として LARGE 表スペースを作成します。重要: USER TABLESPACE 仕様では、MANAGED BY DATABASE は非推奨になっており、将来のリリースで除去される可能性があります。 代わりに、MANAGED BY AUTOMATIC STORAGE を使用してください。
DMS 表スペースの場合、表スペースに属し、表スペース・データが保存される 1 つ以上のコンテナーを識別します。 コンテナーのタイプ (FILEまたはDEVICE)とそのサイズ(PAGESIZEページ)が指定されます。 FILEコンテナーとDEVICEコンテナーを組み合わせて指定できます。 container-string は254バイトを超えてはなりません。
リモート・リソース (LAN リダイレクト・ドライブや NFSマウント・ファイル・システムなど) は、現在、Windows Db2 サーバーで Network Appliance Filers、 IBM iSCSI、 IBM Network Attached Storage、Network Appliance iSCSI、NEC iStorage S2100、 S2200、 S4100、または NEC Storage NS シリーズを使用している場合にのみサポートされます。注: NEC Storage NS Series は、無停電電源装置 (UPS) の使用によってのみサポートされます。(スタンバイではなく) 連続 UPS が推奨されます。すべてのコンテナーはすべてのデータベース間で固有でなければなりません。 コンテナーは 1 つの表スペースにのみ属することができます。 コンテナーのサイズは異なることがあります。しかし、すべてのコンテナーが同じサイズの場合に最適のパフォーマンスが実現します。 container-string の正しい形式は、オペレーティング・システムによって異なります。
- FILE container-string number-of-pages
FILE コンテナーの場合、container-string は、 絶対ファイル名または相対ファイル名でなければなりません。 ファイル名が絶対ファイル名でない場合、データベース・ディレクトリーに対して相対的です。 ディレクトリー名のコンポーネントで存在しないものがあれば、データベース・マネージャーによって作成されます。 ファイルがない場合は、データベース・マネージャーに作成、指定されたサイズに初期化されます。 表スペースがドロップされると、データベース・マネージャーによって作成されたすべてのコンポーネントが削除されます。
注: ファイルが存在する場合は上書きされ、指定されたサイズより小さい場合は拡張されます。 ファイルが指定サイズより大きい場合、ファイルは切り捨てられません。- DEVICE container-string number-of-pages
- DEVICEコンテナーである場合、container-stringは装置名でなければならず、存在しなければなりません。
- AUTOMATIC STORAGE
- 表スペースが自動ストレージ表スペースになることを指定します。 ストレージ・グループが定義されていないと、エラーが返されます (SQLSTATE 55060)。
自動ストレージ表スペースは、TEMPORARY 表スペースである場合はシステム管理スペース (SMS) 表スペースとして作成され、 永続表スペースである場合はデータベース管理スペース (DMS) 表スペースとして作成されます。 DMS 表スペースのタイプが指定されていない場合、デフォルトの動作として LARGE 表スペースが作成されます。 自動ストレージ表スペースを使用すると、データベース・マネージャーはデータベースに関連付けられたストレージ・パスに基づいて、表スペースに割り当てられるコンテナーを判別します。
- EXTENTSIZE number-of-pages
- コンテナーに書き込まれるPAGESIZEページ数を指定します。このページ数を超えると、次のコンテナーにスキップされます。 このエクステント・サイズ値は、後に K (K バイトの場合)、または M (M バイトの場合)
を付けた整数値として指定することもできます。 このように指定した場合、バイト数をページ・サイズで割った値を下限に丸めたものを使用してエクステント・サイズの値が決定されます。 データベース・マネージャーは、データが保管されると、コンテナーについてこの処理を繰り返し実行します。
デフォルト値は、2-256 ページの有効な範囲を持つdft_extent_szデータベース構成パラメーターに提供されます。
- PREFETCHSIZE number-of-pages
- データ・プリフェッチの実行中に表スペースから読み取られるPAGESIZEページ数を指定します。 このプリフェッチ・サイズ値は、後に K (K バイトの場合)、M (M バイトの場合)、 または G (G バイトの場合) を付けた整数値としても指定できます。 このように指定した場合、バイト数をページ・サイズで割った値を下限に丸めたものを使用してプリフェッチ・サイズのページ数の値が決定されます。
- OVERHEAD number-of-milliseconds
- 入出力コントローラー使用量、ディスク・シーク、および待ち時間を指定するミリ秒単位の数値。 この値を使用して、照会最適化時の入出力のコストを判別します。 number-of-milliseconds の値は数値リテラル (整数、10 進数、または浮動小数点数) です。 この値がすべてのコンテナーで同じでない場合、その数は表・スペースに属するすべてのコンテナーの平均値になります。
バージョン 9 以上で作成されたデータベースの場合、デフォルトの入出力コントローラーの使用量、ディスク・シーク、および待ち時間は 7.5 ミリ秒です。 Db2 の前のバージョンからバージョン 9 以上にアップグレードされたデータベースの場合、デフォルトは 12.67 ミリ秒です。
- TRANSFERRATE number-of-milliseconds
- 1 ページをメモリーに読み込むための時間を指定します。 この値を使用して、照会最適化時の入出力のコストを判別します。 number-of-milliseconds の値は数値リテラル (整数、10 進数、または浮動小数点数) です。 この値がすべてのコンテナーで同じでない場合、その数は表・スペースに属するすべてのコンテナーの平均値になります。
バージョン 9 以上で作成されたデータベースの場合、1 ページをメモリーに読み込むためのデフォルト時間は 0.06 ミリ秒です。 Db2 の前のバージョンからバージョン 9 以上にアップグレードされたデータベースの場合、デフォルトは 0.18 ミリ秒です。
- NO FILE SYSTEM CACHING
- すべての入出力操作がファイル・システム・レベルのキャッシュを迂回することを指定します。 詳しくは、 ファイル・システム・キャッシングを使用しない表スペース を参照してください。 ほとんどの構成では、このパラメーターはデフォルトです。 詳しくは、
ファイル・システム・キャッシング構成
を参照してください。 - FILE SYSTEM CACHING
- ターゲット表スペースでのすべての入出力操作がファイル・システム・レベルでキャッシュに入れられることを指定します。 詳しくは、 ファイル・システム・キャッシングを使用しない表スペース を参照してください。 これは、一部の構成におけるデフォルト・パラメーターです。 詳しくは、 ファイル・システム・キャッシング構成 を参照してください。
- AUTORESIZE
- DMS 表スペースまたは自動ストレージ表スペースの自動サイズ変更機能が有効かどうかを指定します。 自動サイズ変更可能表スペースは、いっぱいになると、サイズを自動的に大きくします。 デフォルトは、DMS 表スペースの場合は NO、自動ストレージ表スペースの場合は YES です。
- NO
- DMS 表スペースまたは自動ストレージ表スペースの自動サイズ変更機能が閉じられるように指定します。
- YES
- DMS 表スペースまたは自動ストレージ表スペースの自動サイズ変更機能が有効であることを指定します。
- INITIALSIZE integer
- 自動ストレージ表スペースの初期サイズをデータベース・パーティションごとに指定します。 このパラメーターは、自動ストレージ表スペースに対してのみ有効です。 整数値の後に K (キロバイト)、M (メガバイト)、または G (ギガバイト) を指定する必要があります。 データベース・マネージャーは表スペースのコンテナー全体で一貫したサイズを維持しようとするため、実際値が指定値よりもわ少し小さい場合、 さらに、表スペースが自動サイズ変更可能であり、初期サイズが新しい表スペースに追加しなしなければならないメタデータを含むのに十分な大きさでない場合、データベース・マネージャーは、十分なスペースができるまで表スペースをINCREASESIZEの値だけ拡張し続けます。 INITIALSIZE節が指定されない場合は、データベース・マネージャーが適切な値を決定します。 integer の値は、少なくとも 48 K でなければなりません。
- K
- K (キロバイト)。
- M
- M (メガバイト)。
- G
- G (ギガバイト)。
- INCREASESIZE integer
- 表スペースが負荷制限になたとき、自動サイズ変更が有効になる表スペースが自動的に増加し、スペースの要求が行われるデータベース・パーティションごとの量を指定します。 整数値の後に次のいずれかを続ける必要があります。
- PERCENT。スペースの要求がなされた時点の表スペース・サイズのパーセンテージとして量を指定します。 PERCENT を指定する場合、整数値は 0 と 100 の間でなければなりません (SQLSTATE 42615)。
- K (K バイト)、M (M バイト)、または G (G バイト)。バイト単位で量を指定します。
注: データベース・マネージャーは、表スペース内のコンテナー間で一貫した増加を維持しようとするため、使用される実際の値は、指定された値より若干小さいか、または大きくなる可能性があります。 表スペースが自動サイズ変更可能であっても、INCREASESIZE 節が指定されていない場合、データベース・マネージャーが適切な値を判別します。- PERCENT
- 0 から 100 までのパーセント。
- K
- K (キロバイト)。
- M
- M (メガバイト)。
- G
- G (ギガバイト)。
- MAXSIZE
- 自動サイズ変更が有効な表スペースで、自動的に増加可能な最大サイズを指定します。 表スペースが自動サイズ変更可能であるが、MAXSIZE句が指定されない場合、デフォルトは NONEです。
- NONE
- 表スペースがファイル・システム容量または最大表スペース・サイズまで増加できることを指定します。
- integer
- DMS 表スペースまたは自動ストレージ表スペースが自動的に増加できるサイズのハード・リミットを、データベース・パーティションごとに指定します。 整数値の後に K (キロバイト)、M (メガバイト)、または G (ギガバイト) を指定する必要があります。注: データベース・マネージャーは、表スペース内のコンテナー間で一貫性のある増加を維持しようとするため、使用される実際の値は、指定された値より若干小さい場合があります。
- K
- K (キロバイト)。
- M
- M (メガバイト)。
- G
- G (ギガバイト)。
- WITH comment-string
- データベース・ディレクトリー内のデータベース項目について記述します。 そのデータベースについての記述を補足する、任意の注釈を入力することができます。 最大長は 30 文字です。 復帰文字または改行文字は使用できません。 コメント・テキストは、単一または二重の引用符で囲む必要があります。
- AUTOCONFIGURE
- ユーザー入力に基づいて、バッファー・プール・サイズ、データベース構成、
およびデータベース・マネージャー構成の推奨設定値を計算します (オプションでこれを適用することもできます)。 CREATE DATABASE コマンドを発行すると、デフォルトで構成アドバイザーが実行されます。 AUTOCONFIGUREパラメーターは、推奨値を微調整する場合にのみ必要です。
- USING input-keyword param-value
表 1. 有効な入力キーワードおよびパラメーター値 キーワード 有効値 デフォルト値 説明 mem_percent - 分析が有効になっていない場合、デフォルト値は 25 です。
- 分析が有効になっている場合、mem_percent はデフォルトで次の値の大きいほうになります。
- 25
- 80% をデータベース・インスタンス数で割った値
25 データベースに割り当てられているインスタンス・メモリーのパーセンテージ。 ただし、 CREATE DATABASE コマンドが構成アドバイザーを呼び出すときに、 mem_percentに値を指定しない場合、パーセンテージは、インスタンスとシステムのメモリー使用率に基づいて計算され、インスタンス・メモリーの最大 25% になります。 workload_type simple、 mixed、 complex 混合 単純 (simple) ワークロードは入出力集中の傾向があり大部分がトランザクションであるのに対し、 複雑 (complex) ワークロードは CPU 集中の傾向があり大部分が照会です。 num_stmts 1-1 000 000 25 作業単位ごとのステートメント数 tpm 1 から 200,000 60 1 分ごとのトランザクション admin_priority パフォーマンス、 リカバリー、 両方 BOTH より良いパフォーマンス (分あたりのより多いトランザクション数) またはより良いリカバリー時間のための最適化 num_local_apps 0-5 000 0 接続されたローカル・アプリケーションの数 リモート・アプリケーションの数 0-5 000 100 接続されたリモート・アプリケーションの数 isolation RR、 RS、 CS、 UR RR このデータベースに接続するアプリケーションの分離レベル (反復可能読み取り (RR)、読み取り固定 (RS)、 カーソル固定 (CS)、非コミット読み取り (UR)) bp_resizeable はい, いいえ はい バッファー・プールのサイズが変更可能かどうか。 - APPLY
- DB ONLY
- 現行のデータベース・マネージャーの構成に基づいて、 データベース構成およびバッファー・プール設定の推奨値を表示します。 データベース構成およびバッファー・プール設定に対して推奨される変更を適用します。
- DB AND DBM
- データベース・マネージャー構成、データベース構成、 およびバッファー・プール設定に対して推奨される変更を、表示および適用します。
- NONE
- 構成アドバイザー (デフォルトでは有効) を無効にします。
- CREATE DATABASE コマンドで AUTOCONFIGURE キーワードを指定した場合、 DB2_ENABLE_AUTOCONFIG_DEFAULT 変数値は考慮されません。 アダプティブ・セルフチューニング・メモリーと自動実行統計が有効になり、APPLY DBパラメーターまたはAPPLY DBMパラメーターに示されるように、構成アドバイザーがデータベース構成とデータベース・マネージャー構成のパラメーターを調整します。
- データベースで CREATE
DATABASE コマンドを使用して AUTOCONFIGURE パラメーターを指定すると、セルフチューニング・メモリー・マネージャーを使用可能にすることが推奨されます。 ただし、 sheapthres がゼロでないインスタンス内のデータベースに対して AUTOCONFIGURE コマンドを実行すると、ソート・メモリー・チューニング (sortheap) は自動的に有効になりません。 ソート・メモリー・チューニング (sortheap) を有効にするには、 UPDATE DATABASE MANAGER
CONFIGURATION コマンドを使用して sheapthres をゼロに設定する必要があります。注: sheapthres の値を変更すると、既存のデータベースのソート・メモリー使用量に影響する可能性があります。
- REPORT FOR
- パーティション・データベース環境または Db2 pureScale 環境で使用する場合にレポートに含めるメンバーを指定します。
- MEMBER -1
パーティション・データベース環境または Db2 pureScale 環境では、構成アドバイザーは、推奨される変更、または接続によって決定された現行メンバーに対して行われた変更を計算したメンバー・レベルの構成パラメーターを報告します。 REPORT FOR 節を指定しない場合は、これがデフォルトです。
- MEMBER -2
すべてのメンバーについて、構成アドバイザーが計算した推奨値または実行した変更を報告することを指定します。
- FOR MEMBER member-number1
構成アドバイザーが計算した推奨値または実行した変更を報告するメンバーの番号を指定します。
- FOR MEMBERS (member-number2…)
構成アドバイザーが計算した推奨値または実行した変更を報告する全メンバーの番号を指定します。
- INCLUDE SUMMARY
構成アドバイザに、計算された推奨事項に基づくすべてのメンバーグループの要約がレポートの一部として含まれていることを示します。 このオプションはデフォルトです。
- EXCLUDE SUMMARY
ConfigurationAdvisorにレポートの一部として要約が含まれていないことを示します。
例
- dftdbpath データベース・マネージャー構成パラメーターの値に指定されたドライブにデータベース TESTDB3 を作成します。 デフォルトでは、ストレージ・グループ IBMSTOGROUP はパスdftdbpathに作成されます。
CREATE DATABASE TESTDB3
- ドライブ C: (ストレージ・パス・リストの最初のドライブ) にデータベースTESTDB7を作成します。 ストレージ・グループ IBMSTOGROUP には、ストレージ・パスC:とD:があります。
CREATE DATABASE TESTDB7 ON C:,D:
- ドライブE:にデータベース TESTDB15 を作成します (明示的にDBPATHとしてリストされます)。 ストレージ・グループ IBMSTOGROUP には、ストレージ・パスC:とD:があります。
CREATE DATABASE TESTDB15 ON C:,D: DBPATH ON E:
- デフォルトの暗号化オプションを使用して、データベース MYDB を暗号化します。
CREATE DATABASE mydb ENCRYPT;
- 明示的に指定した暗号化オプションを使用して、データベース MYDB を暗号化します。 ラベル
mylabel.mydb.myinstance.myserver
がキーストアにあります。CREATE DATABASE mydb ENCRYPT CIPHER AES KEY LENGTH 192 MASTER KEY LABEL mylabel.mydb.myinstance.myserver;
使用上の注意
- 指定されたサブディレクトリーにデータベースを作成します。 パーティション・データベース環境では、db2nodes.cfgにリストされているすべてのデータベース・パーティションにデータベースを作成し、各データベース・パーティションで指定されたサブディレクトリーに $DB2INSTANCE/NODExxxxディレクトリーを作成します。 単一パーティション・データベース環境では、指定サブディレクトリーに $DB2INSTANCE/NODE0000ディレクトリーを作成します。
- システム・カタログ表およびリカバリー・ログを作成します。
- 次のデータベース・ディレクトリーにデータベースをカタログします。
- path で指定されたパス上のサーバーの ローカル・データベース・ディレクトリー 、または、パスが指定されていない場合は、 dftdbpath パラメーターでデータベース・マネージャー・システム構成ファイルに定義されたデフォルト・データベース・パス。 ローカル・データベース・ディレクトリーは、 データベースが入っている各ファイル・システムに常駐しています。
- アタッチされたインスタンスのサーバーの システム・データベース・ディレクトリー 。 結果のディレクトリーエントリには、データベース名とデータベース別名が含まれます。
コマンドがリモート・クライアントから発行された場合、クライアントの システム・データベース・ディレクトリー もデータベース名と別名で更新されます。
システムまたは ローカル・データベース・ディレクトリー (どちらも存在しない場合) を作成します。 指定されていれば、注釈およびコード・セット値は両方のディレクトリーに入れられます。
注: データベース構成パラメーター newlogpath が設定されていない場合、ログ・ファイルの場所のデフォルトの構成パラメーター logpath は、 DBPATH ON パラメーターによって示されるパスです。 データベース情報をデータベース・データから分離して保持するために自動ストレージが有効になっている場合は、 DBPATH ON パラメーターを使用することをお勧めします。 - 指定されたコード・セット、テリトリー、および照合順序を保管します。 照合順序が固有な重みで構成される場合、またはそれが識別順序である場合、 データベース構成ファイルにフラグが設定されます。
- SYSIBM を所有者として、 SYSCAT、SYSFUN、SYSIBM、および SYSSTAT というスキーマを作成します。 このコマンドを発行したデータベース・パーティション・サーバーは、新規データベースのカタログ・データベース・パーティションになります。 2 つのデータベース・パーティション・グループ (IBMDEFAULTGROUP および IBMCATGROUP) が自動的に作成されます。
- 以前に定義したデータベース・マネージャー・バインド・ファイルをデータベースにバインドします (これらのファイルは、ユーティリティー・バインド・ファイル・リスト db2ubind.lstにリストされています)。 これらのファイルの 1 つ以上が正常にバインドされない場合、 CREATE DATABASE は SQLCA に警告を戻し、失敗したバインドに関する情報を提供します。 バインドが失敗した場合、ユーザーは修正処置を行った後、失敗したファイルを手動でバインドできます。 データベースはどのような場合にでも作成されます。 RESTRICTIVEパラメーターが選択されていない場合、PUBLICに付与されたCREATEIN権限を使用してバインドを実行すると、NULLIDと呼ばれるスキーマが暗黙的に作成されます。ユーティリティー・バインド・ファイル・リストには、前のバージョンのサーバーに対してバインドできない 2 つのバインド・ファイルが含まれています。
- db2ugtpi.bnd は、Db2 バージョン 2 サーバーに対してバインドすることができません。
- db2dropv.bnd は、Db2 パラレル・エディション バージョン 1 サーバーに対してバインドすることができません。
- SYSCATSPACE、TEMPSPACE1、および USERSPACE1 表スペースを作成します。 SYSCATSPACE 表スペースはカタログ・データベース・パーティションでのみ作成されます。
- データベースの作成時に付与される特権について詳しくは、 データベースの作成時に付与されるデフォルト特権を参照してください。
- パーティション・マップのサイズは、データベース・マネージャーによって選択されます。 一度選択されたサイズは変更できません。 デフォルトでは、パーティション・マップには 32 個、768 個のエントリーがあります。 このサイズにより、多くのデータベースパーティションを持つクラスターのデータスキューを減らすことができます。 ただし、以下の非推奨 API は機能せず、 SQL2768N エラーを返します: sqlugtpi() および sqlugrpn()。 代わりに、 db2GetDistMap() および getRowPartNum()を使用できます。 非推奨の API が必要な場合は、データベースの作成前に DB2_PMAP_COMPATIBILITY レジストリー変数を設定します。 このレジストリー変数は、4,096 のパーティション・マップ・サイズを選択します。これにより、非推奨のAPIが機能できるようになります。
自動ストレージは、コンテナー定義を明示的に指定しなくても表スペースを作成できるストレージ・グループに関連付けられたストレージ・パスの集合です (詳しくは、 CREATE TABLESPACE ステートメント を参照してください)。 自動ストレージはデフォルトで有効になっていますが、データベースの作成時にデータベースに対して明示的に実行できます。 AUTOMATIC STORAGE NO パラメーターを指定することにより、データベース作成時に自動ストレージをオフにすることができます。
特定のデータベース・パーティションの自動ストレージ・パスの空き容量が計算されると、データベース・マネージャーは、ストレージ・パスに以下のディレクトリーまたはマウント・ポイントが存在するかどうかを確認し、最初に見つかったものを使用します。 そうすることで、ファイルシステムをストレージ・パスのポイントにマウントでき、データベース・マネージャーは、表スペース・コンテナーに使用可能な実際の空きスペースの量が、ストレージ・パス・ディレクトリー自体の関連量と同じになることはできないことを認識します。
- storage_path/instance_name/NODE####/database_name
- storage_path/instance_name/NODE####
- storage_path/instance_name
- storage_path/
内容は次の通りです。
- storage_path は、データベースに関連付けられたストレージ・パスです。
- instance_name は、データベースが置かれているインスタンスです。
- NODE#### は、データベース・パーティション番号 (例えば、NODE0000 または NODE0001) に対応します。
- database_name は、データベースの名前です。
例として、2つの論理データベース・パーティションが1つの物理マシンに存在し、データベースが単一のストレージ・パスに作成されるとします。/db2data. 各データベースパーティションはこのストレージパスを使用しますが、ユーザーは独自のファイルシステムの各パーティションからデータを分離したい場合があります。 この場合、パーティションごとに別個のファイル・システムが作成され、 /db2data/instance/NODE####にマウントできます。 コンテナーがストレージ・パスに作成され、空域を判別するとき、データベース・マネージャーは、/db2dataの空域情報を取得せず、代わりに対応する/db2data/instance/NODE####ディレクトリーの取得を認識しています。
一般に、複数パーティション・データベース内の各パーティションには同じストレージ・パスを使用する必要があり、 CREATE DATABASE コマンドを実行する前にすべてのストレージ・パスが存在している必要があります。 1つの例外は、ストレージ・パスにデータベース・パーティション式が使われる場合です。 そうすることで、データベースのパーティション番号をストレージパスに反映し、結果のパス名がパーティションによって異なるように設置できます。
パーティション・データベース環境では、 データベース・マネージャーは、すべてのデータベース・パーティションの指定されたパスまたはデフォルト・パスの下に、 サブディレクトリー $DB2INSTANCE/NODExxxxを作成します。 Xxxxは、db2nodes.cfgファイルに定義されるデータベース・パーティション番号です (つまり、データベース・パーティション0はNODE0000になります)。 SQL00001からSQLnnnnnまでのサブディレクトリーはパスにあります。 異なるサブディレクトリパスにより、異なるデータベースパーティション関連のデータベースオブジェクトが異なるディレクトリに格納されます(指定パスまたはデフォルトパスのサブディレクトリ$DB2INSTANCEがすべてのデータベースパーティションに共有される場合でも)。
現行マシンでLDAP (Lightweight Directory Access Protocol)サポートが有効になる場合、データベースは自動的にLDAPディレクトリーに登録されます。 同じ名前のデータベース・オブジェクトがLDAPディレクトリーにある場合、データベースは引き続きローカル・マシンに作成されますが、命名競合のことを示す警告メッセージが返されます。 この場合、ユーザーは CATALOG LDAP DATABASE コマンドを使用して、 LDAP データベース項目を手動でカタログすることができます。
アプリケーションが既にデータベースに接続された場合、 CREATE DATABASE は失敗します。
データベースが作成される際に、詳細デッドロック・イベント・モニターが作成されます。 他のモニターと同様に、このイベント・モニターの関連処理量が増えます。 デッドロック・イベント・モニターは、DROP EVENT MONITOR コマンドを実行することによってドロップできます。
CATALOG DATABASE を使用して、新しいデータベースに異なる別名を定義してください。
指定されるコード・セットおよびテリトリー値の組み合わせは有効なものでなければなりません。 サポートされる組み合わせのリストについては、 サポートされるテリトリー・コードおよびコード・ページを参照してください。
Windows オペレーティング・システムで (ドライブではなく) データベース・パスを指定するには、 Db2 レジストリー変数 DB2_CREATE_DB_ON_PATH=YES
を設定する必要があります。