16.3.9 ORA-12514
接続記述子でリクエストされたサービスをリスナーが識別できないことを示します。
メッセージ
ORA-12514: Cannot connect to database.
Service string is not registered with the listener at string.
(CONNECTION_ID=string)たとえば:
ORA-12514: Cannot connect to database.
Service sales_service.example.com is not registered with the listener
at host 10.9.7.5 port 1522.
(CONNECTION_ID=1ABcDEabCd1aB+AbCdE1aB==)ORA-12514: Cannot connect to database.
Service Default is not registered with the listener
at host 10.9.7.5 port 1522.
(CONNECTION_ID=1ABcDEabCd1aB+AbCdE1aB==)原因
リスナー・プロセスは、最初にOracle Databaseへのすべての接続を処理します。リスナーが受信した接続リクエストは、リスナーに動的に登録されていないか、リスナーのlistener.ora構成ファイルで性的に構成されていないサービス名(通常はデータベース・サービスの名前)を指定しました。このエラーは、リスナーが起動した後、データベース・インスタンスがリスナーに登録されるまでの間に発生する、一時的な状況と考えられます。
処置
-
指定した接続文字列に誤りがないかを確認します。
-
データベースまたはプラガブル・データベース(PDB)が稼働していることを確認します。クラウド・サービスを使用している場合は、データベース・サービスが稼働していることを確認します。
-
接続文字列内の
SERVICE_NAMEパラメータまたはtnsnames.oraファイルの接続記述子で、リスナーが認識しているサービスが指定されていることを確認します。 -
簡易接続の接続文字列を使用している場合は、指定したサービス名がリスナーによって認識されていることを確認します。
-
しばらくしてから、接続を再試行してください。まだ、データベース・インスタンスの登録が完了していない可能性があります。
-
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
-
-
関連トピック