詳細は、第2.6.5項を参照してください。
ユーザー・データの他に、デフォルト記憶域には次のシステム表が格納されます。
これらのシステム表の他の記憶域への移動の詳細は、『Oracle Rdb7 Guide to Database Design and Definition』を参照してください。
DEFAULT STORAGE AREAパラメータにより、既存の記憶域を参照する必要があります。記憶域は、DEFAULT STORAGE AREAパラメータと同じCREATE DATABASE文にあるCREATE STORAGE AREA句を指定して作成する必要があります。
デフォルトの数は、バッファ・プールの4分の1で、上限は8です。論理名RDM$BIND_APF_DEPTHを使用すると、CREATE文またはALTER DATABASE文で指定したバッファの数をオーバーライドできます。
DETECTED ASYNC PREFETCH句を使用してこのオプションを指定することもできます。
経験則を使用することで、順次I/Oをその時点で実際に実行していなくても、検出済非同期プリフェッチによってI/Oパターンが順次動作するかどうかが決まります。たとえば、LIST OF BYTE VARYING列がフェッチされた場合、フェッチ中のページが順次処理され、ページが引き続き非同期に順次フェッチされることが経験則によって検出されます。これにより、ページが本当に必要な場合には待機時間が回避されます。
検出済非同期プリフェッチはデフォルトで有効です。
CREATE DATABASE文のデータベース・ルート・パラメータ・ファイルからPATHNAME句を省略した場合に、DICTIONARY IS REQUIREDも指定すると、SQLによってエラーが生成されます。
デフォルトでは、DICTIONARY IS NOT REQUIREDが使用されます。
サイズが不適切な記憶域が作成され、エクステントが有効な場合は、混合ページ形式の記憶域にハッシュ索引を作成する際に、パフォーマンス上の問題が生じる場合があります。エクステントを無効にすると、この問題を早期に診断して修正し、パフォーマンスを向上させることができます。
ALIAS句を指定する場合は、FILENAME句を省略できます。FILENAME句を省略すると、ファイル仕様のデフォルトは次のようになります。
完全なファイル仕様または部分的なファイル仕様を使用します。
論理名は、ファイル仕様のすべてまたは一部に使用できます。
単純なファイル名を使用すると、SQLでは現行のデフォルト・ディレクトリにデータベースが作成されます。CREATE DATABASE文では、ファイル拡張子が異なる複数のファイルが作成されることがあるため、ファイル仕様ではファイル拡張子を指定しないでください。
FILENAME句のファイル仕様を使用して作成されたファイル数とファイル・タイプは、複数ファイルのデータベースまたは単一ファイルのデータベースのどちらを作成するかによって異なります。
単一ファイルのデータベースを作成する場合、ALTER DATABASE...ADD STORAGE AREA文を使用して、後でデータ・ファイルおよびスナップショット・ファイルを作成することはできません。単一ファイルのデータベースから複数ファイルのデータベースへ変更する場合、EXPORT文およびIMPORT文を使用する必要があります。
OpenVMS GalaxyはOpenVMS Alphaオペレーティング・システム用のソフトウェア・アーキテクチャで、OpenVMSの複数のインスタンスが単一のコンピュータで協調して実行されることを可能にします。インスタンスはOpenVMS Alphaオペレーティング・システムのコピーを参照します。Oracle Rdb内の既存OpenVMSクラスタ・サポートの拡張子として、Oracle Rdbでは、Galaxyシステム内の複数のインスタンス(またはノード)でオープンされたデータベースのサポートが提供され、メモリー内のデータ構造が共有されます。Oracle Rdb Galaxy環境内では、オープン・データベースにより、すべてのインスタンスで次のものが共有されます。
GALAXY SUPPORTが有効な場合、単一のグローバル・バッファ・プールがすべてのGalaxyノードによって共有されます。 |
INCREMENTAL BACKUP SCAN OPTIMIZATIONを指定する場合、SPAMトランザクション数(TSN)がルート・ファイルのバックアップTSNより大きい場合にのみ、各領域のSPAMページがチェックされ、ページのSPAM間隔がスキャンされます。これは、SPAM間隔のページが最後の全体バックアップ操作後に更新されたことを意味します。SPAM間隔を更新すると、追加のI/Oが発生します。
使用するデータベースのSPAM間隔が大きいか頻繁に更新されない場合、および増分バックアップの速度を上げる場合は、INCREMENTAL BACKUP SCAN OPTIMIZATIONを指定します。
NO INCREMENTAL BACKUP SCAN OPTIMIZATIONを指定すると、Oracle Rdbでは各ページがチェックされ、増分バックアップ中の変更が検索されます。
使用するデータベースが頻繁に更新される場合、バルク・ロード操作が使用される場合、増分バックアップが使用されない場合、または実行時のパフォーマンスを向上させる場合には、NO INCREMENTAL BACKUP SCAN OPTIMIZATION句を指定します。
デフォルトは、INCREMENTAL BACKUP SCAN OPTIMIZATIONです。
単一ファイルのデータベースにはINTERVAL記憶域パラメータは指定できず、PAGE FORMAT IS MIXEDを明示的に指定していない場合もINTERVAL記憶域パラメータは指定できません。
Oracle Rdbでは、ページごとのブロック数に基づいて最大INTERVALサイズが計算され、この値を超える場合はエラー・メッセージが返されます。たとえば、ページ・サイズが2ブロックの場合、最大INTERVALは4008ページになります。INTERVALを4009に設定して記憶域を作成しようとすると、次のエラー・メッセージが返されます。
%RDB-E-BAD_DPB_CONTENT, invalid database parameters in the database parameter block (DPB) -RDMS-F-SPIMAX, spam interval of 4009 is more than the Rdb maximum of 4008 -RDMS-F-AREA_NAME, area NEW |
領域管理パラメータの設定の詳細は、『Oracle Rdb7 Guide to Database Maintenance』を参照してください。
次の両方がTRUEの場合のみ、LARGE MEMORY IS ENABLED句を使用してください。
デフォルトはLARGE MEMORY IS DISABLED句です。
大容量メモリー(VLM)機能の制限は、「使用方法」を参照してください。
記憶域の数は、現在のプロセス・ファイルのオープンな割当て制限より少なくする必要があります。記憶域の数は、1から作成中の記憶域の数までです。
LIST STORAGE AREAパラメータは複数ファイルのデータベースのみに指定できます。
デフォルトでは、LIST OF BYTE VARYINGデータ型の列はRDB$SYSTEM記憶域に格納されます。この句で異なる記憶域を指定する場合、CREATE DATABASE文にはその記憶域を定義するCREATE STORAGE AREA句を指定する必要があります。表に対して複数のリスト記憶域を作成する場合の詳細は、「CREATE STORAGE AREA句」を参照してください。
次の例は、LIST STORAGE AREA句の有効な構文を示しています。
SQL> CREATE DATABASE FILENAME test cont> LIST STORAGE AREA IS registry_area cont> CREATE STORAGE AREA RDB$SYSTEM FILENAME maintenance_area cont> CREATE STORAGE AREA registry_area FILENAME registry_area; SQL> CREATE STORAGE MAP registry_map cont> STORE LISTS IN registry_area; |
このリテラルにより、CREATE DATABASEE文でユーザー名およびパスワードの情報を明示的に指定できます。
CREATE CACHE句、ADD CACHE句またはALTER CACHE句のLOCATION句は、データベースのデフォルトであるこの場所をオーバーライドします。
データベースに対してパーティション・ロック・ツリーが有効になっている場合、記憶域ロックはデータベース・リソース・ツリーから分離され、記憶域ごとにすべてのロックが、そのリソースとの通信量が最も多いVMSclusterノード上で独立して管理されます。OpenVMSでは、各リソースの使用量が最も多いノードが特定され、リソース階層がそのノードに移動します。
単一ファイルのデータベースでは、ロック・パーティション化を有効にできません。単一ノード・システムでは、ロック・リクエストはすべてローカルであるため、ロック・パーティション化は有効にしないでください。
デフォルトでは、ロック・パーティション化は無効です。
0を指定した場合、ロックのタイムアウト時間を設定しないと解釈されます。0秒とは解釈されません。
ロックのタイムアウト時間はデータベース全体に適用され、デフォルトとして以外にも、タイムアウト時間を指定する場合の上限としても使用されます。たとえば、データベース定義者がCREATE DATABASE文にLOCK TIMEOUT INTERVAL IS 25 SECONDSと指定すると、そのデータベースのユーザーがSET TRANSACTION WAIT 30と指定した場合や、論理名RDM$BIND_LOCK_TIMEOUT_INTERVALを30に変更した場合でも、SQLで使用されるタイムアウト時間は25秒となります。詳細は、「SET TRANSACTION文」および『Oracle Rdb7 Guide to Distributed Transactions』を参照してください。
同一の領域、および同一のページで多数のレコードにアクセスする場合、LOCKING IS PAGE LEVEL句により、トランザクション処理のために実行するロック操作数が減少します。ただし、これによって同時実行性が低下します。ページレベル・ロックは、実行時間が短く、かつ同一ページにある複数のデータベース・レコードにアクセスするトランザクションには非常に有効です。
実行時間が長く、多数の行がロックされるようなトランザクションに対しては、LOCKING IS ROW LEVEL句を使用します。
LOCKING IS PAGE LEVEL句を使用すると、非同期システム・トラップのブロック数が減少するため、システム・リソースのレスポンス時間が短縮され、利用効率も向上します。ただし、ページ間競合が増加したり、デッドロックの可能性とトランザクション時間が増大するため、ロックが過剰に使用される場合があります。
RDB$SYSTEMまたはDEFAULT記憶域には、暗黙的、明示的を問わずページレベル・ロックは適用されません。これは、ページレベル・ロックのプロトコルでは、メタデータ・ユーザーが停止する場合があるためです。
単一ファイルのデータベースでは、ページレベル・ロックは指定できません。
LOGMINER SUPPORT句を使用すると、LogMinerに対する連続モードの有効化/無効化を切り替えることができます。
デフォルトの数は、バッファ・プールの5分の1で、上限は10です。最小値は2、最大値はバッファ・プールと同じ数まで指定できます。
論理名RDM$BIND_BATCH_MAXを定義すると、非同期の書込みを行うバッファの数をオーバーライドできます。値の設定の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。
SQL> CREATE DATABASE FILENAME sample cont> METADATA CHANGES ARE DISABLED; SQL> CREATE TABLE t (a INTEGER); SQL> DISCONNECT ALL; SQL> ATTACH 'FILENAME sample'; SQL> CREATE TABLE s (b INTEGER); %RDB-E-NO_META_UPDATE, metadata update failed -RDMS-E-NOMETADATA, metadata operations are disabled |
METADATA CHANGES ARE DISABLED句を使用すると、データベースに対するデータ定義の変更は許可されません。この句をCREATE DATABASE文で指定すると、システムの索引圧縮が暗黙的に有効になります。
METADATA CHANGES ARE ENABLED句を使用すると、DBADMIN権限が付与されたユーザーによるデータベースに対するデータ定義の変更が許可されます。
デフォルトはMETADATA CHANGES ARE ENABLEDです。
マルチスキーマ属性を使用して作成したデータベースに、シングル・スキーマ・データベースに対する場合と同様にアクセスする場合、ATTACH文またはDECLARE ALIAS文でMULTISCHEMA IS OFF句を指定してマルチスキーマ・ネーミングをオフにできます。
マルチスキーマ属性をオフにした場合、ATTACH文またはDECLARE ALIAS文でMULTISCHEMA IS ON句を指定して再度その属性を有効にできます。マルチスキーマ・ネーミングは、マルチスキーマ属性を使用して作成したデータベースにアタッチする場合のみ使用できます。詳細は、「ATTACH文」を参照してください。
デフォルトでは、マルチスキーマ・ネーミングは無効です。
この句により、並行して作成する記憶域の数が指定され、最初にデータベースを作成するときの時間を短縮できます。ただし、多数の記憶域を指定し、多数の記憶域で同じデバイスを共有する場合、マルチスレッド化によりディスク・ヘッドが過剰に動作し、記憶域を逐次作成する場合より時間がかかる場合があります。また、記憶域を多数指定すると、プロセスの割当て制限を超え、データベースの作成に失敗する場合があります。
この設定は、永続的なデータベース属性として保存されません。これはCREATE DATABASE文、ALTER DATABASE文またはIMPORT文の実行中にのみ使用されます。
MULTITHREAD AREA ADDITIONS句を指定しない場合、デフォルトでは記憶域は1つずつ作成されます。MULTITHREAD AREA ADDITIONS句を指定し、オプションを指定しない場合、デフォルトではすべての記憶域が並行して作成されます。
データベースの定義時にCREATE DATABASE文のCOLLATING SEQUENCE句を省略する場合、デフォルトの順番はDEC Multinational Character Set(MCS)になります。
データベースのデフォルトをオーバーライドする場合は、記憶域を変更し、行キャッシュの名前を指定します。各記憶域に対して割り当てることができる行キャッシュは1つのみです。
CACHE USING句もNO ROW CACHE句も指定しない場合、データベースのデフォルトはNO ROW CACHE句です。
システム通知を有効にすると、ジャーナル用のディスク領域が不足するなどのイベントが発生した場合に、システムに対して(OpenVMS OPCOMファシリティを使用して)それが通知されます。
NOTIFY IS ENABLED句を指定してALERT OPERATOR句を指定しない場合、CENTRALおよびCLUSTERが演算子クラスとして使用されます。それ以外の演算子クラスを指定する場合は、ALERT OPERATOR句を使用します。
NOTIFY IS ENABLED句を使用すると、RMU Set After_Journal Notifyコマンドにより設定された演算子クラスがすべて置換されます。
デフォルトでは無効です。