SRVCTLは、デフォルトでクラスタの各ノードにそれぞれインストールされます。SRVCTLを使用するには、ノードのオペレーティング・システムにログインし、大/小文字が区別される構文(「SRVCTLのコマンド・リファレンス」を参照)を使用して、SRVCTLコマンドとそのパラメータを入力します。
Oracle Database 12c用に作成またはアップグレードされたOracle RACデータベースでは、Oracle Database 12cに付属のSRVCTLバージョンのみを使用します。SRVCTLのバージョンは、管理対象のオブジェクト(リスナー、Oracle ASMインスタンス、Oracle RACデータベースとそれらのインスタンスおよびサービス)のバージョンと同じである必要があります。これらのバージョンが同じリリースであることを確認するには、管理するデータベースまたはオブジェクトのOracleホームからSRVCTLコマンドを実行します。
SRVCTLでは、同じオブジェクトに対する複数コマンドの同時実行はサポートされていません。したがって、各データベース、サービスまたは他のオブジェクトに対して、1つずつSRVCTLコマンドを実行します。
カンマ区切りリストをSRVCTLコマンドの一部として指定する場合、リスト内の項目の間に空白をしないでください。次に例を示します。
srvctl add database -serverpool "serverpool1,serverpool3"
Windows環境でカンマ区切りリストを指定する場合は、リストを二重引用符(""
)で囲む必要があります。LinuxまたはUNIX環境で、カンマ区切りリストを二重引用符内で囲むことは可能ですが、二重引用符は無視されます。
SRVCTLコマンドの入力時に、新しい行で入力を続ける場合、オペレーティング・システムの継続文字を使用できます。Linuxでは、バックスラッシュ(\)記号です。
出力が生成されないSRVCTLコマンドは、正常なコマンドです。完了(成功)時にすべてのSRVCTLコマンドがメッセージを返すわけではありません。しかし、SRVCTLコマンドが失敗した場合は、常にエラー・メッセージが返されます。
-eval
パラメータは、複数のSRVCTLコマンドで使用できます。このパラメータを使用すると、システムに変更を加えることなく、コマンドの実行をシミュレートできます。SRVCTLによって戻される出力には、特定のコマンドを実行した場合の結果が示されます。たとえば、サーバーを再配置した場合に想定される結果を確認するには、次のようにします。
$ srvctl relocate server –servers "rac1" –eval –serverpool pool2 Database db1 will stop on node rac1 will start on node rac7 Service mySrv1 will stop on node rac1, it will not run on any node Service myServ2 will stop on node rac1 will start on node rac6 Server rac1 will be moved from pool myPoolX to pool pool2
-eval
パラメータは、次のコマンドで使用できます。