ORA-12505,TNS:listener does not currently know of SID given in connect descripto

1.Oracle客户端的安装:

Oracle的安装这里不再细说,网上的安装图解也很详细,Oracle安装完之后,就安装Oracle的客户端,首选从Oracle的官方网站上下载客户端,大小差不多700M的样子,这里使用的是Oracle11g版本,解压之后的目录结构如下:

 

ORA-12505,TNS:listener does not currently know of SID given in connect descripto_第1张图片

 

点击“setup.exe”文件,启动安装程序,具体的安装配置详图参考:

 

http://www.cnblogs.com/jiguixin/archive/2011/09/09/2172672.html

 

2.启动客户端工具,SqlDeveloper

 

ORA-12505,TNS:listener does not currently know of SID given in connect descripto_第2张图片

 

在“Connect”的时候出现了“ORA-12505,TNS:listener does not currently know of SID given in connect descriptor”的错误信息。

 

此时的“tnsnames.ora”文件内容如下:

 

[plain] view plain copy
  1. XE =  
  2.   (DESCRIPTION =  
  3.     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  4.     (CONNECT_DATA =  
  5.       (SERVER = DEDICATED)  
  6.       (SERVICE_NAME = XE)  
  7.     )  
  8.   )  
  9.   
  10. EXTPROC_CONNECTION_DATA =  
  11.   (DESCRIPTION =  
  12.     (ADDRESS_LIST =  
  13.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))  
  14.     )  
  15.     (CONNECT_DATA =  
  16.       (SID = PLSExtProc)  
  17.       (PRESENTATION = RO)  
  18.     )  
  19.   )  
  20.   
  21. ORACLR_CONNECTION_DATA =   
  22.   (DESCRIPTION =   
  23.     (ADDRESS_LIST =   
  24.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))   
  25.     )   
  26.     (CONNECT_DATA =   
  27.       (SID = CLRExtProc)   
  28.       (PRESENTATION = RO)   
  29.     )   
  30.   )   

“listener.ora”的内容如下:

[plain] view plain copy
  1. SID_LIST_LISTENER =  
  2.   (SID_LIST =  
  3.     (SID_DESC =  
  4.       (SID_NAME = PLSExtProc)  
  5.       (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)  
  6.       (PROGRAM = extproc)  
  7.     )  
  8.     (SID_DESC =  
  9.       (SID_NAME = CLRExtProc)  
  10.       (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)  
  11.       (PROGRAM = extproc)  
  12.     )  
  13.   )  
  14.   
  15. LISTENER =  
  16.   (DESCRIPTION_LIST =  
  17.     (DESCRIPTION =  
  18.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))  
  19.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  20.     )  
  21.   )  
  22.   
  23. DEFAULT_SERVICE_LISTENER = (XE)  

 

3.解决方案:

 

在网上找了很多,也尝试了很多,最终找到了相应的解决方案:

 

修改“listener.ora”文件的内容:

 

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
     (SID_DESC =
      (SID_NAME = XE)
      (ORACLE_HOME =C:\oraclexe\app\oracle\product\11.2.0\server)
      (GLOBAL_DBNAME = XE)
    )

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

其中红色部分是新添加的内容,这样重新启动Oracle的服务之后,SqlDeveloper就能够成功的连接到数据库的实例了。

ORA-12505,TNS:listener does not currently know of SID given in connect descripto_第3张图片

 

参考资料:

 

http://samfeng.blog.51cto.com/52272/774543

http://www.cnblogs.com/simie/archive/2007/06/03/769312.html

 

转发自:http://blog.csdn.net/wl_ldy/article/details/8012992

你可能感兴趣的:(oracle)