16.3.8 ORA-12505

接続記述子で指定されたシステム識別子(SID)をリスナーが識別できないことを示します。

メッセージ

ORA-12505: Cannot connect to database. 
SID string is not registered with the listener at string.
(CONNECTION_ID=string)
たとえば:
ORA-12505: Cannot connect to database. 
SID sales_sid is not registered with the listener at host 10.9.7.5 port 1522. 
(CONNECTION_ID=1ABcDEabCd1aB+AbCdE1aB==)

原因

リスナー・プロセスは、最初にOracle Databaseへのすべての接続を処理します。リスナーが受信した接続リクエストは、まだリスナーに動的に登録されていないインスタンスか、リスナーのlistener.ora構成ファイルで静的に構成されていないインスタンス(通常はデータベース・インスタンス)のSIDを指定しました。このエラーは、リスナーが起動した後、データベース・インスタンスがリスナーに登録されるまでの間に発生する、一時的な状況と考えられます。

処置

  1. 指定した接続文字列に誤りがないかを確認します。

  2. 接続文字列内のSIDパラメータまたはtnsnames.oraファイルの接続記述子で、リスナーが認識しているインスタンスが指定されていることを確認します。

  3. しばらくしてから、接続を再試行してください。まだ、データベース・インスタンスの登録が完了していない可能性があります。

  4. CONNECTION_ID値を使用して、今後の診断のために、この接続の試行をトレース・ファイルで追跡します。

  5. 次のいずれかのタスクを実行して、現在リスナーによって認識されているインスタンスを確認します。
    • データベース管理者に問い合せてください。

    • クラウド・サービス・コンソールで接続文字列を再確認します。

    • リスナーを実行しているマシンにアクセスできる場合は、次のいずれかを実行します。
      • lsnrctl services

      • リスナーがlistener.oraファイルで指定されている場合は、次を実行します。
        lsnrctl services listener_name
      • Oracle Connection Manager (Oracle CMAN)プロキシ・リスナーの名前がcman.oraファイルで指定されている場合は、次を実行します。
        cmctl show services -c cman_name