web-dev-qa-db-ja.com

sqldeveloper ORA-12505。 TNS:リスナーは現在、接続記述子で指定されたSIDを認識していません

質問で与えられたエラーメッセージに関連して、このネットワークで同様の questions が尋ねられ、答えられますが、この問題はそれぞれとは少し異なります。

Oracle 12cをubuntuにインストールしました。コマンドプロンプトからsqlplus hr/hr@pdborclを使用してhrユーザーに正常に接続できます。

Oracle@ubuntu:~$ sqlplus hr/hr@pdborcl
SQL*Plus: Release 12.1.0.2.0 Production on Mon Nov 16 21:57:24 2015
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Last Successful login time: Mon Nov 16 2015 21:24:32 +05:45
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>show user;
USER is "HR"

ただし、簡単にするためにsqldeveloperを使用しようとしています。次の資格情報を指定すると、sqldeveloperの接続作成オプションで

次のエラーが表示されます。 enter image description here ORA-12505。 TNS:リスナーは現在、接続記述子で指定されたSIDを認識していません。

ただし、

ユーザー名:sys

パスワード:******

SID:orcl

また、他のすべての資格情報も同じように機能します。

私のtnsname.oraには

PDBORCL =
  (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = pdborcl)
   )
 )

ORCL =
 (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
  )
 )
6
pranphy

12cのプラグ可能なデータベースに接続するには、サービス名を使用する必要があります。

それはあなたをつまずかせることができるもののほんの1つだと思います! SQL PlusをOKに接続すると、おそらくあなたを投げました。

8
Philᵀᴹ

私も同じ問題を抱えていました。そして、私はそれを[〜#〜] sid [〜#〜]の代わりにSERVICE NAME(エイリアス)を使用して解決しました:

1Oracle_HOMEフォルダーからファイルtnsnames.oraを開きます。その場所がわからない場合は、次の手順を実行します


Windows(cmdを開く)

> sqlplus // connect to sqlplus, login as sysdba
 as / sysdba
 // then type your password that you set in configuration setup step
 // next 3 lines used for getting Oracle_HOME
 > var OHM varchar2(100);
 > EXEC dbms_system.get_env('Oracle_HOME', :OHM);
 > PRINT OHM // ---> Oracle_HOME

Linux(ターミナルCtrl + Alt + Tを開く)


echo $Oracle_HOME

tnsnames.ora[Your_Oracle_HOME]/Network/Adminにあります。エディターで開きます。

2tnsnames.oraファイルで、SERVICE_NAMEを含む行を探します


enter image description here


。サービス名を選択し、上記の名前を入力して、テストを成功させます完了しました

enter image description here

4
Bien Do

ホスト名にもこのエラーが表示されます:localhostをそこに書き込む代わりに、「コンピューター名」を入力してみてください(例:PC名がUser_PCの場合)それをUser_PCと書き込み、残りはデフォルトのままにします!

0
John Haggin