SRVCTLまたはOracle Enterprise Managerとは異なり、SQL*Plusはインスタンス指向の管理ツールです。これは、SQL*Plusコマンドは現在のインスタンス上で動作することを意味しています。現行のインスタンスは、SQL*Plusセッションを開始したローカルのデフォルト・インスタンスまたはOracle Net Servicesの接続先リモート・インスタンスです。1つのデータベースで複数のインスタンスを同時に実行するOracle RAC環境の場合、これは、このインスタンス上でSQL*Plusが動作できる範囲を考慮する必要があることを意味しています。これらの制限のため、ポリシー管理データベースを管理する場合はSQL*Plusを使用しないでください。
たとえば、プラガブル・データベース(PDB)が管理者管理スタイルとポリシー管理スタイルのいずれで管理されているかにかかわらず、これらのデータベースを使用する場合、SQL*Plus接続を使用してPDBに実行される変更は、デフォルトで現行のインスタンスにのみ影響することを考慮する必要があります。PDBに属するすべてのインスタンスに影響するような変更を行うには、ALTER PLUGGABLE DATABASE
コマンドとinstance=all
を使用する必要があります。PDBを使用する場合、動的データベース・サービス(net_service_name
)を使用してインスタンスに接続する必要があります。PDBは、自らを、Oracle RACデータベースの1つ以上のインスタンスに関連付けられた動的データベース・サービスとして表しているためです。
関連項目:
詳細は、『Oracle Database管理者ガイド』を参照してください。
デフォルトでは、SQL*Plusのプロンプトで現行のインスタンスが識別されないため、正しいインスタンスにコマンドを発行する必要があります。SQL*Plusセッションを開始して、インスタンスを指定せずにデータベースに接続すると、すべてのSQL*Plusコマンドはローカル・インスタンスで処理されます。この場合も、デフォルト・インスタンスが現行のインスタンスです。
デフォルトでは、SQL*Plusのプロンプトでは現行のインスタンスが識別されないため、正しいインスタンスにコマンドを発行する必要があります。SQL*Plusセッションを開始して、インスタンスを指定せずにデータベースに接続すると、すべてのSQL*Plusコマンドはローカル・インスタンスで処理されます。この場合も、デフォルト・インスタンスが現行のインスタンスです。SQL*Plusで別のインスタンスに接続するには、次の例のように、新しいCONNECT
コマンドを発行し、リモート・インスタンスのネット・サービス名を指定します(password
はパスワードです)。
CONNECT user_name
@net_service_name
Enter password: password
SYSOPER
またはSYSDBA
で接続すると、インスタンスの起動や停止などの権限を必要とする操作を実行できます。複数のSQL*Plusセッションが、同時に同じインスタンスに接続できます。他のインスタンスに接続すると、SQL*Plusによって最初のインスタンスとの接続が自動的に切断されます。
注意:
Oracle ASMインスタンスに接続し管理するには、SYSDBA
権限ではなく、SYSASM
権限を使用します。SYSDBA
権限を使用してASMインスタンスで実行されるコマンドは非推奨であるため、SYSDBA
権限を使用してOracle ASMインスタンスに接続すると、アラート・ログ・ファイルに警告が書き込まれます。
詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。
関連項目:
『SQL*Plusユーザーズ・ガイドおよびリファレンス』
net_service_name
の適切な指定は、『Oracle Database Net Services管理者ガイド』を参照してください。
SYSDBA
またはSYSOPER
でデータベースに接続する方法については、『Oracle Database管理者ガイド』を参照してください。