NUMBER ISパラメータとNUMBER OF BUFFERS ISパラメータを混同しないようにしてください。NUMBER OF BUFFERS ISパラメータは、データベースにアタッチされている各ユーザー・プロセスに対してOracle Rdbが割り当てるバッファのデフォルト数を決定します。NUMBER OF BUFFERS ISパラメータは、ローカル・バッファリングおよびグローバル・バッファリングに適用され、どちらに対しても同等の意味を持ちます。NUMBER ISパラメータが意味を持つのは、グローバル・バッファリングのコンテキストにおいてのみです。 |
論理名RDM$BIND_BUFFERSに対して値を定義することにより、ユーザー割当てバッファ数のデフォルトをオーバーライドできます。詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。
NUMBER ISパラメータはオンラインで変更できますが、その変更は次回データベースがオープンするまで反映されません。
2以上32,767以下の符号なし整数を指定します。デフォルトは20バッファです。
Oracle Rdbルート・ファイルのデータ構造(.rdb)は、共有メモリーにマップされます。このような共有メモリーの各コピーはRdbインスタンスと呼ばれます。ルート・ファイル情報が含まれる共有メモリーのコピーが1つのみの場合は、データベース・アクティビティにおけるロックおよびルート・ファイルI/Oを軽減するため、いくつかの最適化が有効になります。このような最適化を有効にするには、NUMBER OF CLUSTER NODESを1に設定するか、SINGLE INSTANCE句を使用します。
MULTIPLE INSTANCEは、Oracle Rdbルート・ファイルのデータ構造が別々のシステム上にマップされており、ディスクI/Oを介して整合性が維持されていることを意味します。このようなシステムでは、単一インスタンスを最適化しても利点はありません。デフォルトはMULTIPLE INSTANCEです。
2以上32,767以下の符号なし整数を指定します。NUMBER OF RECOVERY BUFFERSパラメータのデフォルト値は20バッファです。規模の大きな複数ファイルのデータベースがあり、大容量のメモリーを備えたシステムで作業している場合は、バッファ数を大きめに指定してください。これにより、リカバリ時間が短縮されます。ただし、バッファ・プールがそのプールに割当て可能なメモリー容量を超えないようにしてください。システム上のメモリー容量に対してバッファ数が多すぎる場合、そのシステムでは、バッファ・プールの仮想ページングが強制的に実行されます。この場合、オペレーティング・システムではデータベース・ページの読取りに加え、仮想ページングも実行する必要があるため、パフォーマンスが遅くなることがあります。それぞれのデータベースに対して最適なバッファ数については、実際に検証して決定することをお薦めします。
リカバリ・プロセスに割り当てられるバッファの数を増やす場合は、NUMBER OF RECOVERY BUFFERSオプションを使用します。
SQL> CREATE DATABASE FILENAME personnel cont> NUMBER OF RECOVERY BUFFERS 150; |
このオプションは、NUMBER OF RECOVERY BUFFERSの値がNUMBER OF BUFFERSの値より大きい場合にのみ使用します。詳細は、『Oracle Rdb7 Guide to Database Maintenance』を参照してください。
ユーザー数は、データベースへのアクティブなアタッチメント数として定義されます。このため、あるプロセスで実行されているプログラムが1つでも、そのプログラムで12のアタッチ操作が実行される場合、この引数の定義に従い、そのプロセスに対応するアクティブ・ユーザーの数は12となります。
NUMBER OF USERSパラメータのNUMBER OF CLUSTER NODESパラメータへの影響の詳細は、「使用方法」を参照してください。
OPEN IS MANUALオプションにより、データベースへのアクセスが制限されます。データベースにアタッチするにはDBADM権限が必要です。
OPEN IS AUTOMATICオプションとOPEN IS MANUALオプションの両方を指定すると、エラー・メッセージが表示されます。
OPEN ISオプションは、ALTER DATABASE文を介して変更できます。
CREATE DATABASE文により作成されるRDB$SYSTEMという主記憶域内のページは、形式が均一である必要があります。PAGE FORMAT IS MIXEDをデフォルトの記憶域パラメータとして指定すると、RDB$SYSTEM記憶域の作成時にSQLによって警告メッセージが生成され、そのデフォルトがオーバーライドされます。 |
PAGE TRANSFER VIA MEMORYを指定すると、単一ノード上のプロセスでは、ページをディスクに転送することなく、メモリー内のデータベース・ページを共有または更新できます。あるプロセスで変更されたページに別のプロセスがアクセスする前に、そのページをディスクに書き込む必要はありません。
デフォルトはDISKです。PAGE TRANSFER VIA MEMORYを指定する場合、データベースは次の特性を備えている必要があります。
データベースにこれらの特性がない場合、Oracle Rdbでは、ディスクを介したページ転送が実行されます。
ページ転送の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。
次のいずれかを指定します。
相対パス名を使用する場合は、その相対パス名に先行するすべてのパス名セグメントとして、CDD$DEFAULTが定義されている必要があります。たとえば、CDD$DEFAULTをCDD$TOP.SQLとして定義し、相対パス名DEPT3を使用します。
SQL> SHOW DICTIONARY The current data dictionary is CDD$TOP.SQL SQL> CREATE DATABASE ALIAS PERSONNEL PATHNAME DEPT3; |
デフォルトのパス名はありません。データベースのリポジトリ・パス名を指定しない場合、データベース定義はリポジトリに格納されません。それ以降のデータ定義でもリポジトリを使用できません。ただし、Oracle Rdbでは、データベースの作成時にリポジトリ・パス名を指定することをお薦めします。詳細は、「DECLARE ALIAS文」の「使用方法」を参照してください。
PATHNAME引数を使用しても、システムにリポジトリがなければ、その引数はSQLで無視されます。
PATHNAME引数を使用すると、リポジトリではそのパス名はCREATE DATABASE文に指定されたとおりのファイル仕様に関連付けられます。そのファイル仕様が論理名ではなくファイル名である場合は、データベース・ルート・ファイルが現在のデフォルトの作業ディレクトリ内になければ、パス名を指定してデータベースを変更または削除できません。
以前のバージョンで使用可能なキーワードONは、ENABLEDと同義です。同様に、キーワードOFFはDISABLEDと同義です。
この句は、事前起動済トランザクションの永続データベース設定を構成する際に使用します。以前のバージョンでは、この句は、CREATE DATABASE文およびIMPORT DATABASE文によって実行される暗黙的なアタッチの事前起動済トランザクション・モードを一時的に設定する場合にのみ使用されていました。
prestart-trans-optionsには、次のいずれかの句を指定できます。
ACLスタイルのデータベースの場合、アクセス権限セットは順序に依存します。ユーザーがデータベースに対して操作を実行しようとすると、SQLでは、関連付けられているアクセス権限セット(アクセス制御リスト(ACL))を上から下まで読み取って、そのユーザーの識別子を各エントリと比較します。SQLは一致対象を検出すると、ただちにそのエントリにリストされている権限を付与して検索を中止します。以前のエントリと一致しない識別子はすべて、最終的に(SQLキーワードPUBLICと等しく)エントリ[ *,*]になります。PUBLICのデフォルト・アクセスはNONEです。
ACLスタイルの権限の詳細は、「GRANT文」および「REVOKE文」を参照してください。
ANSI/ISOスタイルのデータベースの場合、アクセス権限セットは順序に依存しません。アクセス権限セットのエントリと一致したユーザーは、データベース、表または列について付与されているすべての権限、およびPUBLICについて定義されている権限を取得します。アクセス権限セットにエントリがないユーザーは、PUBLICについて定義されている権限のみを取得します。PUBLICに対するアクセス権限のエントリは必ずありますが、そのエントリには、データベース、表または列へのアクセス権限が含まれていないことがあります。
ANSI/ISOスタイルのデータベースでは、オブジェクトの作成時に、その作成者に対してアクセス権限が付与されます。新規に作成されたオブジェクトへのアクセス権限はその作成者にのみ付与されるため、追加のアクセス権限は明示的に付与する必要があります。
ANSI/ISOスタイルの権限の詳細は、「GRANT文: ANSI/ISOスタイル」および「REVOKE文: ANSI/ISOスタイル」を参照してください。
IMPORT文を使用すると、PROTECTION ISパラメータを変更できます。詳細は、「IMPORT文」を参照してください。
各プロセスで使用されるRUJバッファは通常、ローカル仮想メモリーに割り当てられます。これらのバッファは、行キャッシュの導入により、OpenVMSの共有グローバル・セクション(グローバル・メモリー)に割当てが可能になりました。これにより、リカバリ・プロセスでは、このメモリー内バッファを処理して、ディスク・アクセスを回避できます。
このバッファ・メモリーをグローバルとして定義できるため、リカバリ用の行キャッシュのパフォーマンスが向上します。行キャッシュが無効の場合、バッファ・メモリーは常にローカルです。
この句を省略した場合、NO LOCATIONとみなされます。
次に、この句の使用例を示します。
SQL> ALTER DATABASE FILENAME SAMPLE cont> RECOVERY JOURNAL (LOCATION IS 'SQL_USER1:[DBDIR.RECOVER]') |
リカバリ・ユニット・ジャーナル・ファイルの詳細は、『Oracle Rdb7 Guide to Database Maintenance』を参照してください。
RESERVE CACHE SLOTS句を使用すると、将来ALTER DATABASE文のADD CACHE句で使用できるスロットをデータベース・ルート・ファイルに予約できます。行キャッシュ・スロットを使用できる場合、行キャッシュの追加のみ実行できます。スロットは、ALTER DATABASE文のDROP CACHE句またはRESERVE CACHE SLOTS句を発行した後に使用可能になります。
RESERVE句を発行した後は、行キャッシュの予約済スロットの数は削減できません。10個のスロットを予約した後、さらに5個のスロットを予約した場合、行キャッシュに対して合計15個のスロットが予約されたことになります。
RESERVE CACHE SLOTS句を指定しない場合、行キャッシュのデフォルト数は1になります。
行キャッシュ・スロットの予約はオフライン操作です(排他的なデータベース・アクセスが必要)。詳細は、「CREATE CACHE句」を参照してください。
ジャーナル・ファイルをデータベースに追加するには、あらかじめスロットを予約しておく必要があります。
ジャーナル・ファイルの追加およびジャーナリング機能の有効化の詳細は、「ALTER DATABASE文」を参照してください。
次のSQL文では、複数ファイルのデータベースが作成され、将来使用するジャーナル・ファイル用に5つのスロットが予約されます。
SQL> CREATE DATABASE FILENAME test cont> RESERVE 5 JOURNALS cont> CREATE STORAGE AREA sa_one cont> ALLOCATION IS 10 PAGES; |
RESERVE SEQUENCES句を使用すると、将来CREATE SEQUENCE文で使用できるスロットをデータベース・ルート・ファイルに予約できます。順序は、順序スロットが使用できる場合にのみ作成できます。スロットは、DROP SEQUENCE文、またはALTER DATABASE文のRESERVE SEQUENCES句を実行した後に使用可能になります。
順序用に予約されたスロット数は削減できません。
RESERVED SEQUENCES句を指定しない場合、順序スロットのデフォルト数は32になります。
RESERVE STORAGE AREA句を使用すると、将来、ALTER DATABASE文のADD STORAGE AREA句で使用可能なスロットをデータベース・ルート・ファイルに予約できます。記憶域は、使用可能な記憶域スロットが存在する場合にのみ追加できます。スロットは、DROP STORAGE AREA句またはRESERVE STORAGE AREA句の後に使用可能になります。
RESERVE句を発行した後は、記憶域の予約済スロットの数は削減できません。5個のスロットを予約した後、さらに10個のスロットを予約した場合、記憶域に対して合計15個のスロットが予約されたことになります。
RESERVE STORAGE AREA句を指定しない場合、記憶域のデフォルト数はゼロです。
デフォルトはNO RESTRICTED ACCESSです。
CREATE DATABAS文に指定されたデータベース・ルート・ファイル・パラメータには、ALTER DATABASE文では変更できないものもあります。このようなデータベース・ルート・ファイル・パラメータを変更するには、EXPORT文およびIMPORT文を使用する必要があります。データベースのエクスポートおよびインポートの詳細は、「EXPORT文」および「IMPORT文」を参照してください。
データベースの作成時またはOracle Rdbの旧バージョンからの変換時に、行キャッシュのサポートを指定しない場合、デフォルトはROW CACHE IS DISABLEDになります。行キャッシュのサポートを有効にしても、行キャッシュが作成され、そのキャッシュが1つ以上の記憶域に割り当てられるまで、データベースの操作に影響はありません。
行キャッシュ機能を無効にしても、それまでに作成され割り当てられている行キャッシュ定義はすべて保持され、今後、行キャッシュ機能を有効にすれば使用できるようになります。
行キャッシュを使用するには、次の条件が満たされている必要があります。
RMU Dump Headerコマンドを使用すると、行キャッシュを使用するための要件が満たされているかどうかをチェックできます。次に示すコマンド出力には、満たされていない要件ごとに警告が表示されています。
. . . Row Caches... - Active row cache count is 0 - Reserved row cache count is 1 - Sweep interval is 1 second - Default cache file directory is "" - WARNING: Maximum node count is 16 instead of 1 - WARNING: After-image journaling is disabled - WARNING: Fast commit is disabled . . . |
データベースに格納されているアクセス制御リスト(ACL)情報には、付与された権限マスク、および一意の整数値(UICなど)で表されたユーザーのセットが含まれています。
セキュリティ・チェックには、次の2つのモードがあります。
SQL> CREATE DATABASE FILENAME mf_personnel cont> SET TRANSACTION MODES (READ ONLY); |
指定しない場合、デフォルトのトランザクション・モードはALLです。
否定形のトランザクション・モードまたはNONEを指定すると、すべてのトランザクションの使用が無効になります。すべてのトランザクションの使用の無効化は、物理データベースを大幅に再構築する場合などに便利です。トランザクション・モードを再度有効にする場合は、ALTER DATABASE文を実行するか、Oracle Rdb管理ユーティリティであるOracle RMUを使用します。
プロセス領域に作成されたグローバル・セクションを使用する場合は、複数のユーザーで物理メモリーを共有します。また、OpenVMSオペレーティング・システムにより、行キャッシュが各ユーザーのプライベート・アドレス空間にマップされます。この結果、すべてのユーザーは空きのある仮想アドレス範囲に制限され、それぞれがオーバーヘッドに応じた一定の割合でメモリーを使用することになります。多数のユーザーがデータベースにアクセスした場合、オーバーヘッドは大きくなります。