日期:2014-05-17  浏览次数:20995 次

数据库获取连接异常(oracle)
异常 java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl
但是我检查了数据库名和密码以及ip地址和sid都没有找出问题。
监听器的配置如下:SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
  (PROGRAM = extproc)
  )
  )

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
  )
tnanames配置如下:
ORCL =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl)
  )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  )
  (CONNECT_DATA =
  (SID = PLSExtProc)
  (PRESENTATION = RO)
  )
  )

如果哪位能看出问题,请指点下。感激不尽。


------解决方案--------------------
数据库实例启动了没?

你用 配置和移植工具 里的 Net Manager,看看LISTENER的主机地址和端口号,还有服务命名里的数据库实例名对不对。

tnsnames.ora和listener.ora这两文件再看看。
------解决方案--------------------
应该是数据库没有启动.