ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

デフォルトはENABLED IMMEDIATEで、これにより読取り/書込みトランザクションでは、読取り専用トランザクションがアクティブかどうかにかかわらず、変更した行のコピーがスナップショット・ファイルに書き込まれます。

ENABLED DEFERREDオプションを指定すると、読取り/書込みトランザクションにおいて(読取り専用トランザクションがアクティブでないかぎり)変更した行のコピーのスナップショット・ファイルへの書込みが回避できます。この方法でスナップショットへの書込みを遅延することにより、読取り/書込みトランザクションのパフォーマンスが向上します。ただし、アクティブな読取り/書込みトランザクションの開始より後に開始される読取り専用トランザクションは、すべてのアクティブな読取り/書込みユーザーがそれらのトランザクションを完了するまで待機する必要があります。

SNAPSHOT EXTENT IS extent-pages PAGES

SNAPSHOT EXTENT IS (extension-options)

各スナップショットまたは記憶域ファイル・エクステントのページ数を指定します。記憶域ファイルのデフォルトのエクステントは99ページです。

エクステントの制御が単純な場合は、ページ数を指定します。複数データベースをより厳密に制御するには、かわりにMINIMUM、MAXIMUMおよびPERCENT GROWTHのエクステント・オプションを使用します。

MINIMUM、MAXIMUM、およびPERCENT GROWTHパラメータを使用する場合は、それらを丸カッコで囲む必要があります。

SNAPSHOT FILENAME file-spec

記憶域スナップショット・ファイル用に別のファイル仕様を指定します。SNAPSHOT FILENAME引数は、複数ファイルのデータベースとともにのみ使用できます。

複数ファイルのデータベースでは、CREATE DATABASE文が、独自のSNAPSHOT FILENAME句を含むCREATE STORAGE AREA RDB$SYSTEM句を含んでいる場合を除き、RDB$SYSTEM記憶域スナップショット・ファイルにファイル仕様が使用されます。

ファイル仕様には、.snp以外のスナップショット・ファイル仕様は指定しないでください。Oracle Rdbでは、別の拡張子を指定した場合でも、ファイル仕様に拡張子.snpが割り当てられます。

SNAPSHOT FILENAME引数を省略すると、.snpファイルのデバイス名、ディレクトリ名およびファイル名はデータベース・ルート・ファイルと同じになります。

SNAPSHOT IS DISABLED

スナップショットへの書込みを無効に指定します。デフォルトでは、スナップショットへの書込みは有効です。SNAPSHOT IS DISABLEDオプションを指定した場合は、SNAPSHOT IS ENABLEDのいずれのオプションも指定できず、データベースをオンラインでバックアップできません。ただし、将来スナップショットを有効にすると、スナップショット・オプションの設定を続行できます。スナップショットが無効になっている間は、スナップショット・オプションの設定で競合が起こる可能性がSQLにより警告されますが、文は実行されます。

SNAPSHOT IS ENABLED IMMEDIATE

SNAPSHOT IS ENABLED DEFERRED

読取り/書込みトランザクションにおいて、読取り専用トランザクションで使用するスナップショット・ファイルにデータベースの変更を書き込むタイミングを指定します。

デフォルトはENABLED IMMEDIATEで、これにより読取り/書込みトランザクションでは、読取り専用トランザクションがアクティブかどうかにかかわらず、変更した行のコピーがスナップショット・ファイルに書き込まれます。

ENABLED DEFERREDオプションを指定すると、読取り/書込みトランザクションにおいて(読取り専用トランザクションがアクティブでないかぎり)変更した行のコピーのスナップショット・ファイルへの書込みが回避できます。この方法でスナップショットへの書込みを遅延することにより、読取り/書込みトランザクションのパフォーマンスが向上します。ただし、アクティブな読取り/書込みトランザクションの開始より後に開始される読取り専用トランザクションは、すべてのアクティブな読取り/書込みユーザーがそれらのトランザクションを完了するまで待機する必要があります。

STATISTICS COLLECTION IS ENABLED

STATISTICS COLLECTION IS DISABLED

データベースに関する統計収集を有効にするか無効にするかを指定します。データベースに関する統計を無効にした場合、データベースにアタッチされているプロセスに統計は表示されません。統計の表示には、RMU Show Statisticsコマンドを使用します。

デフォルトはSTATISTICS COLLECTION IS ENABLEDです。ALTER DATABASE文およびIMPORT文を使用すると統計を無効にできます。

RMU Show Statisticsコマンドの詳細は、『Oracle Rdb for OpenVMS Oracle RMUリファレンス・マニュアル』を参照してください。

統計収集を有効にする場合は、論理名RDM$BIND_STATS_ENABLEを定義します。統計収集を使用する場合の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。

storage-area-params

データベース記憶域ファイルの特性を制御するパラメータです。ほとんどの記憶域パラメータを単一ファイルのデータベースまたは複数ファイルのデータベースに指定できますが、句の影響は異なります。

SYSTEM INDEX (COMPRESSION IS...)

データベースの作成者は、この句を使用して圧縮されたシステムの索引を選択できます。デフォルトはSYSTEM INDEX (COMPRESSION IS DISABLED)です。

圧縮が有効になっている場合、Oracle Rdbではランレングス圧縮を使用して、テキスト・データ型からの2つ以上の連続する空白文字、または非文字データ型からの2つ以上のバイナリ・ゼロを圧縮します。システムの索引を圧縮すると、記憶域が減少し、I/Oが改善されます。アプリケーションが頻繁にデータ定義を同時実行しないかぎり、システムの索引を圧縮してください。

SYSTEM INDEX (COMPRESSION IS...)句を指定して作成したデータベースは、EXPORT文およびIMPORT文を使用してのみ変更できます。圧縮モードを変更するためのデータベース変更はできません。

SYSTEM INDEX COMPRESSION IS句は、この句と同一で、Oracle Rdbの古いバージョンとの互換性の目的で保持されています。

SYSTEM INDEX (PREFIX CARDINALITY COLLECTION IS ...)

データベースの作成者は、この句を使用してシステムの索引用にプリフィックスのカーディナリティ収集を調整できます。これらの句の詳細は、「CREATE INDEX文」を参照してください。デフォルトはPREFIX CARDINALITY COLLECTION IS ENABLEDです。

SYSTEM INDEX (TYPE IS...)

データベースの作成者は、この句を使用してシステム表用にSORTED索引またはSORTED RANKED索引のいずれかを選択できます。デフォルトはSORTEDです。SORTED RANKED索引は、重複の多いシステムの索引に対するDDL操作中の領域使用率およびCPU使用率の低下において利点があります。

SYNONYMS ARE ENABLED

CREATE SYNONYM文、ALTER...RENAME TO文およびRENAME文に使用するオプションのシステム表RDB$OBJECT_SYNONYMSを追加します。省略した場合のデフォルトでは無効になります。

THRESHOLD IS number-buffers BUFFERS

この数値は、プリフェッチの開始前に検出される必要がある順次バッファ・アクセスの数を表します。デフォルトは4バッファです。

THRESHOLDオプションを指定する場合は、DETECTED ASYNC PREFETCH句がすでに指定されている必要があります。ASYNC PREFETCH句にTHRESHOLDオプションを指定しようとすると、エラーが表示されます。

THRESHOLDS ARE (val1 [,val2 [,val3] ])

しきい値を(1つ、2つまたは3つ)指定します。しきい値はデータ・ページの占有率を示し、データ・ページ上で保証されている空き領域について、考えられる4つの範囲を設定します。データ・ページがあるしきい値で定義されている割合に達した場合は、新しい占有率と残りの空き領域を反映するよう、データ・ページの領域管理(SPAM)エントリが更新されます。

デフォルトのしきい値は、70、85、および95パーセントです。値を1つまたは2つのみ指定する場合は、指定されなかった値は、デフォルトで100パーセントになります。

単一ファイルのデータベースにはTHRESHOLDS記憶域パラメータは指定できず、PAGE FORMAT IS MIXEDを明示的に指定していない場合もTHRESHOLDS記憶域パラメータは指定できません。均一記憶域にしきい値を指定するには、CREATE STORAGE MAP文を使用します。

領域管理パラメータの設定の詳細は、『Oracle Rdb7 Guide to Database Maintenance』を参照してください。

USER 'username'

データベース・システムでの権限チェックに使用されるオペレーティング・システムのユーザー名を指定する文字列リテラルです。この句では、SYSTEM_USER値式の値も設定します。

USER LIMIT IS max-glo-buffers

各アタッチが割り当てるグローバル・バッファの最大数を指定します。グローバル・バッファ・プールはすべてのアタッチで共有されるため、1アタッチが割当て可能なグローバル・バッファの数の上限を定義する必要があります。この制限により、1ユーザーがRDM$BIND_BUFFERS論理名を定義してグローバル・バッファ・プール内のすべてのバッファを使用することを防止できます。(ローカル・バッファまたはグローバル・バッファのいずれを使用しているかによって異なるRDM$BIND_BUFFERSの動作は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。)

ユーザーごとの制限は、グローバル・バッファの総数より大きくできません。デフォルトは5バッファです。ユーザーごとの制限は、RMU Dumpコマンド出力に1ユーザー当たりの最大グローバル・バッファの数として表示されます。

プロセスがアタッチごとに割当て可能なグローバル・バッファの最大数は、NUMBER IS句で設定されるグローバル・バッファの総数を、データベースへのアクセスが保証されているアタッチの総数で割ることにより決定します。たとえば、グローバル・バッファの総数が200であり、少なくとも10アタッチに対してデータベースへのアクセスを保証する場合、1アタッチ当たりのグローバル・バッファの最大数は20に設定します。

一般的には、グローバル・バッファを使用する場合、1ユーザー当たりのグローバル・バッファの最大数は、デフォルトのデータベース・バッファの数よりも大きく設定します。VMSclusterシステムのパフォーマンスを最大化できるように、Global_Buffers修飾子を指定したRMU Openコマンドを使用してクラスタ内の各ノード上で2つのグローバル・バッファ・パラメータをチューニングします。

USER LIMIT ISパラメータはオンラインで変更できますが、その変更は次回データベースがオープンするまで反映されません。

グローバル・バッファ固有のバッファ・パラメータは、NUMBER ISパラメータおよびUSER LIMIT ISパラメータの2つのみです。そのため、これらは、プロセスごとにではなくノードごとに適用されます。

USING 'password'

USER句で指定されているユーザー名に対するユーザーのパスワードを指定する文字列リテラルです。

txn-modes

データベースのトランザクション・モードを指定します。

モード 説明
ALL すべてのモードが有効。
NONE 有効なモードなし。
トランザクション・タイプ
[NO]READ ONLY データベースに対して読取り専用トランザクションを実行可能。
[NO]READ WRITE データベースに対して読取り/書込みトランザクションを実行可能。
[NO] BATCH UPDATE データベースに対してバッチ更新トランザクションを実行可能。このモードの実行では、セキュリティ機能やリカバリ・ユニット・ジャーナル・ファイルは適用されず、オーバーヘッドは発生しない。バッチ更新トランザクションは、テータベースの初期ロードに使用するためのものである。Oracle Rdbでは、このモードは無効にすることを推奨。
モードの予約
[NO] SHARED
[READ | WRITE]
表を共有モード用に予約可能。つまり、他のユーザーもこれらの表を使用できる。
[NO] PROTECTED [READ | WRITE] 表を保護モード用に予約可能。つまり、他のユーザーもこれらの表から読み取ることができる。
[NO] EXCLUSIVE [READ | WRITE] 表を排他アクセス用に予約可能。つまり、READ ONLYトランザクションであっても他のユーザーはこれらの表にアクセスできない。
ALL 他のユーザーでもすべての表を使用可能。
NONE 表へのアクセスは不可。

txn-modesの詳細は、「SET TRANSACTION文」を参照してください。

WAIT n MINUTES FOR CLOSE

データベースが自動的にクローズするまでOracle Rdbが待機する時間を指定します。この待機時間中にいずれかのユーザーがアタッチすると、データベースはクローズされません。

WAIT句が指定されない場合、nのデフォルト値はゼロ(0)です。nの値には、ゼロ(0)〜35,791,394の範囲の値が可能です。ただし、Oracle Rdbでは、大きい値は使用しないことをお薦めします。

WORKLOAD COLLECTION IS ENABLED

WORKLOAD COLLECTION IS DISABLED

オプティマイザがワークロード情報をシステム表RDB$WORKLOADに記録するかどうかを指定します。このシステム表は、存在しない場合でも、WORKLOAD COLLECTION IS ENABLED句により作成されます。後でワークロード収集を無効にしても、RDB$WORKLOADシステム表は削除されません。

ワークロード・プロファイルは、データベース・ワークロードにおいて問合せにより使用される目的の表参照および列参照の詳細です。ワークロード収集を有効にすると、オプティマイザによりこれらの参照が収集され、RDB$WORKLOADシステム表に記録されます。このワークロードはさらに、ワークロードに関する便利な統計を記録するRMU Analyze Statisticsコマンドにより処理されます。これらのワークロード統計は、より精密なアクセス計画を用意するためにオプティマイザにより実行時に使用されます。

デフォルトでは、ワークロード収集は無効です。


使用方法


例1: 単一ファイルのデータベースの作成

このコマンド・ファイルの例では、CREATE DATABASE文の内部で定義されているドメインで構成されたEMPLOYEESという1つの表を含む、単一ファイルのデータベースを作成します。EMPLOYEES表は、サンプルの人事データベースの表と同じ定義で構成されています。

人事データベースの複数ファイルのバージョンを作成する例は、「CREATE STORAGE AREA句」を参照してください。


SQL> -- By omitting a FILENAME clause, the database root file
SQL> -- takes the file name from the alias:
SQL> CREATE DATABASE ALIAS personnel
cont> --
cont> -- This CREATE DATABASE statement takes default
cont> -- database root file and storage area parameter values.
cont> --
cont> -- Create domains.
cont> -- Note that database elements do not terminate with semicolons.
cont> --
cont> CREATE DOMAIN ID_DOM CHAR(5)
cont> --
cont> CREATE DOMAIN LAST_NAME_DOM CHAR(14)
cont> --
cont> CREATE DOMAIN FIRST_NAME_DOM CHAR(10)
cont> --
cont> CREATE DOMAIN MIDDLE_INITIAL_DOM CHAR(1)
cont> --
cont> CREATE DOMAIN ADDRESS_DATA_1_DOM CHAR(25)
cont> --
cont> CREATE DOMAIN ADDRESS_DATA_2_DOM CHAR(20)
cont> --
cont> CREATE DOMAIN CITY_DOM CHAR(20)
cont> --
cont> CREATE DOMAIN STATE_DOM CHAR(2)
cont> --
cont> CREATE DOMAIN POSTAL_CODE_DOM CHAR(5)
cont> --
cont> CREATE DOMAIN SEX_DOM CHAR(1)
cont> --
cont> CREATE DOMAIN DATE_DOM DATE
cont> --
cont> CREATE DOMAIN STATUS_CODE_DOM CHAR(1)
cont> --
cont> -- Create a table:
cont> --
cont> CREATE TABLE EMPLOYEES
cont>    (
cont>    EMPLOYEE_ID      ID_DOM
cont>      CONSTRAINT     EMP_EMPLOYEE_ID_NOT_NULL
cont>      NOT NULL
cont>     NOT DEFERRABLE,
cont>    LAST_NAME        LAST_NAME_DOM,
cont>    FIRST_NAME       FIRST_NAME_DOM,
cont>    MIDDLE_INITIAL   MIDDLE_INITIAL_DOM,
cont>    ADDRESS_DATA_1   ADDRESS_DATA_1_DOM,
cont>    ADDRESS_DATA_2   ADDRESS_DATA_2_DOM,
cont>    CITY             CITY_DOM,
cont>    STATE            STATE_DOM,
cont>    POSTAL_CODE      POSTAL_CODE_DOM,
cont>    SEX              SEX_DOM,
cont>      CONSTRAINT     EMP_SEX_VALUES
cont>      CHECK          (
cont>                     SEX IN ('M', 'F') OR SEX IS NULL
cont>                     )
cont>     NOT DEFERRABLE,
cont>    BIRTHDAY         DATE_DOM,
cont>    STATUS_CODE      STATUS_CODE_DOM,
cont>      CONSTRAINT     EMP_STATUS_CODE_VALUES
cont>      CHECK          (
cont>                     STATUS_CODE IN ('0', '1', '2')
cont>                     OR STATUS_CODE IS NULL
cont>                     )
cont>     NOT DEFERRABLE,
cont>    )
cont> --
cont> -- End CREATE DATABASE by specifying a semicolon:
cont> ;