障害からリカバリする場合以外は、常に、Wait修飾子を指定します。Wait修飾子を指定した場合、データベースをクラスタ全体で閉じ、リカバリするために必要なすべての二次的処理がOracle RMUで行われ、処理が完了するまでシステム・プロンプトは返されません。
RMU CloseコマンドにNowait修飾子を使用する場合、コマンドを発行するノードでデータベースが開かれている必要があります。そうでない場合、データベースを認識できないというエラー・メッセージが返されます。システム・プロンプトはすぐに返されますが、他のすべてのユーザーからのデータベースへのアクセスの終了後にデータベースを閉じることを示すにすぎません。したがって、大半の場合、Wait修飾子が使用されます。
RMU Closeコマンドでは、開いているデータベースを閉じます。これより前に発行されたRMU Openコマンドで指定された場合、またはアクティブ・ユーザーがアタッチしている場合、データベース・ルート・ファイルは開いているとみなされます。Abort修飾子を指定すると、データベースをただちに閉じることができます。また、Noabort修飾子を指定すると、現在のユーザーがセッションを終了できます。
データベースを手動で開くよう指定した(SQL ALTER DATABASE文のOPEN IS MANUAL句)場合、ユーザーが呼び出す前にRMU Openコマンドを使用して手動でデータベースを開き、RMU Closeコマンドを使用して手動でデータベースを閉じる必要があります。
データベースを自動的に開くよう指定した(SQL ALTER DATABASE文のOPEN IS AUTOMATIC句)場合、RMU Closeコマンドは現在のデータベース・ユーザーにのみ影響します。現在のプロセスはデータベースからデタッチされますが、現在のプロセスおよび新規のプロセスは、データベースにすぐに再アタッチできます。
RMU Show Usersコマンドを使用して、ノードで現在使用されているデータベースの情報を表示できます。RMU Dump Usersコマンドを使用して、クラスタで現在使用されているデータベースの情報を表示できます。
root-file-spec[,...]
開いているデータベース・ルート・ファイル。デフォルトのファイル拡張子は.rdbです。
Abort=option
Noabort
データベースをただちに閉じるか、プロセスの終了を待つかを指定します。Abort修飾子には、2つのオプションがあります。両者ともOpenVMSのシステム・サービスを参照します。オプションは次のとおりです。
- Forcex
Forcex(強制終了)オプションを使用すると、リカバリ・ユニットがリカバリされ、リカバリ・ユニット・ジャーナル(.ruj)ファイルはディレクトリに残されません。したがって、RMU Backupコマンドが機能します。このオプションでは、生成されたサブプロセスを持つデータベース・プロセス、一時停止しているプロセスまたはスワップ・アウトされたプロセスは強制終了されません。データベースを使用しているバッチ・ジョブは強制終了されます。Forcexがデフォルトです。- Delprc
Delprc(プロセスの削除)オプションを使用すると、リカバリ・ユニットはリカバリされません。.rujファイルがディレクトリに残され、次のデータベースの起動時にリカバリされます。すべてのデータベース・ユーザーのプロセスとサブプロセスが削除されます。その結果、データベースからプロセスが削除されます。したがって、RMU Backupコマンドを発行すると、次のエラー・メッセージが表示される場合があります。
%RMU-F-MUSTRECDB, database must be closed or recovered
DelprcおよびForcexオプションは、OpenVMSのシステム・サービス$DELPRCおよび$FORCEXに基づいています。詳細は、OpenVMSのドキュメント・セットを参照してください。
Noabortオプションを使用すると、データベースにすでにアタッチしているユーザーは存続でき、すべてのユーザーがデータベースを終了するまで、ルート・ファイル・グローバル・セクションが仮想アドレス・ファイル・コンテンツにマップされたままになります。新規ユーザーは、データベースにアタッチできません。現在のすべてのイメージが終了すると、Oracle RMUでデータベースを閉じます。
Cluster
Nocluster
Cluster修飾子を指定すると、現在データベースを開いているクラスタ環境内のすべてのノードのデータベースを、Oracle RMUで閉じます。Cluster修飾子を指定することは、クラスタ内の各ノードでRMU Closeコマンドを発行することとほぼ同じです。Nocluster修飾子を指定すると、RMU Closeコマンドを発行したクラスタ・ノードのデータベースのみを、Oracle RMUで閉じます。Wait修飾子を指定した場合、デフォルトはCluster修飾子です。Nowait修飾子を指定した場合、デフォルトはNocluster修飾子です。
次のリストに、1つのコマンドラインで[No]Clusterと[No]Wait修飾子の各組合せを使用した場合のコマンドの動作を示します。
- ClusterおよびWait
ClusterおよびWait修飾子を指定した場合、コマンドが発行されたノードでデータベースが開かれていない場合でも、RMU Closeコマンドでクラスタ内の各ノードのデータベースを閉じます。
ClusterおよびWait修飾子を指定したため、RMU Closeコマンドでクラスタ内の各ノードのデータベースを閉じてリカバリした後で、DCLプロンプトが返されます。- ClusterおよびNowait
ClusterおよびNowait修飾子を指定した場合、RMU Closeコマンドでクラスタ内の各ノードのデータベースを閉じます。Oracle RMUコマンドが発行されたノードでデータベースが開かれていない場合、コマンドではどのノードでもデータベースを閉じることができず、次のエラー・メッセージが返されます。
%RDMS-F-CANTCLOSEDB, database could not be closed as requested -RDMS-F-DBNOTACTIVE, database is not being used %RMU-W-FATALERR, fatal error on DISK1:[USER1]DATABASE.RDB;1
Nowait修飾子を使用したため、DCLプロンプトが返されたとき、1つ以上のノードでデータベースがまだ閉じていない可能性があります。Nowait修飾子を指定した場合、ClusterおよびNowait修飾子を指定してRMU Closeコマンドを発行し、DCLプロンプトが返された後、モニターでクラスタ内のすべてのノードのデータベースがまだ閉じていないときにデータベースへのアクセスを試みると、SYS-F-ACCONFLICTエラーが返される場合があります。- NoclusterおよびWait
この組合せでは、ローカル・ノードのデータベースを完全に停止することができ、その後、Oracle RMUからDCLプロンプトが返されます。- NoclusterおよびNowait
NoclusterおよびNowait修飾子を指定した場合、ノードでデータベースが開かれているかどうかにかかわらず、Oracle RMUでコマンドを発行したノードのデータベースのみを閉じます。
Nowait修飾子を使用したため、DCLプロンプトが返されたとき、コマンドを発行したノードでデータベースがまだ閉じていない可能性があります。Nowait修飾子を指定した場合、ClusterおよびNowait修飾子を指定してRMU Closeコマンドを発行し、DCLプロンプトが返された後、モニターでクラスタ内のすべてのノードのデータベースがまだ閉じていないときにデータベースへのアクセスを試みると、SYS-F-ACCONFLICTエラーが返される場合があります。
Path
閉じる対象のデータベースの定義を含むデータ・ディクショナリのフルまたは相対パス名を指定します。Path修飾子は、位置依存修飾子です。位置依存修飾子は、コマンドラインでの修飾子の位置に基づいて特定のパラメータに作用します。パス名にワイルドカード文字を含めることはできません。
Statistics=Export
Nostatistics
データベースを閉じるとき、統計情報を保存するよう指定します。デフォルトはNostatisticsで、データベースを閉じる際、統計情報は保存されないことを示します。クラスタ全体の統計情報は統計ファイルに格納されません。これによって、データベースを開くとき、統計情報を最初にロードするノードを決定できます。
統計情報は、データベース・ルート・ファイルと同じディレクトリにある、ノード固有のデータベース・ファイルに格納されます。ファイルの名前はroot-file-specと同じで、デフォルトのファイル拡張子は.rdsです。統計ファイルには、ノード固有の情報が含まれるため、名前の変更またはコピーはできません。必要がなくなった場合は、削除できます。
Statistics=Export修飾子は、Cluster修飾子と組み合せて指定できません。クラスで開いているデータベースに関する統計情報を保存するには、個々のノードを指定して閉じる必要があります。
RMU Backupコマンドでは、統計ファイルは保存されません。データベースの一部ではなく、一時ファイルとみなされます。
Wait
Nowait
Wait修飾子を指定すると、Oracle RMUでデータベースを閉じ、リカバリした後にシステム・プロンプトが返されます。デフォルトはNowait修飾子です。Nowait修飾子を使用した場合、システム・プロンプトが返されたとき、データベースは閉じていない場合があります。RMU Closeコマンドを発行し、システム・プロンプトが返された後、モニターでデータベースを閉じる前にデータベースへのアクセスを試みた場合、エラーが返されることがあります。
Wait修飾子の使用については、「使用上の注意」を参照してください。
- データベースに対してRMU Closeコマンドを使用するには、データベースのルート・ファイル・アクセス制御リスト(ACL)にRMU$OPEN権限を持っているか、OpenVMSのWORLD権限を持っている必要があります。
- Wait修飾子を使用するには、データベースが正常な処理に対しリカバリ可能であることがOracle RMUで必要とされます。開いたノードでデータベースにアタッチできる必要があります。データベース・リカバリ障害には、以降のデータベースへのアタッチができなくなるものもあります。このような障害が起きた場合、データベースへのアタッチを試みる(SQL ATTACH文など)と、システムからプロセスが削除されます。つまり、ログアウトされます。
このような状況では、Wait修飾子を指定したRMU Closeコマンドは、ClusterおよびNowait修飾子を指定したRMU Closeコマンドと同様に作用します。処理を待たず、Oracle RMUコマンドを発行したノードで開かれていない場合、データベースは閉じられません。
この状況が起きた場合、データベースを開いたノードから次のコマンドを入力してデータベースを閉じます。
$ RMU/CLOSE/CLUSTER/NOWAIT/ABORT=DELPRC
例1クラスタ内のノードから次のコマンドを発行すると、Cluster修飾子によって、コマンドを発行したノードにユーザーがいない場合でも、クラスタ全体でデータベースが停止します。Wait修飾子によって、Oracle RMUでデータベースを閉じた後に、システム・プロンプトが返されます。
$ RMU/CLOSE/CLUSTER/WAIT MF_PERSONNEL.RDB
例2
次のコマンドでは、[.WORK]ディレクトリのmf_personnelデータベース、[.TEST]ディレクトリのすべてのデータベース、およびパス名CDD$TOP.FINANCEとSAMPLE_DBで指定されたデータベースを閉じます。
$ RMU/CLOSE DISK1:[WORK]MF_PERSONNEL, CDD$TOP.FINANCE/PATH, - _$ DISK1:[TEST]*, SAMPLE_DB/PATH