RMU Set Shared_Memoryコマンドを使用すると、データベースを開かずにデータベース共有メモリー構成を変更できます。
root-file-spec
共有メモリー構成を変更するデータベース・ルート・ファイルを指定します。
Log
Nolog
コマンドの処理をSYS$OUTPUTに報告するかどうかを指定します。ログ出力をリクエストするにはLog修飾子、ログ出力を停止するにはNolog修飾子を指定します。どちらも指定しない場合は、DCL確認スイッチの現在の設定がデフォルトになります。Rad_Hint=n
Norad_Hint
指定したOpenVMS Alpha Resource Affinity Domain(RAD)からメモリーを割り当てるリクエストを指定します。この修飾子では、メモリーを物理的に割り当てる場所についてOracle RdbおよびOpenVMSにヒントを指定します。リクエストしたメモリーが使用できない場合、システム内の他のRADから割り当てることが可能です。RADがサポートされないシステムではRad_Hint値として0が有効です。Rad_Hint修飾子が有効なのは、共有メモリー・タイプをResidentに設定する場合のみです。共有メモリー・タイプをSystemまたはProcessに設定すると、前に定義したRADヒントは無効になります。
RADヒントを無効にするにはNorad_Hint修飾子を使用します。
注意
OpenVMSでのRADのサポートは、AlphaServer GSシリーズ・システムのみで対応しています。RADの使用方法の詳細は、『OpenVMS Alpha Partitioning and Galaxy Guide』を参照してください。
Type=option
Type修飾子を使用する場合は、次のいずれかのオプションを指定する必要があります。
- Process
従来の共有メモリー・グローバル・セクションを指定します。つまり、データベース・グローバル・セクションがプロセス(P0)アドレス空間に配置され、必要に応じてプロセス作業セットのページを使用できます。- Resident
データベース・グローバル・セクションが、OpenVMS Alpha共有ページ表を使用するプロセス(P0)アドレス空間にメモリー常駐することを指定します。つまり、グローバル・セクションは完全にメモリーに常駐し(固定され)、物理メモリーまたは仮想メモリーの使用量は従来の共有メモリー・グローバル・セクションよりも少なくなります。- System
データベース・グローバル・セクションがOpenVMS Alphaシステム領域に配置されることを指定します。つまり、このセクションは完全にメモリーに常駐し(固定され)、プロセス(P0)アドレス空間を使用しません。プロセスの作業セットの割当て制限にも影響しません。
- このコマンドでは、排他的なデータベース・アクセスが必要です(データベースが開いていたり、他のユーザーがアクセスしていたりすることはできません)。
- Rad_Hint修飾子には1つの値しか指定できません。指定したRADにメモリーが含まれる必要があります。
- 共有メモリーをSystem(Galaxyが有効)またはResidentに設定するときは、データベースを開くプロセスにVMS$MEM_RESIDENT_USER識別子を付与する必要があります。
- 1つ以上のRADに分割できるアプリケーションでは、Rad_Hint修飾子を使用して、キャッシュのメモリーとグローバル・セクションを割り当てる場所をより正確に制御することができます。すべてのアプリケーション・プロセスが同じRADで実行し、データベースと行キャッシュのグローバル・セクションもそのRADに存在する場合は、このような制御によりパフォーマンスが向上することがあります。
- Resident共有メモリーを指定すると、グローバルのdemand-zeroページはメモリーに常駐し、ディスク上のファイルにはバックアップされません。プロセスがグローバル・セクションにマップされ、仮想メモリーがプロセスから参照されるときも、これらのページはプロセスの作業セット・リストに配置されません。また、これらのページは、プロセスの作業セット割当て制限やページファイル割当て制限に対してカウントされません。
- 物理メモリーを節約するため、通常、Oracle Rdbでは、大きな常駐グローバル・セクションを作成する際に共有ページ表の作成と使用を試行します。
例1
次の例は、メモリー・タイプをResidentに設定し、RAD 4に配置するようにリクエストします。
$ RMU/SET SHARED_MEMORY/TYPE=RESIDENT/RAD_HINT=4
例2
この例は、システム領域バッファを使用することを指定します。
$ RMU/SET SHARED_MEMORY/TYPE=SYSTEM
例3
次の例は、プロセス・アドレス空間の共有メモリーを使用することを指定します。
$ RMU/SET SHARED_MEMORY/TYPE=PROCESS/LOG