欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ORA-12560: TNS:protocol adapter error错误

程序员文章站 2022-06-07 20:05:48
...

搞了半天都不行,差点就要重装oracle了!郁闷啊,google百度了半天!

其实早就找到了答案,只是对那个答案稍有误解

 

http://blog.csdn.net/pan_tian/article/details/7699469

“可能的原因4.ORACLE_HOME环境变量没有指定
和上边的方法类似,检查Oracle_Home环境变量”
 
 

我只是在登录PLSQL Developer\plsqldev.exe前在命令行执行了 set oracle_sid=orcl,发现不起作用

在命令行设置oracle_home=E:\oracle\product\10.2.0\db_3 也不行

 

后面才发现是没设置oracle_home的原因,检查发现Oracle_Home环境变量竟然是空!

 

硬是要在属性--高级--环境变量---系统变量--新建,oracle_home=E:\oracle\product\10.2.0\db_3才行。。。。。。

 

还以为是tnsnames.ora的EXTPROC_CONNECTION_DATA 的问题或者listener.ora的配置问题。。。

 

我的

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.62)(PORT = 1521))
  )

 

好像是缺少了类似这段引起的:

 https://forums.oracle.com/forums/thread.jspa?threadID=2423280

 

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\Oracle\Lakshmivinay\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\Lakshmivinay\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

当然,加上那段还是不行,感觉是listener.ora毁坏的原因,因为我确实手动或者netca方式改过listener.ora和tnsnames.ora,

不明白SID_LIST_LISTENER的意思 它的PROGRAM又是什么用。