RMU Openコマンドを使用してデータベースを開くと、RMU Closeコマンドを使用して明示的に閉じ、すべてのユーザーがSQL DISCONNECTまたはEXIT文でデータベースを終了するまで、データベースは開かれ、マップされたままになります。RMU Openコマンドを発行しない場合、データベースに最初にアタッチするユーザーが暗黙的にデータベースを開くコストを負い、データベースから最後にデタッチするユーザーが暗黙的に閉じるコストを負います。RMU Openコマンドの影響は、SQL ALTER DATABASE文でOPEN IS AUTOMATIC句を指定したか、OPEN IS MANUAL句を指定したかによって次のように異なります。
- OPEN IS AUTOMATIC
データベースを自動的に開くよう指定した場合、最初にRMU Openコマンドを発行する必要がなく、ユーザーはいつでもデータベースを呼び出すことができます。(前述のとおり、RMU Openコマンドでデータベースを明示的に開き、RMU Closeコマンドで明示的に閉じる方が、より効率的です。)
- OPEN IS MANUAL
データベースを手動で開くよう指定した場合、ユーザーがデータベースを呼び出す前に、RMU Openコマンドを発行する必要があります。
データベースの属性をOPEN IS AUTOMATICからOPEN IS MANUALに変更した場合、すべてのユーザーがデータベースからデタッチした後にのみ、変更が有効になります。(RMU/CLOSE/ABORT=FORCEXコマンドを発行して、すべてのユーザーを強制的にデタッチできます。)その後、ユーザーがデータベースを呼び出す前にRMU Openコマンドを発行する必要があります。
データベースの属性をOPEN IS MANUALからOPEN IS AUTOMATICに変更した場合、ユーザーは任意にデータベースを呼び出すことができます。RMU Openコマンドを発行する必要はありません。ただし、データベースの属性を変更したときにユーザーがすでに手動でデータベースを開いていた場合、RMU Closeコマンドを発行してデータベースを手動で閉じた後にのみ変更が有効になります。
データベースを開く属性を自動にするか、手動にするかの判断材料としては、『Oracle Rdb Guide to Database Maintenance』を参照してください。
データベースを作成する際、データベース・ページのバッファの設定方法を選択できます。ローカル・バッファまたはグローバル・バッファを選択できます。システム・パフォーマンスはグローバル・バッファの方が良好です。システムのグローバル・バッファの設定の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。
root-file-spec[,...]
開くデータベースを指定します。データベース・ルート・ファイルが開いている場合、情報メッセージが返されます。デフォルトのファイル拡張子は.rdbです。
Access=Restricted
Access=Unrestricted
ユーザーからのアクセスに干渉されることなく保守作業やデータベースの再編成を行うために、データベース管理者はアクセスを制限してデータベースを開くことができます。アクセスが制限されている(Access=Restricted)場合、データベースへのSQLアクセスにDBADM権限が必要です。Access=Unrestricted修飾子が指定されている場合、DBADM権限のないユーザーがデータベースにアタッチできます。
注意
Oracle RMUのAccess=Restricted修飾子とSQLの制限付きアクセス句(ATTACH、CREATE、DECLARE ALIASおよびIMPORTのSQL文で使用可能)とを混同しないでください。SQLで制限付きアクセスを指定した場合、1ユーザーのみがデータベースにアタッチできます。Oracle RMUでAccess=Restricted修飾子を指定した場合、DBADM権限を持つユーザーは何人でもデータベースにアクセスできます。また、SQLの制限付きアクセス句を使用してアクセスを制限している場合、SQL SHOW DATABASEコマンドで"No Restricted Access"または"Restricted Access"が表示されることに注意してください。しかし、SHOW DATABASEでは、Oracle RMUでアクセスを制限してデータベースを開いたかどうかは表示されません。Oracle RMUのアクセス設定を表示するには、RMU Dumpコマンドを使用します。
SQLの制限付きアクセス句の詳細は、『Oracle Rdb SQLリファレンス・マニュアル』を参照してください。
Access修飾子を使用せずにRMU Openコマンドを指定した場合、Oracle RMUでその前のRMU Openコマンドと同じアクセス・モードでデータベースを開きます。データベースが前回制限付きで開かれていた場合、RMU Dumpコマンドを発行すると、次のメッセージが表示されます。
Access restricted to privileged users
アクセス・モードを変更せずに他のノードのデータベースを開くには、この形式のRMU Openコマンドを使用します。
アクセス・モードはクラスタ全体に及び、RMU Openコマンドで設定された前回のモードがクラスタ全体で使用されます。
たとえば、ノードAのmf_personnelデータベースをAccess=Unrestricted修飾子を指定して開き、ノードBの同じデータベースをAccess=Restricted修飾子を指定して開いた場合、ノードAとノードBの両方でデータベースのアクセスが制限されます。ただし、データベースが制限なしの間にアクセスを得たユーザー・プロセスは、このコマンドで終了しません。
アクセス・モードはデータベースに格納されます。したがって、アクセスが制限されているときにシステムに障害が起きた場合、制限なしモードを明示的に要求しないかぎり、アクセスは制限付きのままになります。RMU Backup、RMU RestoreおよびRMU Copy_Databaseコマンドでもアクセス・モードは保持されます。
RMU Closeコマンドでは、アクセス・モードは変更されません。RMU Openコマンドでのみ、モードを変更できます。AUTOMATICで開かれたか、MANUALで開かれたかに関係なく、RMU Openコマンドを使用してデータベースのアクセスを制限できます。
Access修飾子は、位置依存修飾子です。
Global_Buffers[=(Total=i,User_Limit=j)]
各RMU Openコマンドで基本的なグローバル・バッファ・パラメータを設定できます。Global_Buffers修飾子を指定する場合、オプションでTotalおよびUser_Limitパラメータの値を指定できます。
- Totalは、開くデータベースのインスタンスに割り当てられるノードごとのグローバル・バッファの数です(最小値は5で、最大値は32,768)。
- User_Limitは、特定のユーザーに割り当てられるグローバル・バッファの最大数です(最小値は5で、最大値はTotal)。
TotalおよびUser_Limitのデフォルト値は、次の事項によって設定されます。
- RMU Openコマンドでの明示
- データベースの作成時に決められた値
TotalまたはUser_Limitオプションの値を指定しない場合、データベースの作成時の値を元に値が決められます。
データベースでグローバル・バッファが有効でない場合、Global_Buffers修飾子は無視されます。グローバル・バッファが有効か無効かを確認するには、RMU Dumpコマンドを使用します。RMU Dumpコマンドでは、グローバル・バッファ・カウントおよびユーザーごとの最大グローバル・バッファ・カウントも表示されます。次に例を示します。
$ RMU/DUMP MF_PERSONNEL *------------------------------------------------------------------ * Oracle Rdb V7.0-00 22-SEP-1995 10:11:51.14 * * Dump of Database header * Database: DISK1:[DATABASE]MF_PERSONNEL.RDB;1 * *------------------------------------------------------------------- Database Parameters: Root filename is "DISK1:[DATABASE]MF_PERSONNEL.RDB;1" Created at 7-APR-1994 16:50:09.01 Oracle Rdb structure level is 70.0 Maximum user count is 50 Maximum node count is 16 Database open mode is AUTOMATIC Database close mode is AUTOMATIC Database is available for READ WRITE access Snapshot mode is NON-DEFERRED Statistics are enabled Storage Areas... - Active storage area count is 10 - Reserved storage area count is 0 Buffers... - Default user buffer count is 20 - Default recovery buffer count is 20 - Global buffers are enabled <-------- - Global buffer count is 250 <-------- - Maximum global buffer count per user is 5 <-------- - Buffer size is 6 blocks . . . Derived Data... - Global section size With global buffers disabled is 70962 bytes With global buffers enabled is 975992 bytes . . .
Global_Buffers修飾子は、位置依存修飾子です。
Path
開くデータベースの定義を含むデータ・ディクショナリのフルまたは相対パス名を指定します。Path修飾子は、位置依存修飾子です。パス名にワイルドカード文字を含めることはできません。
Row_Cache=Disable
行キャッシュを無効にします。この修飾子は、ホット・スタンバイ・データベースで使用するためのものです。レプリケーションがアクティブな場合、行キャッシュをホット・スタンバイ・データベースで有効にできません。有効な場合、ホット・スタンバイ機能は起動されません。Statistics=Import
Nostatistics
RMU CloseコマンドでStatistics=Export修飾子を使用して以前に保存した統計情報を、データベースを開くときにロードするよう指定します。デフォルトはNostatisticsで、データベースを開く際、統計情報はロードされないことを示します。Statistics=Import修飾子を使用してデータベースを開いた後、保存されている統計ファイルが閉じられます。統計ファイルは自動的に削除されません。必要がなくなった場合は、削除できます。
Statistics=Import修飾子を使用すると、データベースが正常に閉じられなかった場合、統計情報が自動的に保存されます。ノードまたはモニターの障害時にディスク上の統計情報ファイルが正確であるよう、統計情報ファイルは、30分ごとにデータベース・モニターによってチェックポイントされます。RMU Show Usersコマンドで、各データベースのチェックポイントの時間を確認できます。
統計ファイルの作成後にデータベースの物理スキーマが変更された場合、統計ファイルはロードされません。つまり、記憶領域、論理領域およびレコード・キャッシュの追加または削除によって、統計ファイルは無効になります。この制限によって、データベースの物理的変更が間に行われた場合に、不正確な統計情報がロードされることを防ぎます。データベースを閉じると、統計ファイルが更新され、有効になります。統計情報ファイルがインポートされたことを確認するには、RMU Show Usersコマンドを使用します。
Wait
Nowait
データベースが完全に開いて使用可能になる前にシステム・プロンプトを返すかどうかを指定します。データベースが完全に開き、使用可能になってからシステム・プロンプトを返す場合は、Wait修飾子を指定します。開く処理の状態にかかわらず、システム・プロンプトをすぐに返す場合は、Nowaitを指定します。Nowait修飾子がデフォルトです。
- データベースに対してRMU Openコマンドを使用するには、データベースのルート・ファイル・アクセス制御リスト(ACL)にRMU$OPEN権限を持っているか、OpenVMSのWORLD権限を持っている必要があります。
例1次のコマンドでは、mf_personnelデータベースを開きます。
$ RMU/OPEN MF_PERSONNEL
例2
次のコマンドでは、WORKディレクトリのmf_personnelデータベース、TESTディレクトリのすべてのデータベース、およびパス名CDD$TOP.FINANCEとSAMPLE_DBで指定されたデータベースを開きます。
$ RMU/OPEN DISK1:[WORK]MF_PERSONNEL, CDD$TOP.FINANCE/PATH, - _$ DISK1:[TEST]*, SAMPLE_DB/PATH
例3
このコマンドでは、mf_personnelデータベースを開き、開いたデータベースのインスタンスの合計グローバル・バッファとユーザーに付与されるグローバル・バッファの最大数を設定します。この例では、ある時点でこのデータベースにアクセスできるユーザーの数を2(Total/User_Limit)に制限します。TotalとUser_Limitの値は増やすことができます。
$ RMU/OPEN MF_PERSONNEL/GLOBAL_BUFFERS=(TOTAL=10,USER_LIMIT=5)
Totalに指定した値より大きいユーザー・リミット値を定義すると、エラー・メッセージが返されます。
$ RMU/OPEN MF_PERSONNEL/GLOBAL=(TOTAL=5,USER_LIMIT=10) %RMU-F-VALGTRMAX, value (10) is greater than maximum allowed value (5) for GLOBAL_BUFFERS.USER_LIMIT
例4
このコマンドでは、行キャッシュを無効にします。
$ RMU/OPEN MF_PERSONNEL.RDB /ROW_CACHE=DISABLE