ORA-12560: TNS:protocol adapter error错误

搞了半天都不行,差点就要重装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又是什么用。

你可能感兴趣的:(protocol)