16.3.10 ORA-12516
一致するプロトコル・スタックが設定された使用可能なハンドラをリスナーが見つけられないことを示します。
メッセージ
ORA-12516: Cannot connect to database.
Listener at string does not have a protocol handler
for string ready or registered for service string.
(CONNECTION_ID=string)たとえば:
ORA-12516: Cannot connect to database.
Listener at host 10.9.7.5 port 1522 does not have protocol handler
for tcp ready or registered for service sales_service.example.com.
(CONNECTION_ID=1ABcDEabCd1aB+AbCdE1aB==)原因
Oracle Databaseのリスナー・プロセスによって接続が拒否されました。指定されたサービス名に対して既知の使用可能なサービス・ハンドラは、クライアントがリクエストしたプロトコル・スタックをサポートしていません。
処置
-
指定した接続文字列に誤りがないかを確認します。
-
クラウド・サービスを使用している場合は、クラウド・サービス・コンソールに表示される接続文字列をレビューします。
-
しばらくしてから、接続を再試行してください。サービス・ハンドラがブロック状態の可能性があり、新しい接続が受け入れられていません。
-
CONNECTION_ID値を使用して、今後の診断のために、この接続の試行をトレース・ファイルで追跡します。 -
現在リスナーに認識されていて、接続を受け入れているハンドラを確認するために、次のいずれかのタスクを実行します。
-
データベース管理者に問い合せてください。
-
クラウド・サービス・コンソールで接続文字列を再確認します。
- リスナーを実行しているマシンにアクセスできる場合は、次のいずれかを実行します。
-
lsnrctlservices -
リスナーが
listener.oraファイルで指定されている場合は、次を実行します。lsnrctl services listener_name -
Oracle Connection Manager (Oracle CMAN)プロキシ・リスナーの名前が
cman.oraファイルで指定されている場合は、次を実行します。cmctl show services -c cman_name -
Oracle Global Service Manager (Oracle GSM)リスナーの名前が
gsm.oraファイルで指定されている場合は、次を実行します。gdsctl services -raw -gsm gsm_name
-
-
登録されたハンドラが、必要なプロトコル・スタックをサポートするように構成されていることを確認します。たとえば、接続文字列で使用されているプロトコル、セッションおよびプレゼンテーションが一致するようにします。
-
関連トピック