プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CREATE TABLESPACE

用途

CREATE TABLESPACE文を使用すると、表領域を作成できます。表領域とは、スキーマ・オブジェクトを格納する、データベース内に割り当てられた領域です。

  • 永続表領域には、永続スキーマ・オブジェクトが格納されます。永続表領域のオブジェクトは、データファイルに格納されます。

  • UNDO表領域は、データベースを自動UNDO管理モードで実行している場合にOracle DatabaseがUNDOデータを管理するために使用する永続表領域です。UNDOには、ロールバック・セグメントではなく、自動UNDO管理モードを使用することをお薦めします。

  • 一時表領域には、セッションの存続期間中のみ、スキーマ・オブジェクトが格納されます。一時表領域のオブジェクトは、一時ファイルに格納されます。

表領域は、最初は読み書き両用として作成されます。その後、ALTER TABLESPACE文でその表領域をオフラインまたはオンラインに設定したり、表領域にデータファイルや一時ファイルを追加したり、読取り専用に設定することができます。

DROP TABLESPACE文を使用して、データベースから表領域を削除することもできます。


関連項目:

  • 表領域については、『Oracle Database概要』を参照してください。

  • 表領域の変更および削除の詳細は、「ALTER TABLESPACE」および「DROP TABLESPACE」を参照してください。


前提条件

CREATE TABLESPACEシステム権限が必要です。SYSAUX表領域を作成する場合は、SYSDBAシステム権限が必要です。

表領域を作成する場合、表領域を格納するデータベースを作成する必要があります。また、そのデータベースをオープンしておく必要もあります。


関連項目:

「CREATE DATABASE」

SYSTEM以外の表領域のオブジェクトを使用する場合は、次の注意事項があります。

  • 自動UNDO管理モードでデータベースを実行するには、1つ以上のUNDO表領域がオンラインである必要があります。

  • 手動UNDO管理モードのデータベースを実行するには、SYSTEMロールバック・セグメント以外の1つ以上のロールバック・セグメントがオンラインである必要があります。


注意:

データベースを自動UNDO管理モードで実行することをお薦めします。詳細は、『Oracle Database管理者ガイド』を参照してください。

構文

create_tablespace::=

create_tablespace.gifの説明が続きます。
図「create_tablespace.gif」の説明

(permanent_tablespace_clause::=temporary_tablespace_clause::=undo_tablespace_clause::=を参照)

permanent_tablespace_clause::=

permanent_tablespace_clause.gifの説明が続きます。
図「permanent_tablespace_clause.gif」の説明


注意:

DEFAULT句を指定する場合、table_compressionまたはstorage_clause句のいずれかを指定する必要があります。

(file_specification::=size_clause::=logging_clause ::=tablespace_encryption_spec::=table_compression::=(「CREATE TABLE」の項)、storage_clause::=extent_management_clause ::=segment_management_clause ::=flashback_mode_clause ::=を参照)

logging_clause::=

logging_clause.gifの説明が続きます。
図「logging_clause.gif」の説明

tablespace_encryption_spec::=

tablespace_encryption_spec.gifの説明が続きます。
図「tablespace_encryption_spec.gif」の説明

extent_management_clause::=

extent_management_clause.gifの説明が続きます。
図「extent_management_clause.gif」の説明

(size_clause::=を参照)

segment_management_clause::=

segment_management_clause.gifの説明が続きます。
図「segment_management_clause.gif」の説明

flashback_mode_clause ::=

flashback_mode_clause.gifの説明が続きます。
図「flashback_mode_clause.gif」の説明

temporary_tablespace_clause::=

temporary_tablespace_clause.gifの説明が続きます。
図「temporary_tablespace_clause.gif」の説明

(file_specification::=tablespace_group_clauseextent_management_clause ::=を参照)

tablespace_group_clause::=

tablespace_group_clause.gifの説明が続きます。
図「tablespace_group_clause.gif」の説明

undo_tablespace_clause::=

undo_tablespace_clause.gifの説明が続きます。
図「undo_tablespace_clause.gif」の説明

(file_specification::=extent_management_clause ::=tablespace_retention_clause ::=を参照)

tablespace_retention_clause::=

tablespace_retention_clause.gifの説明が続きます。
図「tablespace_retention_clause.gif」の説明

セマンティクス

BIGFILE | SMALLFILE

この句を使用すると、表領域がbigfileかsmallfileかを指定できます。この句は、データベースのデフォルトの表領域タイプの設定を上書きします。

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

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

この句を省略した場合、データベースに設定された永続表領域または一時表領域の、現在のデフォルト表領域タイプが使用されます。永続表領域にBIGFILEを指定すると、デフォルトで、自動セグメント領域管理のローカル管理表領域が作成されます。

bigfile表領域の制限事項 DATAFILE句に1つのみのデータファイルを指定するか、またはTEMPFILE句に1つのみの一時ファイルを指定できます。


関連項目:


permanent_tablespace_clause

次の句を使用すると、永続表領域を作成できます。(これらの句の一部は、一時表領域またはUNDO表領域の作成にも使用されます。)

tablespace

作成する表領域の名前を指定します。名前は、「データベース・オブジェクトのネーミング規則」に指定されている要件を満たしている必要があります。

SYSAUX表領域の注意事項 SYSAUXは、必須の予備システム表領域です。Oracle Database 11gより前のリリースからアップグレードする場合は、CREATE TABLESPACE文を使用してSYSAUX表領域を作成する必要があります。この句を指定するには、SYSDBAシステム権限が必要となり、また、データベースをUPGRADEモードでオープンしておく必要があります。

SYSAUX表領域には、EXTENT MANAGEMENT LOCALおよびSEGMENT SPACE MANAGEMENT AUTOを指定する必要があります。DATAFILE句は、Oracle Managed Filesが使用可能になっている場合のみのオプションです。DATAFILE句の動作については、「DATAFILE | TEMPFILE句」を参照してください。

SYSAUX表領域には十分な領域を割り当ててください。この表領域の作成のガイドラインは、『Oracle Databaseアップグレード・ガイド』を参照してください。

SYSAUX表領域の制限事項: SYSAUX表領域にOFFLINEまたはTEMPORARYを指定することはできません。

DATAFILE | TEMPFILE句

永続表領域を構成するデータファイルを指定するか、または一時表領域を構成する一時ファイルを指定します。オペレーティング・システムのファイル・システム内の標準データファイルと一時ファイル、またはOracle Automatic Storage Management (Oracle ASM)ディスク・グループのファイルを作成するには、file_specificationdatafile_tempfile_spec書式を使用します。

DB_CREATE_FILE_DEST初期化パラメータに値を設定してOracle Managed Filesを使用可能にしていないかぎり、DATAFILEまたはTEMPFILE句を指定する必要があります。Oracle ASMディスク・グループ・ファイルの場合、このパラメータをOracle ASMファイル名の複数ファイル作成形式に設定する必要があります。このパラメータが設定されている場合、パラメータで指定したデフォルトのファイルの出力先に、100MBのファイルがシステム名で作成されます。このファイルではAUTOEXTENDが有効になっているため、最大サイズの制限はありません。


注意:

メディア・リカバリは一時ファイルを認識しません。


関連項目:


データファイルおよび一時ファイルの指定の注意事項: 

  • RAWデバイスをサポートするオペレーティング・システムでRAWデバイスをデータファイルとして指定する場合、datafile_tempfile_specREUSEキーワードを指定しても意味がありません。このようなCREATE TABLESPACE文は、REUSEの指定の有無にかかわらず実行されます。

  • datafile_tempfile_specでディスク・グループ名のみを指定すると、Oracle ASMディスク・グループ内に表領域を作成できます。この場合、Oracle ASMにより指定したディスク・グループにデータファイルが作成され、システム生成のファイル名が付けられます。データファイルは無制限に自動拡張可能です。デフォルト・サイズは100MBです。autoextend_clauseを使用すると、デフォルト・サイズを上書きできます。

  • 既存のファイルを参照するASM_filenameの参照形式の1つを使用する場合、REUSEも指定する必要があります。


注意:

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

MINIMUM EXTENT句

この句は、ディクショナリ管理表領域にのみ有効です。表領域で使用されるエクステントの最小サイズを指定します。この句を指定すると、表領域内のすべての使用済エクステントまたは未使用エクステントのサイズが、size_clauseで指定された値以上であること、およびその倍数であることが保証され、表領域における空き領域の断片化を制御できます。


関連項目:

この句の詳細は、size_clauseを参照してください。MINIMUM EXTENTを使用した断片化の制御については、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

BLOCKSIZE句

表領域の非標準ブロック・サイズを指定するには、BLOCKSIZE句を使用します。この句を指定するには、DB_CACHE_SIZEと少なくとも1つのDB_nK_CACHE_SIZEパラメータを設定する必要があります。また、この句で指定する整数は、DB_nK_CACHE_SIZEパラメータの1つの設定と対応している必要があります。

BLOCKSIZEの制限事項: 一時表領域の場合、または表領域を一時表領域として任意のユーザーに割り当てる場合は、標準以外のブロック・サイズを指定できません。


注意:

パフォーマンスが低下する可能性があるため、セクター・サイズが4Kのディスクにはブロック・サイズが2Kの表領域を格納しないことをお薦めします。


関連項目:

DB_nK_CACHE_SIZEパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。マルチ・ブロック・サイズの詳細は、『Oracle Database概要』を参照してください。

logging_clause

表領域内のすべての表、索引、マテリアライズド・ビュー、マテリアライズド・ビュー・ログおよびパーティションのデフォルトのロギング属性を指定します。デフォルトはLOGGINGです。この句は、一時表領域またはUNDO表領域では無効です。

表レベル、索引レベル、マテリアライズド・ビュー・レベル、マテリアライズド・ビュー・ログ・レベル、パーティション・レベルでのロギングを指定することで、表領域レベルのロギング属性を上書きできます。


関連項目:

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

FORCE LOGGING

この句を使用すると、表領域はFORCE LOGGINGモードになります。一時セグメントへの変更を除き、表領域内のすべてのオブジェクトに対するすべての変更が記録され、個々のオブジェクトのNOLOGGING設定が上書きされます。データベースをオープンし、READ WRITEモードにしておく必要があります。

この設定によって、NOLOGGING属性が削除されることはありません。FORCE LOGGINGNOLOGGINGの両方を指定できます。この場合、後から表領域に作成されるオブジェクトのデフォルト・ロギング・モードはNOLOGGINGになりますが、表領域またはデータベースがFORCE LOGGINGモードの場合、このデフォルト値は無視されます。この表領域でFORCE LOGGINGモードを無効にすると、デフォルト値であるNOLOGGINGが再度適用されます。


注意:

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

強制ロギングの制限事項: FORCE LOGGINGは、UNDO表領域および一時表領域に対して指定できません。

ENCRYPTION句

この句を使用すると、表領域の暗号化プロパティを指定できます。実際は、この句によって表領域が暗号化されるわけではありません。表領域を暗号化するには、この文のDEFAULT storage_clauseの一部としてENCRYPTキーワードも指定する必要があります。また、ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY ...を使用して、インスタンスの期間中にTDEマスター鍵をデータベース・メモリーにすでにロードしているか、またはHSMへの接続を確立して、暗号化された表と表領域のキーをHSMに送信し、それらを復号化したものを受け取っている必要があります。詳細は、「SET ENCRYPTION WALLET句」を参照してください。


注意:

暗号化を使用して作成された表領域は復号化できません。暗号化されていない表領域を作成し、暗号化されていない表領域にデータベース・オブジェクトを再作成する必要があります。

tablespace_encryption_spec: USING 'encrypt_algorithm'を指定して、使用する暗号化アルゴリズムの名前を示します。有効なアルゴリズムは、AES256AES192AES128および3DES168です。この句を省略すると、AES128が使用されます。

DEFAULT句

DEFAULT句を使用すると、表領域のデフォルト・パラメータを指定できます。

table_compression table_compression句を使用して、表領域で作成されるすべての表のデフォルトのデータ圧縮を指定します。この句は、一時表領域では無効です。この句のセマンティクスの詳細は、「CREATE TABLE」の句table_compressionを参照してください。

storage_clause storage_clauseを使用して、表領域で作成されるすべてのオブジェクトの記憶域パラメータを指定します。この句は、一時表領域またはローカル管理の表領域に対しては無効です。ディクショナリ管理表領域の場合、この句ではCOMPRESSINITIALNEXTMINEXTENTSMAXEXTENTSおよびPCTINCREASE記憶域パラメータを指定できます。詳細は、storage_clauseを参照してください。

ONLINE | OFFLINE句

この句を使用すると、表領域がオンラインまたはオフラインのいずれであるかを決定できます。この句は、一時表領域では無効です。

ONLINE ONLINEを指定すると、表領域に対するアクセス権限を付与されているユーザーに対して、作成直後の表領域を使用可能にできます。これはデフォルトです。

OFFLINE OFFLINEを指定すると、作成直後の表領域を使用禁止にできます。

データ・ディクショナリ・ビューDBA_TABLESPACESは、各表領域がオンラインまたはオフラインのいずれであるかを示します。

extent_management_clause

extent_management_clauseを使用すると、表領域のエクステントの管理方法を指定できます。


注意:

この句でエクステントの管理を指定した後は、表領域を移行しないかぎり、エクステントの管理を変更できません。

  • AUTOALLOCATEを指定すると、表領域がシステム管理されます。ユーザーはエクステント・サイズを指定できません。AUTOALLOCATEは、一時表領域に対して指定できません。

  • UNIFORMを指定すると、表領域をSIZEバイトの均一のエクステントで管理できます。SIZEのデフォルト値は1MBです。一時表領域のすべてのエクステントはサイズが均一であるため、このキーワードは一時表領域ではオプションです。ただし、SIZEを指定する場合は、UNIFORMを指定する必要があります。UNDO表領域にUNIFORMを指定することはできません。

AUTOALLOCATEまたはUNIFORMを指定しない場合のデフォルトは、一時表領域ではUNIFORM、他のすべてのタイプの表領域ではAUTOALLOCATEです。

extent_management_clauseを指定しない場合、MINIMUM EXTENT句およびDEFAULT storage_clauseが解析され、エクステント管理が判断されます。


注意:

DICTIONARYキーワードは、非推奨になる予定です。これは、下位互換性を保つためにのみサポートされています。ただし、ローカル管理表領域を作成することをお薦めします。ローカル管理表領域は、ディクショナリ管理表領域より非常に効率的に管理されます。新しいディクショナリ管理表領域の作成は、サポートされなくなる予定です。


関連項目:

ローカル管理表領域については、『Oracle Database概要』を参照してください。

エクステント管理の制限事項: エクステント管理には、次の制限事項があります。

  • 永続的なローカル管理表領域には、永続オブジェクトのみを格納できます。ローカル管理表領域に一時オブジェクトを格納する必要がある場合(たとえば、ユーザーの一時表領域に割り当てる場合)は、temporary_tablespace_clauseを使用します。

  • この句を指定する場合、DEFAULT storage_clauseMINIMUM EXTENTまたはtemporary_tablespace_clauseは指定できません。


関連項目:

表領域の移行によってエクステントの管理を変更する場合は、『Oracle Database管理者ガイド』および「ローカル管理表領域の作成例:」を参照してください。

segment_management_clause

segment_management_clauseは、永続的なローカル管理表領域に対してのみ有効です。Oracle Databaseが、空きリストまたはビットマップのどちらを使用して、表領域のセグメントにある使用済領域および空き領域を追跡するかを指定できます。この句は、一時表領域では無効です。

AUTO AUTOを指定すると、ビットマップを使用して表領域のセグメントにある空き領域を管理できます。AUTOを指定すると、この表領域のオブジェクトに対して後で指定する記憶域のPCTUSEDFREELISTおよびFREELIST GROUPSの値は無視されます。この設定を自動セグメント領域管理といい、これがデフォルトです。

MANUAL MANUALを指定すると、空きリストを使用して表領域のセグメントにある空き領域を管理できます。この設定は使用しないようにして、自動セグメント領域の表領域を作成することを強くお薦めします。

既存の表領域のセグメント管理を確認するには、DBA_TABLESPACESまたはUSER_TABLESPACESデータ・ディクショナリ・ビューのSEGMENT_SPACE_MANAGEMENT列を問い合せます。


注意:

AUTOセグメント管理を指定する場合、次のことに注意します。
  • エクステント管理をLOCAL UNIFORMに設定する場合は、各エクステントに5以上のデータベース・ブロックがあることを確認する必要があります。

  • エクステント管理をLOCAL AUTOALLOCATEに設定する場合、およびデータベースのブロック・サイズが16KB以上の場合は、最小で5ブロック(64KBに切り上げられる)のエクステントが作成され、セグメント領域管理が管理されます。


自動セグメント領域管理の制限事項 この句には、次の制限事項があります。

  • この句は、永続的なローカル管理表領域に対してのみ指定できます。

  • この句は、SYSTEM表領域に対して指定できません。


関連項目:


flashback_mode_clause

この句をALTER DATABASE FLASHBACK句と組み合せて使用すると、FLASHBACK DATABASE操作に表領域を使用できるかどうかを指定できます。この句は、データベースがFLASHBACKモードでオープンされているときに、この表領域のフラッシュバック・ログ・データを保持しない場合に便利です。

この句は、一時表領域またはUNDO表領域では無効です。

FLASHBACK ON FLASHBACK ONを指定すると、表領域でFLASHBACKモードを有効にできます。この表領域のフラッシュバック・ログ・データが保存され、FLASHBACK DATABASE操作でこの表領域を使用できるようになります。flashback_mode_clauseを指定しない場合、デフォルトでFLASHBACK ONが指定されます。

FLASHBACK OFF FLASHBACK OFFを指定すると、表領域でFLASHBACKモードを無効にできます。この表領域のフラッシュバック・ログ・データは保存されません。FLASHBACK DATABASE操作の実行前に、この表領域のデータファイルをオフラインにするか、または削除する必要があります。または、表領域全体をオフラインにすることもできます。どちらの場合も、既存のフラッシュバック・ログは削除されません。


注意:

表領域のFLASHBACKモードは、個々の表のFLASHBACKモードに依存しません。


関連項目:

  • Oracle Flashback Databaseの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

  • データベース全体をFLASHBACKモードに設定し、データベースを以前のバージョンに戻す方法の詳細は、「ALTER DATABASE」および「FLASHBACK DATABASE」を参照してください。

  • 「FLASHBACK TABLE」およびflashback_query_clauseを参照してください。


temporary_tablespace_clause

この句を使用すると、ローカル管理一時表領域を作成できます。一時表領域は、セッションの存続期間中にのみ保持される一時データを格納できるデータベース内の領域割当てです。プロセスまたはインスタンスに障害が発生した場合、この一時データをリカバリすることはできません。

一時データとは、一時表などのユーザー生成スキーマ・オブジェクト、またはハッシュ結合およびソート操作で使用される一時領域などのシステム生成データです。一時表領域、またはこの表領域が含まれる表領域グループを特定のユーザーに割り当てると、このユーザーによって開始されるトランザクションでのソート操作にこの表領域が使用されます。

TEMPFILE句の詳細は、「DATAFILE | TEMPFILE句」を参照してください。extent_management_clauseの詳細は、extent_management_clauseを参照してください。


関連項目:

ユーザーに対する一時表領域の割当ての詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

tablespace_group_clause

この句は、一時表領域に対してのみ有効です。この句を使用すると、tablespaceが表領域グループに含まれるかどうかを決定できます。表領域グループを使用すると、複数の一時表領域を1人のユーザーに割り当て、一時表領域のアクセス性を向上できます。

  • グループ名を指定すると、tablespaceがその表領域グループのメンバーであることを示すことができます。グループ名にtablespaceまたは他の既存の表領域と同じ名前を指定することはできません。表領域グループがすでに存在する場合、そのグループに新しい表領域が追加されます。表領域グループが存在しない場合、グループが作成され、そのグループに新しい表領域が追加されます。

  • 空の文字列(' ')を指定すると、tablespaceがいずれの表領域グループにも属さないことを示すことができます。


関連項目:


一時表領域の制限事項: 一時表領域に格納されたデータは、セッションの存続期間中のみ保持されます。そのため、CREATE TABLESPACE句のサブセットのみが一時表領域に対して有効です。一時表領域に対して指定できるのは、TEMPFILE句、tablespace_group_clauseおよびextent_management_clauseのみです。

undo_tablespace_clause

UNDOを指定すると、UNDO表領域を作成できます。自動UNDO管理モードでデータベースを実行する場合、Oracle Databaseは、ロールバック・セグメントのかわりにUNDO表領域を使用してUNDO領域を管理します。この句は、自動UNDO管理モードで作成しなかったデータベースを自動UNDO管理モードで実行している場合に便利です。

自動UNDO管理モードでデータベースを起動すると、UNDO表領域が割り当てられます。UNDO表領域がインスタンスに割り当てられない場合、SYSTEMロールバック・セグメントが使用されます。UNDO表領域の作成によってこれを回避することができ、他のUNDO表領域がその時点で割り当てられていない場合、インスタンスに暗黙的に割り当てられます。

DATAFILE句の詳細は、「DATAFILE | TEMPFILE句」を参照してください。

extent_management_clause

UNDO表領域を作成するときにはextent_management_clauseを指定する必要はありません。これは、UNDO表領域が、AUTOALLOCATEエクステント管理を使用するローカル管理表領域である必要があるためです。この句を指定する場合は、EXTENT MANAGEMENT LOCALまたはEXTENT MANAGEMENT LOCAL AUTOALLOCATEを指定する必要があります。どちらも、この句を省略した場合と同じ結果になります。この句のセマンティクスの詳細は、「extent_management_clause」を参照してください。

tablespace_retention_clause

この句は、UNDO表領域に対してのみ有効です。

  • RETENTION GUARANTEEを指定すると、tablespaceのすべてのUNDOセグメントの期限切れ前のUNDOデータが、これらのセグメントのUNDO領域を必要とする実行中の操作が失敗する場合でも保持されます。この設定は、Oracleフラッシュバック問合せまたはOracleフラッシュバック・トランザクション問合せを発行し、データの問題を診断および修正する必要がある場合に便利です。

  • RETENTION NOGUARANTEEを指定すると、UNDO動作を通常の動作に戻すことができます。実行中のトランザクションで必要な場合には、期限切れ前のUNDOデータによって使用されているUNDOセグメントの領域を使用できます。これはデフォルトです。

UNDO表領域の制限事項: UNDO表領域には、次の制限事項があります。

  • この表領域にはデータベース・オブジェクトを作成できません。システム管理のUNDOデータ用に確保されています。

  • ローカルのAUTOALLOCATEエクステント管理を指定するためにUNDO表領域に対して指定できるのは、DATAFILE句およびextent_management_clause句のみです。extent_management_clauseを使用した、ローカルのUNIFORMエクステント管理またはディクショナリ・エクステント管理の指定はいずれもできません。すべてのUNDO表領域は、永続的、読取り/書込み可能およびロギング・モードで作成されます。MINIMUM EXTENTおよびDEFAULT STORAGEに対する値は、システムで生成されます。


関連項目:

  • 自動UNDO管理およびUNDO表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。UNDO_MANAGEMENTパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

  • データベースの作成時にUNDO表領域を作成する方法は、「CREATE DATABASE」を参照してください。また、「ALTER TABLESPACE」および「DROP TABLESPACE」を参照してください。

  • 「UNDO表領域の作成例:」


これらの例では、8Kブロックを使用していると想定します。

bigfile表領域の作成例: 次の例は、20MBのデータファイルbigtbs_f1.dbfを持つbigfile表領域bigtbs_01を作成します。

CREATE BIGFILE TABLESPACE bigtbs_01
  DATAFILE 'bigtbs_f1.dbf'
  SIZE 20M AUTOEXTEND ON;

UNDO表領域の作成例: 次の例は、10MBのUNDO表領域undots1を作成します。

CREATE UNDO TABLESPACE undots1
   DATAFILE 'undotbs_1a.dbf'
   SIZE 10M AUTOEXTEND ON
   RETENTION GUARANTEE;

一時表領域の作成例: 次の文は、サンプル・データベースのデータベース・ユーザーに対するデフォルトの一時表領域を作成します。

CREATE TEMPORARY TABLESPACE temp_demo
   TEMPFILE 'temp01.dbf' SIZE 5M AUTOEXTEND ON;

デフォルトのデータベース・ブロック・サイズを2KBとした場合、マップの各ビットは1つのエクステントを表し、各ビットは2,500ブロックをマップします。

次の例は、データファイルを作成するデフォルトの位置を設定し、デフォルトの位置にOracle Managed Filesの一時ファイルを持つ表領域を作成します。一時ファイルは100MBで、最大サイズが制限なしで自動拡張されます。これらは、Oracle Managed Filesのデフォルト値です。

ALTER SYSTEM SET DB_CREATE_FILE_DEST = '$ORACLE_HOME/rdbms/dbs';

CREATE TEMPORARY TABLESPACE tbs_05;

表領域グループへの一時表領域の追加例: 次の文は、tbs_grp_01表領域グループに含まれるtbs_temp_02一時表領域を作成します。この表領域グループが存在しない場合、文の実行中に作成されます。

CREATE TEMPORARY TABLESPACE tbs_temp_02
  TEMPFILE 'temp02.dbf' SIZE 5M AUTOEXTEND ON
  TABLESPACE GROUP tbs_grp_01;

基本的な一時表領域の作成例: 次の文は、1つのデータファイルを持つ表領域tbs_01を作成します。

CREATE TABLESPACE tbs_01 
   DATAFILE 'tbs_f2.dbf' SIZE 40M 
   ONLINE; 

次の文は、1つのデータファイルを持つ表領域tbs_03を作成し、すべてのエクステントを500KBの倍数として割り当てます。

CREATE TABLESPACE tbs_03 
   DATAFILE 'tbs_f03.dbf' SIZE 20M
   LOGGING;

表領域の自動拡張を使用可能にする場合の例: 次の文は、1つのデータファイルを持つ表領域tbs_02を作成します。さらに領域が必要な場合、500KBのエクステントが最大サイズ100MBまで追加されます。

CREATE TABLESPACE tbs_02 
   DATAFILE 'diskb:tbs_f5.dbf' SIZE 500K REUSE
   AUTOEXTEND ON NEXT 500K MAXSIZE 100M;

ローカル管理表領域の作成例: 次の文では、データベース・ブロック・サイズが2KBであると仮定します。

CREATE TABLESPACE tbs_04 DATAFILE 'file_1.dbf' SIZE 10M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

この文で、すべてのエクステントが128KBで、ビットマップの各ビットが64ブロックを示す、ローカル管理表領域を作成します。

次の文は、均一のエクステントを持つローカル管理表領域を作成して、その表領域に格納された表の例を示します。

CREATE TABLESPACE lmt1 DATAFILE 'lmt_file2.dbf' SIZE 100m REUSE
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

CREATE TABLE lmt_table1 (col1 NUMBER, col2 VARCHAR2(20))
  TABLESPACE lmt1 STORAGE (INITIAL 2m);

表の初期セグメント・サイズは2MBです。

次の例は、均一のエクステントを持たないローカル管理表領域を作成します。

CREATE TABLESPACE lmt2 DATAFILE 'lmt_file3.dbf' SIZE 100m REUSE 
  EXTENT MANAGEMENT LOCAL;

CREATE TABLE lmt_table2 (col1 NUMBER, col2 VARCHAR2(20)) 
  TABLESPACE lmt2 STORAGE (INITIAL 2m MAXSIZE 100m);

表の初期セグメント・サイズは2MBです。Oracle Databaseによって、初期セグメント・サイズを満たすように各エクステントのサイズおよび割り当てられるエクステントの合計数が決定されます。セグメントの最大サイズは、100MBに制限されています。

暗号化された表領域の作成例: 次の例の最初の文は、ウォレットを開くことによって、データベースに対して暗号化を使用可能にします。2番目の文は、暗号化された表領域を作成します。

ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "wallet_password";

CREATE TABLESPACE encrypt_ts
  DATAFILE '$ORACLE_HOME/dbs/encrypt_df.dbf' SIZE 1M
  ENCRYPTION USING 'AES256'
  DEFAULT STORAGE (ENCRYPT);

表領域に対してセグメント領域管理を指定する場合の例: 次の例では、自動セグメント領域管理の表領域を作成します。

CREATE TABLESPACE auto_seg_ts DATAFILE 'file_2.dbf' SIZE 1M
   EXTENT MANAGEMENT LOCAL
   SEGMENT SPACE MANAGEMENT AUTO;

Oracle Managed Filesの作成例: 次の例は、データファイルを作成するデフォルトの位置を設定し、デフォルトの位置にデータファイルを持つ表領域を作成します。データファイルは100MBで自動拡張可能であり、最大サイズの制限がありません。

ALTER SYSTEM SET DB_CREATE_FILE_DEST = '$ORACLE_HOME/rdbms/dbs';

CREATE TABLESPACE omf_ts1;

次の例は、自動拡張されない100MBのOracle Managed Filesのデータファイルを持つ表領域を作成します。

CREATE TABLESPACE omf_ts2 DATAFILE AUTOEXTEND OFF;