CREATE DATABASE
ノート:
この文を実行すると、データベースの初期設定が行われ、指定ファイル内の現行のデータは消去されます。そのことを十分理解したうえで、この文を使用してください。
ノート:
このリリースのOracle Databaseと以降のリリースで、デフォルトのデータベース・ユーザー・アカウントのセキュリティを確保するために、セキュリティ機能が拡張されています。このリリースのセキュリティ・チェックリストは、『Oracle Databaseセキュリティ・ガイド』にあります。このチェックリストを参照し、その内容に従ってデータベースを構成してください。
目的
CREATE
DATABASE
文を使用すると、汎用的なデータベースを作成できます。
この文を実行すると、データベースの初期使用に備えて、指定した既存のデータファイル上のデータがすべて消去されます。したがって、既存のデータベースに対してこの文を実行した場合、データファイル上のすべてのデータが失われます。
この文を指定した場合、データベースの作成後、データベースは排他モードまたはパラレル・モード(初期化パラメータCLUSTER_DATABASE
の値に依存する)でマウントおよびオープンされ、通常の用途に使用可能になります。その後、データベースの表領域を作成できます。
関連項目:
-
データベースの変更の詳細は、「ALTER DATABASE」を参照してください。
-
Oracle Java Virtual Machineの作成の詳細は、『Oracle Database Java開発者ガイド』を参照してください。
-
表領域の作成については、「CREATE TABLESPACE」を参照してください。
前提条件
データベースを作成する場合は、SYSDBA
システム権限が必要です。作成するデータベースの名前を持つ初期化パラメータ・ファイルが使用可能である必要があります。また、STARTUP
NOMOUNT
モードになっている必要があります。
構文
create_database::=
(database_logging_clauses::=、tablespace_clauses::=、set_time_zone_clause::=、datafile_tempfile_spec::=、enable_pluggable_database::=)
tablespace_clauses::=
(file_specification::=、default_tablespace::=、default_temp_tablespace::=、undo_tablespace::=、undo_tablespace::=)
default_tablespace::=
enable_pluggable_database::=
file_name_convert::=
tablespace_datafile_clauses::=
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
文で変更できます。
関連項目:
CONTROLFILE REUSE句
CONTROLFILE
REUSE
を指定すると、初期化パラメータCONTROL_FILES
によって特定される既存の制御ファイルを再利用可能にできます。このとき、それらの制御ファイルに現在格納されている情報は上書きされます。通常、この句は、初めてデータベースを作成する際ではなく、データベースを再作成する際に使用します。データベースを初めて作成する場合、制御ファイルはデフォルトの格納先に作成されます。この場所は、いくつかの初期化パラメータの値によって決まります。「CREATE
CONTROLFILE
」の「セマンティクス」を参照してください。
制御ファイルを既存のファイルより大きくするためのパラメータ値もあわせて指定する場合、この句は使用できません。MAXLOGFILES
、MAXLOGMEMBERS
、MAXLOGHISTORY
、MAXDATAFILES
および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句
データ型がNCHAR
、NCLOB
またはNVARCHAR2
として定義された列にデータを格納する際に使用する各国語文字セットを指定します。有効な値は、AL16UTF16
およびUTF8
です。デフォルトはAL16UTF16
です。
関連項目:
Unicodeデータ型のサポートについては、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
SET DEFAULT TABLESPACE句
この句を使用すると、以降に作成される表領域、およびSYSTEM
とSYSAUX
表領域のデフォルトの型を指定できます。以降に作成される表領域のデフォルトの型をbigfileまたはsmallfileに設定するには、BIGFILE
またはSMALLFILE
を指定します。
-
bigfile表領域に格納されるのは、1つのデータファイルまたは一時ファイルのみであり、このファイルには最大約40億(232)ブロックを格納できます。データファイルまたは一時ファイル1つ当たりの最大サイズは、32Kブロックの表領域の場合は128TB、8Kブロックの表領域の場合は32TBです。
-
smallfile表領域は、Oracleの従来の表領域であり、1022のデータファイルまたは一時ファイルを含めることができます。それぞれのファイルは、最大で約400万(222)のブロックを格納できます。
この句を指定しない場合、デフォルトでsmallfile表領域が作成されます。
関連項目:
-
bigfile表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
この構文の使用例は、「表領域のデフォルト・タイプの設定: 例」を参照してください。
database_logging_clauses
database_logging_clauses
を使用すると、データベースのREDOログ・ファイルの処理方法を指定できます。
REDOログ・ファイルとして使用する1つ以上のファイルを指定します。オペレーティング・システムのファイル・システム内の標準REDOログ・ファイル、またはOracle ASMディスク・グループのREDOログ・ファイルを作成するには、file_specification
のredo_log_file_spec
書式を使用します。ASM_filename
の書式を使用する場合、redo_log_file_spec
のautoextend_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
で確認できます。
データベースに対して作成可能なREDOログ・ファイル・グループの最大数を指定します。Oracle Databaseは、この値を基にして、制御ファイル内でREDOログ・ファイル名に割り当てる領域の量を決定します。デフォルト値、最小値および最大値は、使用するオペレーティング・システムによって異なります。
REDOログ・ファイル・グループのメンバー(コピー)の最大数を指定します。Oracle Databaseは、この値を基にして、制御ファイル内でREDOログ・ファイル名に割り当てる領域の量を決定します。最小値は1です。最大値およびデフォルト値は、使用するオペレーティング・システムによって異なります。
このパラメータが有用なのは、Oracle Real Application Clusters(Oracle RAC)でOracle DatabaseをARCHIVELOG
モードで使用している場合のみです。Oracle RACの自動メディア・リカバリに使用するアーカイブREDOログ・ファイルの最大数を指定します。この値を基にして、制御ファイル内でアーカイブREDOログ・ファイル名に割り当てられる領域が決定されます。最小値は0です。デフォルト値はMAXINSTANCES
値の倍数で、使用するオペレーティング・システムによって異なります。最大値は、制御ファイルの最大サイズの制限のみを受けます。
ARCHIVELOG
を指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容をアーカイブできます。この句を指定すると、メディア・リカバリを実行できるようになります。
NOARCHIVELOG
を指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容がアーカイブされません。この句を指定した場合、メディア・リカバリは実行できません。
デフォルトはNOARCHIVELOG
モードです。データベースの作成後に、ALTER
DATABASE
文を使用して、ARCHIVELOG
モードとNOARCHIVELOG
モードを切り替えることができます。
この句を使用すると、データベースをFORCE
LOGGING
モードにできます。一時表領域および一時セグメントへの変更以外のすべてのデータベース内の変更が記録されます。この設定は、各表領域で指定するNOLOGGING
またはFORCE
LOGGING
設定、および各データベース・オブジェクトで指定するNOLOGGING
設定より優先され、これらの設定には影響されません。
FORCE
LOGGING
モードは、データベースのインスタンスで永続的です。データベースを停止し、再起動しても、データベースはFORCE
LOGGING
モードのままです。ただし、制御ファイルを再作成した場合は、CREATE
CONTROLFILE
文でFORCE
LOGGING
を指定しないかぎり、データベースはFORCE
LOGGING
モードではなくなります。
ノート:
FORCE
LOGGING
モードは、パフォーマンスに影響する場合があります。この設定を使用する状況の詳細は、『Oracle Database管理者ガイド』を参照してください。
関連項目:
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_specification
のfile_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は、すべてのデータベースに、SYSTEM
とSYSAUX
の両方の表領域を作成します。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
文を使用してデータファイルを指定する構文と同じです。
関連項目:
-
データベースのアップグレード時の
SYSAUX
表領域の作成方法、および表領域のデータファイルの指定方法は、「CREATE TABLESPACE」を参照してください。 -
SYSAUX
表領域作成の詳細は、『Oracle Database管理者ガイド』を参照してください。
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
操作全体が失敗します。
関連項目:
-
自動UNDO管理およびUNDO表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
データベースの作成後にUNDO表領域を作成する方法は、「CREATE TABLESPACE」を参照してください。
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 21c以降、ENABLE_PLUGGABLE_DATABASE
初期化パラメータはデフォルトでTRUE
に設定されています。ENABLE_PLUGGABLE_DATABASE
初期化パラメータをFALSE
に設定すると、コマンドは失敗します。
CREATE
DATABASE
enable_pluggable_database
文は、ルートおよびシード・コンテナを含むCDBを作成します。その後、CREATE PLUGGABLE DATABASE
文を使用してこのCDB内にPDBを作成します。
関連項目:
-
「CDBの作成: 例」を参照してください。
file_name_convert
file_name_convert
句を使用すると、シードの関連ファイル(データファイルやウォレット・ファイルなど)の名前を、ルートの関連ファイルの名前を使用して生成する方法を指定できます。
-
filename_pattern
には、ルートの関連ファイル名にある文字列を指定します。 -
replacement_filename_pattern
には、置換文字列を指定します。
シードの関連ファイルの名前の生成時にfilename_pattern
がreplacement_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;