CREATE DATABASE

ノート:

この文を実行すると、データベースの初期設定が行われ、指定ファイル内の現行のデータは消去されます。そのことを十分理解したうえで、この文を使用してください。

ノート:

このリリースのOracle Databaseと以降のリリースで、デフォルトのデータベース・ユーザー・アカウントのセキュリティを確保するために、セキュリティ機能が拡張されています。このリリースのセキュリティ・チェックリストは、『Oracle Databaseセキュリティ・ガイド』にあります。このチェックリストを参照し、その内容に従ってデータベースを構成してください。

目的

CREATE DATABASE文を使用すると、汎用的なデータベースを作成できます。

この文を実行すると、データベースの初期使用に備えて、指定した既存のデータファイル上のデータがすべて消去されます。したがって、既存のデータベースに対してこの文を実行した場合、データファイル上のすべてのデータが失われます。

この文を指定した場合、データベースの作成後、データベースは排他モードまたはパラレル・モード(初期化パラメータCLUSTER_DATABASEの値に依存する)でマウントおよびオープンされ、通常の用途に使用可能になります。その後、データベースの表領域を作成できます。

関連項目:

前提条件

データベースを作成する場合は、SYSDBAシステム権限が必要です。作成するデータベースの名前を持つ初期化パラメータ・ファイルが使用可能である必要があります。また、STARTUP NOMOUNTモードになっている必要があります。

構文

default_tablespace::=

set_time_zone_clause::=

file_name_convert::=

undo_mode_clause::=

セマンティクス

database

作成するデータベースの名前を指定します。名前は、DB_NAME初期化パラメータの値と一致する必要があります。名前の長さは最大8バイトです。データベース名には、ASCII文字のみを指定できます。データベース名で有効な文字は、英数字、アンダースコア(_)、シャープ記号(#)およびドル記号($)です。この他の文字は無効です。データベース名はアルファベットで開始する必要があります。Oracle Databaseは、この名前を制御ファイルに書き込みます。後で、データベース名を明示的に指定するALTER DATABASE文を発行すると、制御ファイル内の名前に基づいて、そのデータベース名が検証されます。

データベース名は、大文字と小文字が区別されず、大文字のASCII文字で保存されます。データベース名を引用識別子として指定した場合、引用符は特に警告もなく無視されます。

ノート:

データベース名には、ヨーロッパやアジアの文字セットの中の特殊文字は使用できません。たとえば、ウムラウト付きの文字は使用できません。

CREATE DATABASE文でデータベース名を指定しない場合、DB_NAME初期化パラメータで指定した名前が採用されます。DB_NAME初期化パラメータは、データベースの初期化パラメータ・ファイルに設定する必要があります。そのパラメータの値とは異なる名前を指定した場合、データベースはエラーを戻します。データベース名のその他の規則は、「データベース・オブジェクトのネーミング規則」を参照してください。

USER SYS ...、USER SYSTEM ...

これらの句を使用すると、SYSおよびSYSTEMユーザーのパスワードを設定できます。これらの句は今回のリリースでは必須ではありません。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。

これらの句を指定しない場合は、Oracle Databaseにより、ユーザーSYSのデフォルト・パスワードchange_on_installが作成されます。このパスワードは、後でALTER USER文で変更できます。

関連項目:

ALTER USER

CONTROLFILE REUSE句

CONTROLFILE REUSEを指定すると、初期化パラメータCONTROL_FILESによって特定される既存の制御ファイルを再利用可能にできます。このとき、それらの制御ファイルに現在格納されている情報は上書きされます。通常、この句は、初めてデータベースを作成する際ではなく、データベースを再作成する際に使用します。データベースを初めて作成する場合、制御ファイルはデフォルトの格納先に作成されます。この場所は、いくつかの初期化パラメータの値によって決まります。「CREATE CONTROLFILE」の「セマンティクス」を参照してください。

制御ファイルを既存のファイルより大きくするためのパラメータ値もあわせて指定する場合、この句は使用できません。MAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESおよびMAXINSTANCESがこのようなパラメータです。

この句を指定しないと、CONTROL_FILESで指定した制御ファイルのいずれかがすでに存在する場合、エラーが戻ります。

MAXDATAFILES句

CREATE DATABASEまたはCREATE CONTROLFILE実行時の、制御ファイルのデータファイル・セクションの初期サイズを指定します。値がMAXDATAFILESより大きく、DB_FILES以下のファイルを追加した場合、データファイル・セクションにさらに多くのファイルを格納できるように、Oracle Databaseの制御ファイルが自動的に拡張されます。

インスタンスでアクセスできるデータファイルの数は、初期化パラメータDB_FILESの制限を受けます。

MAXINSTANCES句

データベースを同時にマウントおよびオープンできるインスタンスの最大数を指定します。この値は、初期化パラメータINSTANCESの値より優先されます。最小値は1です。最大値は1055です。デフォルトは、使用するオペレーティング・システムによって異なります。

CHARACTER SET句

データベースにデータを格納するときの文字セットを指定します。サポートされている文字セットおよびこのパラメータのデフォルト値は、使用するオペレーティング・システムによって異なります。

CHARACTER SETの制限事項

AL16UTF16文字セットをデータベース文字セットとして指定することはできません。

関連項目:

文字セットの選択の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

NATIONAL CHARACTER SET句

データ型がNCHARNCLOBまたはNVARCHAR2として定義された列にデータを格納する際に使用する各国語文字セットを指定します。有効な値は、AL16UTF16およびUTF8です。デフォルトはAL16UTF16です。

関連項目:

Unicodeデータ型のサポートについては、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

SET DEFAULT TABLESPACE句

この句を使用すると、以降に作成される表領域、およびSYSTEMSYSAUX表領域のデフォルトの型を指定できます。以降に作成される表領域のデフォルトの型をbigfileまたはsmallfileに設定するには、BIGFILEまたはSMALLFILEを指定します。

  • bigfile表領域に格納されるのは、1つのデータファイルまたは一時ファイルのみであり、このファイルには最大約40億(232)ブロックを格納できます。データファイルまたは一時ファイル1つ当たりの最大サイズは、32Kブロックの表領域の場合は128TB、8Kブロックの表領域の場合は32TBです。

  • smallfile表領域は、Oracleの従来の表領域であり、1022のデータファイルまたは一時ファイルを含めることができます。それぞれのファイルは、最大で約400万(222)のブロックを格納できます。

この句を指定しない場合、デフォルトでsmallfile表領域が作成されます。

関連項目:

database_logging_clauses

database_logging_clausesを使用すると、データベースのREDOログ・ファイルの処理方法を指定できます。

LOGFILE句

REDOログ・ファイルとして使用する1つ以上のファイルを指定します。オペレーティング・システムのファイル・システム内の標準REDOログ・ファイル、またはOracle ASMディスク・グループのREDOログ・ファイルを作成するには、file_specificationredo_log_file_spec書式を使用します。ASM_filenameの書式を使用する場合、redo_log_file_specautoextend_clauseは指定できません。

redo_log_file_spec句には、1つ以上のREDOログ・ファイルのメンバー(コピー)を含むREDOログ・ファイル・グループを指定します。CREATE DATABASE文に指定したすべてのREDOログ・ファイルは、REDOログのスレッド番号1に追加されます。

関連項目:

この句の詳細は、file_specification」を参照してください。

LOGFILE句を指定しない場合、Oracle Managed Filesのログ・ファイル・メンバーは、(優先度の高い順に示している)次のいずれかのとおり、デフォルトの格納先に作成されます。

  • DB_CREATE_ONLINE_LOG_DEST_nを設定している場合、指定した各ディレクトリに、MAXLOGMEMBERS初期化パラメータの値までログ・ファイル・メンバーが作成されます。

  • DB_CREATE_ONLINE_LOG_DEST_nパラメータを設定しておらず、DB_CREATE_FILE_DESTおよびDB_RECOVERY_FILE_DEST初期化パラメータの両方を設定している場合、それぞれの場所に1つのOracle Managed Filesのログ・ファイル・メンバーが作成されます。DB_CREATE_FILE_DESTアーカイブ先のログ・ファイルが最初のメンバーです。

  • DB_CREATE_FILE_DEST初期化パラメータのみを指定している場合、その場所にログ・ファイル・メンバーが作成されます。

  • DB_RECOVERY_FILE_DEST初期化パラメータのみを指定している場合、その場所にログ・ファイル・メンバーが作成されます。

いずれの場合でも、パラメータ設定では、オペレーティング・システムのファイル名または作成書式Oracle ASMのファイル名を正確に指定する必要があります。

これらのパラメータのいずれにも値を設定していない場合、データベースが稼働しているオペレーティング・システムのデフォルトの場所にログ・ファイルが作成されます。このログ・ファイルはOracle Managed Fileではありません。

GROUP integer

REDOログ・ファイル・グループを識別する番号を指定します。integerの値は1からMAXLOGFILESパラメータの値の範囲です。データベースには、2つ以上のREDOログ・ファイル・グループが必要です。同一のGROUP値を持つREDOログ・ファイル・グループは複数指定できません。このパラメータを指定しない場合、値が自動的に生成されます。REDOログ・ファイル・グループのGROUP値は、動的パフォーマンス・ビューV$LOGで確認できます。

MAXLOGFILES句

データベースに対して作成可能なREDOログ・ファイル・グループの最大数を指定します。Oracle Databaseは、この値を基にして、制御ファイル内でREDOログ・ファイル名に割り当てる領域の量を決定します。デフォルト値、最小値および最大値は、使用するオペレーティング・システムによって異なります。

MAXLOGMEMBERS句

REDOログ・ファイル・グループのメンバー(コピー)の最大数を指定します。Oracle Databaseは、この値を基にして、制御ファイル内でREDOログ・ファイル名に割り当てる領域の量を決定します。最小値は1です。最大値およびデフォルト値は、使用するオペレーティング・システムによって異なります。

MAXLOGHISTORY句

このパラメータが有用なのは、Oracle Real Application Clusters(Oracle RAC)でOracle DatabaseをARCHIVELOGモードで使用している場合のみです。Oracle RACの自動メディア・リカバリに使用するアーカイブREDOログ・ファイルの最大数を指定します。この値を基にして、制御ファイル内でアーカイブREDOログ・ファイル名に割り当てられる領域が決定されます。最小値は0です。デフォルト値はMAXINSTANCES値の倍数で、使用するオペレーティング・システムによって異なります。最大値は、制御ファイルの最大サイズの制限のみを受けます。

ARCHIVELOG

ARCHIVELOGを指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容をアーカイブできます。この句を指定すると、メディア・リカバリを実行できるようになります。

NOARCHIVELOG

NOARCHIVELOGを指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容がアーカイブされません。この句を指定した場合、メディア・リカバリは実行できません。

デフォルトはNOARCHIVELOGモードです。データベースの作成後に、ALTER DATABASE文を使用して、ARCHIVELOGモードとNOARCHIVELOGモードを切り替えることができます。

FORCE LOGGING

この句を使用すると、データベースをFORCE LOGGINGモードにできます。一時表領域および一時セグメントへの変更以外のすべてのデータベース内の変更が記録されます。この設定は、各表領域で指定するNOLOGGINGまたはFORCE LOGGING設定、および各データベース・オブジェクトで指定するNOLOGGING設定より優先され、これらの設定には影響されません。

FORCE LOGGINGモードは、データベースのインスタンスで永続的です。データベースを停止し、再起動しても、データベースはFORCE LOGGINGモードのままです。ただし、制御ファイルを再作成した場合は、CREATE CONTROLFILE文でFORCE LOGGINGを指定しないかぎり、データベースはFORCE LOGGINGモードではなくなります。

ノート:

FORCE LOGGINGモードは、パフォーマンスに影響する場合があります。この設定を使用する状況の詳細は、『Oracle Database管理者ガイド』を参照してください。

関連項目:

CREATE CONTROLFILE

SET STANDBY NOLOGGING FOR DATA AVAILABILITY | LOAD PERFORMANCE

SET STANDBY NOLOGGINGはスタンバイでのロギングを無効にします。これは2種類のモードで指定できます。

  • SET STANDBY NOLOGGINGはFOR DATA AVAILABILITYでは、スタンバイ・データベースへの完全なデータ・レプリケーションが保証されます。プライマリ・データベースとスタンバイ・データベースは、ロード中に同期されます。ネットワークの輻輳が発生すると、プライマリ・データベースはそのロードを抑制します。

  • SET STANDBY NOLOGGINGはFOR LOAD PERFORMANCEは、プライマリ・データベースのロード速度を維持し、後でスタンバイと同期させます。

SET STANDBY NOLOGGINGの制限事項

SET STANDBY NOLOGGING句はFORCE LOGGINGと同時に使用することはできません。

tablespace_clauses

tablespace_clausesを使用すると、SYSTEMおよびSYSAUX表領域を構成したり、デフォルトの一時表領域とUNDO表領域を指定することができます。

extent_management_clause

この句を使用すると、ローカル管理SYSTEM表領域を作成できます。この句を指定しない場合、SYSTEM表領域はディクショナリ管理となります。

ノート:

ローカル管理SYSTEM表領域を作成すると、この表領域をディクショナリ管理に変更することはできません。このデータベース内に別のディクショナリ管理表領域を作成することもできません。

この句を指定した場合、ローカル管理のSYSTEM表領域には一時セグメントを格納できないため、データベースにデフォルトの一時表領域が必要になります。

  • EXTENT MANAGEMENT LOCALを指定して、DATAFILE句を指定しない場合は、default_temp_tablespace句を省略できます。Oracle Databaseは、データファイル・サイズが10MBで、自動拡張を使用禁止にした状態で、TEMPという一時表領域を作成します。

  • EXTENT MANAGEMENT LOCALおよびDATAFILE句の両方を指定する場合は、default_temp_tablespace句も指定し、その一時表領域の一時ファイルを明示的に指定する必要があります。

インスタンスを自動UNDOモードでオープンしている場合も、データベースUNDO表領域には同様の要件があります。

  • EXTENT MANAGEMENT LOCALを指定して、DATAFILE句を指定しない場合は、undo_tablespace句を省略できます。Oracle Databaseは、SYS_UNDOTBSというUNDO表領域を作成します。

  • EXTENT MANAGEMENT LOCALおよびDATAFILEの両方の句を指定する場合は、undo_tablespaceを指定し、その表領域のデータファイルを明示的に指定する必要があります。

    関連項目:

    ローカル管理表領域およびディクショナリ管理表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。

DATAFILE句

データファイルとして使用する1つ以上のファイルを指定します。ファイルは、すべてSYSTEM表領域の一部となります。オペレーティング・システムのファイル・システム内の標準データファイルと一時ファイル、またはOracle ASMディスク・グループのファイルを作成するには、file_specificationfile_tempfile_spec書式を使用します。

ノート:

undo_tablespace句のDATAFILE句と同様に、この句はオプションです。したがって、あいまいさを回避するために、この句でSYSTEM表領域のデータファイルを指定する場合は、オプションのDATAFILE句を含まないundo_tablespace句の直後にこの句を指定しないでください。指定した場合、Oracle DatabaseはDATAFILE句をundo_tablespace句の一部と認識します。

SYSTEM表領域のデータファイルを指定する構文は、Oracle ASMを使用してファイルを格納する場合も、ファイル・システムに格納する場合も、表領域の作成時にCREATE TABLESPACE文を使用してデータファイルを指定する構文と同じです。

関連項目:

データファイルの指定の詳細は、「CREATE TABLESPACE」を参照してください。

自動UNDOモードでデータベースを実行し、SYSTEM表領域のデータファイル名を指定した場合、すべての表領域に対してデータファイルを生成するものとみなされます。Oracle Managed Filesを使用する場合(DB_CREATE_FILE_DEST初期化パラメータに値を設定している場合)、データファイルは自動的に生成されます。ただし、Oracle Managed Filesを使用しないでこの句を指定する場合は、undo_tablespace句およびdefault_temp_tablespace句も指定する必要があります。

この句を指定しない場合、次のようになります。

  • DB_CREATE_FILE_DEST初期化パラメータを設定している場合、このパラメータで指定したデフォルトのファイル格納先に、サイズが100MBでシステムが生成する名前を持つ、Oracle Managed Filesのデータファイルが作成されます。

  • DB_CREATE_FILE_DEST初期化パラメータを設定していない場合、1つのデータファイルが作成されます。そのファイル名およびサイズは、使用するオペレーティング・システムによって異なります。

関連項目:

構文の詳細は、file_specification」を参照してください。

SYSAUX句

Oracle Databaseは、すべてのデータベースに、SYSTEMSYSAUXの両方の表領域を作成します。Oracle Managed Filesを使用しておらず、SYSAUX表領域の1つ以上のデータファイルを指定する場合、この句を使用します。

DATAFILE句を使用してSYSTEM表領域の1つ以上のデータファイルを指定した場合は、この句を指定する必要があります。Oracle Managed Filesを使用している場合、この句を指定しないと、SYSAUXデータファイルがOracle Managed Filesに設定されたデフォルトの場所に作成されます。

Oracle Managed Filesを使用可能にした場合にSYSAUX句を省略すると、SYSAUX表領域が、オンライン表領域、永続表領域およびローカル管理表領域として作成されます。この表領域は、100MBの1つのデータファイルを持ち、ロギングおよび自動セグメント領域管理が有効になっています。

SYSAUX表領域のデータファイルを指定する構文は、Oracle ASMを使用してファイルを格納する場合も、ファイル・システムに格納する場合も、表領域の作成時にCREATE TABLESPACE文を使用してデータファイルを指定する構文と同じです。

関連項目:

default_tablespace

この句を指定すると、データベースのデフォルトの永続表領域を作成できます。Oracle Databaseは、smallfile表領域を作成し、その後、この表領域に対して、別の永続表領域を指定していない、SYSTEM以外のユーザーを割り当てます。この句を指定しない場合、SYSTEM以外のユーザーに対するデフォルトの永続表領域はSYSTEM表領域です。

DATAFILE句およびextent_management_clauseは、CREATE TABLESPACE文で同じセマンティクスを持ちます。これらの句の詳細は、「DATAFILE | TEMPFILE句」および「extent_management_clause」を参照してください。

default_temp_tablespace

この句を使用すると、デフォルトの共有一時表領域またはデフォルトのローカル一時表領域を作成できます。これらの一時表領域には、別の一時表領域を指定していないユーザーが割り当てられます。

  • データベースにデフォルトの共有一時表領域を作成するには、DEFAULT TEMPORARY TABLESPACEを指定します。共有一時表領域はOracle Databaseの以前のリリースでも使用可能で、「一時表領域」と呼ばれていました。このガイドの他の部分では、特に記載がないかぎり、一時表領域という用語は共有一時表領域を指します。この句を指定しないと、ローカル管理のSYSTEM表領域の作成プロセスでデフォルトの共有一時表領域が自動的に作成されない場合、SYSTEM表領域がデフォルトの共有一時表領域になります。

  • Oracle Database 12cリリース2 (12.2)から、DEFAULT LOCAL TEMPORARY TABLESPACEを指定して、デフォルトのローカル一時表領域を作成できるようになりました。ローカル一時表領域は、Oracle Real Application ClustersおよびOracle Flexクラスタに役立ちます。これらには、各データベース・インスタンスの共有されない個別の一時ファイルが格納され、I/Oパフォーマンスが向上します。ローカル一時表領域は、BIGFILE表領域である必要があります。

    • HUBとLEAFのすべてのノードに、個別の非共有一時ファイルを作成するようデータベースに指示するには、FOR ALLを指定します。

    • LEAFノードにのみ個別の非共有一時ファイルを作成するようデータベースに指示するには、FOR LEAFを指定します。この句を指定すると、HUBノードでデフォルトの共有一時表領域が使用されます。HUBとLEAFの両方のノードにわたるSQL操作の場合、HUBノードではデフォルトの共有一時表領域が使用され、LEAFノードではデフォルトのローカル一時表領域が使用されます。

    ローカル一時表領域を作成しない場合、HUBとLEAFの各ノードで、デフォルトの共有一時表領域が使用されます。

デフォルトの一時表領域がbigfileかsmallfileかを指定するには、BIGFILEまたはSMALLFILEを指定します。これらの句のセマンティクスは、SET DEFAULT TABLESPACE句のセマンティクスと同じです。

DB_CREATE_FILE_DEST初期化パラメータを設定してOracle Managed Filesを使用可能にした場合、この句のTEMPFILE句の部分はオプションです。このパラメータの値を指定していない場合は、TEMPFILE句を指定する必要があります。BIGFILEを指定した場合、この句で指定できるのは1つの一時ファイルのみです。

デフォルトの一時表領域の一時ファイルを指定する構文は、Oracle ASMを使用してファイルを格納する場合も、ファイル・システムに格納する場合も、一時表領域の作成時にCREATE TABLESPACE文を使用して一時ファイルを指定する構文と同じです。

extent_management_clause句のセマンティクスは、CREATE DATABASEおよびCREATE TABLESPACE文で同じです。この句の詳細は、「CREATE TABLESPACE」の「extent_management_clause」を参照してください。

関連項目:

一時ファイルの指定の詳細は、「CREATE TABLESPACE」を参照してください。

ノート:

オペレーティング・システムによっては、一時ファイルのブロックが実際にアクセスされるまで、一時ファイル用の領域が割り当てられない場合があります。領域の割当ての遅延のため、一時ファイルの作成およびサイズ変更が速くなります。ただし、後で一時ファイルが使用されるときに、十分なディスク領域を使用可能にする必要があります。問題を回避するには、一時ファイルの作成またはサイズ変更の前に、ディスクの空き領域が、新しく作成する一時ファイルまたはサイズ変更後の一時ファイルのサイズよりも大きいことを確認してください。ディスク領域に余裕を持たせておくと、関連のない操作による、予期されるディスク使用量の増加にも対応できます。その後で、作成またはサイズ変更操作を実行してください。

デフォルトの一時表領域の制限事項

デフォルトの一時表領域には、次の制限事項があります。

  • この句では、SYSTEM表領域を指定できません。

  • デフォルトの一時表領域は、標準的なブロック・サイズである必要があります。

undo_tablespace

インスタンスを自動UNDOモードでオープンした場合(UNDO_MANAGEMENT初期化パラメータをデフォルトのAUTOに設定した場合)、undo_tablespaceを指定して、UNDOデータで使用する表領域を作成できます。自動UNDOモードを使用することをお薦めします。ただし、UNDO領域管理をロールバック・セグメントによって処理する場合、この句は指定しないでください。UNDO_TABLESPACE初期化パラメータの値を設定した場合も、この句を省略できます。パラメータが設定されており、この句を指定した場合、tablespaceはそのパラメータ値と同じである必要があります。

  • UNDO表領域をbigfile表領域にする場合は、BIGFILEを指定します。bigfile表領域には、1つのデータファイルのみが含まれます。このファイルの最大サイズは8EB(8,000,000TB)です。

  • UNDO表領域をsmallfile表領域にする場合は、SMALLFILEを指定します。smallfile表領域は、Oracle Databaseの従来の表領域であり、1022のデータファイルまたは一時ファイルを含めることができます。それぞれのファイルは、最大で約400万(222)のブロックを格納できます。

  • DB_CREATE_FILE_DEST初期化パラメータを設定してOracle Managed Filesを使用可能にした場合、この句のDATAFILE句の部分はオプションです。このパラメータの値を指定していない場合は、DATAFILE句を指定する必要があります。BIGFILEを指定した場合、この句で指定できるのは1つのデータファイルのみです。

UNDO表領域のデータファイルを指定する構文は、Oracle ASMを使用してファイルを格納する場合も、ファイル・システムに格納する場合も、表領域の作成時にCREATE TABLESPACE文を使用してデータファイルを指定する構文と同じです。

関連項目:

データファイルの指定の詳細は、「CREATE TABLESPACE」を参照してください。

この句を指定すると、tablespaceという名前のUNDO表領域、およびUNDO表領域の一部として指定したデータファイルが作成され、インスタンスのUNDO表領域としてこの表領域が割り当てられます。Oracle Databaseは、このUNDO表領域を使用してUNDOデータを管理します。この句のDATAFILE句は、「DATAFILE句」で説明されているように動作します。

初期化パラメータ・ファイル内のUNDO_TABLESPACE初期化パラメータの値を指定している場合は、データベースをマウントする前に、この句で同じ名前を指定する必要があります。この名前が異なると、データベースのオープン時にエラーが戻されます。

この句を指定しないと、SYS_UNDOTBSという名前のデフォルトのsmallfileのUNDO表領域を持つデフォルトのデータベースが作成され、インスタンスのUNDO表領域としてこのデフォルトの表領域が割り当てられます。このUNDO表領域は、CREATE DATABASE文で使用するデフォルトのファイルから、初期エクステントが10MBのディスク領域を割り当てます。システムが生成したデータファイルは、「DATAFILE句」で説明されているように処理されます。Oracle DatabaseがUNDO表領域を作成できない場合、CREATE DATABASE操作全体が失敗します。

関連項目:

set_time_zone_clause

SET TIME_ZONE句を使用すると、データベースのタイムゾーンを設定できます。次の2つ方法でタイムゾーンを設定します。

  • UTC(協定世界時、以前のグリニッジ標準時)からの時差を指定。hh:miの有効範囲は、-12:00から+14:00です。

  • タイムゾーン地域を指定。有効なタイムゾーン地域名を表示するには、V$TIMEZONE_NAMES動的パフォーマンス・ビューのTZNAME列を問い合せます。

ノート:

データベースのタイムゾーンをUTC(0:00)に設定することをお薦めします。これによって、タイムゾーンの変換が不要になるため、特にデータベース間のパフォーマンスを向上できます。

関連項目:

動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

すべてのTIMESTAMP WITH LOCAL TIME ZONEデータは、ディスクに格納されるときにデータベースのタイムゾーンに正規化されます。SET TIME_ZONE句を指定しない場合、サーバーのオペレーティング・システムのタイムゾーンが使用されます。オペレーティング・システムのタイムゾーンがOracle Databaseで有効でない場合、データベースのタイムゾーンは、デフォルトでUTCになります。

USER_DATA TABLESPACE句

この句では、ユーザー・データおよびデータベース・オプション(Oracle XML DBなど)の格納に使用する表領域を作成できます。

マルチテナント・コンテナ・データベース(CDB)の作成時にこの句を指定すると、シードの一部として表領域が作成されます。シードを使用してその後に作成されるプラガブル・データベース(PDB)には、この表領域とそのデータファイルが含まれます。この句で指定された表領域およびデータファイルは、ルートでは使用されません。

表領域がbigfileかsmallfileかを指定するには、BIGFILEまたはSMALLFILEを指定します。これらの句を指定しないと、SET DEFAULT TABLESPACE句で指定したタイプの表領域が作成されます。SET DEFAULT TABLESPACE句を使用しない場合、smallfile表領域が作成されます。これらの句のセマンティクスは、SET DEFAULT TABLESPACE句のセマンティクスと同じです。

datafile_tempfile_spec句を使用して、その表領域の1つ以上のデータファイルを指定できます。この句のセマンティクスの詳細は、「datafile_tempfile_spec」を参照してください。

enable_pluggable_database

Oracle Database 20c以降、ENABLE_PLUGGABLE_DATABASE初期化パラメータはデフォルトでTRUEに設定されています。ENABLE_PLUGGABLE_DATABASE初期化パラメータをFALSEに設定すると、コマンドは失敗します。

CREATE DATABASE enable_pluggable_database文は、ルートおよびシード・コンテナを含むCDBを作成します。その後、CREATE PLUGGABLE DATABASE文を使用してこのCDB内にPDBを作成します。

file_name_convert

file_name_convert句を使用すると、シードの関連ファイル(データファイルやウォレット・ファイルなど)の名前を、ルートの関連ファイルの名前を使用して生成する方法を指定できます。

  • filename_patternには、ルートの関連ファイル名にある文字列を指定します。

  • replacement_filename_patternには、置換文字列を指定します。

シードの関連ファイルの名前の生成時にfilename_patternreplacement_filename_patternに置換されます。

Oracle Managed Filesで管理されているファイルまたはディレクトリと一致するファイル名のパターンは指定できません。

FILE_NAME_CONVERT = NONEを指定できます。これは、この句を省略した場合と同じになります。この句を省略すると、データベースはまずOracle Managed Filesを使用してシード・ファイル名を生成しようとします。Oracle Managed Filesを使用している場合は、PDB_FILE_NAME_CONVERT初期化パラメータを使用してファイル名が生成されます。このパラメータが設定されていないと、エラーが発生します。

tablespace_datafile_clauses

これらの句を使用して、シードPDB内のSYSTEM表領域とSYSAUX表領域を構成するすべてのデータファイルの属性を指定できます。SIZE size_clauseを指定しないと、その表領域のデータファイル・サイズは、対応するルートのデータファイル・サイズの事前定義された割合に設定されます。autoextend_clauseを指定しないと、それらの値はルートから継承されます。

これらの句のセマンティクスの詳細は、「size_clause」および「autoextend_clause」を参照してください。

undo_mode_clause

この句を使用すると、CDBにローカルUNDOモードまたは共有UNDOモードを指定できます。

  • LOCAL UNDO ONを使用して、CDBにローカルUNDOモードを指定します。このモードでは、CDB内のすべてのコンテナでローカルUNDOが使用されます。

  • LOCAL UNDO OFFを使用して、CDBに共有UNDOモードを指定します。このモードでは、アクティブなUNDO表領域は単一インスタンスCDBに対して1つ存在し、Oracle RAC CDBの場合、アクティブなUNDO表領域はインスタンスごとに1つ存在します。

この句を指定しない場合、LOCAL UNDO OFFがデフォルトになります。

USING MIRROR COPY

mirror_nameで指定されるミラー・コピーの準備ファイルを使用して、new_database_nameという名前のデータベースを作成するには、この句を使用します。

データベースの作成: 例

次の文は、データベースを作成して各引数をすべて指定します。

CREATE DATABASE sample
   CONTROLFILE REUSE 
   LOGFILE
      GROUP 1 ('diskx:log1.log', 'disky:log1.log') SIZE 50K, 
      GROUP 2 ('diskx:log2.log', 'disky:log2.log') SIZE 50K 
   MAXLOGFILES 5 
   MAXLOGHISTORY 100 
   MAXDATAFILES 10 
   MAXINSTANCES 2 
   ARCHIVELOG 
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE  
      'disk1:df1.dbf' AUTOEXTEND ON,
      'disk2:df2.dbf' AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE temp_ts
   UNDO TABLESPACE undo_ts 
   SET TIME_ZONE = '+02:00';

この例では、初期化パラメータ・ファイルのDB_CREATE_FILE_DESTパラメータに値を設定して、Oracle Managed Filesを使用可能にしている状態を想定しています。したがって、DEFAULT TEMPORARY TABLESPACEおよびUNDO TABLESPACE句にファイル指定は必要ありません。

CDBの作成: 例

次の文は、CDB newcdbを作成します。ENABLE PLUGGABLE DATABASE句は、CDBを作成することを示します。このCDBには、ルート(CDB$ROOT)とシード(PDB$SEED)が格納されます。FILE_NAME_CONVERT句は、ルートに関連付けられたファイルの名前に含まれる/u01/app/oracle/oradata/newcdb/u01/app/oracle/oradata/pdbseedに置換することによって、シードのファイルの名前を生成することを指定します。

CREATE DATABASE newcdb
  USER SYS IDENTIFIED BY sys_password
  USER SYSTEM IDENTIFIED BY system_password
  LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log')
             SIZE 100M BLOCKSIZE 512,
          GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log')
             SIZE 100M BLOCKSIZE 512,
          GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log')
             SIZE 100M BLOCKSIZE 512
  MAXLOGHISTORY 1
  MAXLOGFILES 16
  MAXLOGMEMBERS 3
  MAXDATAFILES 1024
  CHARACTER SET AL32UTF8
  NATIONAL CHARACTER SET AL16UTF16
  EXTENT MANAGEMENT LOCAL
  DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf'
    SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
  SYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf'
    SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
  DEFAULT TABLESPACE deftbs
    DATAFILE '/u01/app/oracle/oradata/newcdb/deftbs01.dbf'
    SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
  DEFAULT TEMPORARY TABLESPACE tempts1
    TEMPFILE '/u01/app/oracle/oradata/newcdb/temp01.dbf'
    SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
  UNDO TABLESPACE undotbs1
    DATAFILE '/u01/app/oracle/oradata/newcdb/undotbs01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
  ENABLE PLUGGABLE DATABASE
    SEED
    FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/newcdb/',
                         '/u01/app/oracle/oradata/pdbseed/')
    SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
    SYSAUX DATAFILES SIZE 100M
  USER_DATA TABLESPACE usertbs
    DATAFILE '/u01/app/oracle/oradata/pdbseed/usertbs01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;