ORA-12560:TNS协议适配器错误的原因分析

来源:互联网 发布:windows程序设计教程 编辑:程序博客网 时间:2024/06/02 06:31

 很长一段时间没去玩玩oracle数据库了,昨晚想利用自己的xp系统上装的oracle来做些关于oracle数据库锁的实验的,按照往常一样在cmd命令行中输入lsnrctl start启动监听,接着输入net start oracleservicehosdb启动oracle服务,接着用cmd启动sqlplus却提示ORA-12560:TNS协议适配器错误,由于之前有碰到过这样的问题,当时是重启服务和监听就搞定了的,此次也是往常一样重启监听和服务,可是故障却依然存在,我用object browser客户端工具连接还是提示ORA-12560:TNS协议适配器错误。我就纳闷了,上两个星期都还好好的,怎么现在无缘无故的出问题了。其实这些问题的原因我是知道的,毕竟之前有碰到过了,但是这次却大脑发热,忽视了一个小小的问题才导致经过一个晚上才把这点错误搞定。

  接下来转帖分析下吧:造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.

3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0将该环境变量 ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的 database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.

 其实上述原因我心里有底的,但是我忽视了防火墙的原因,因为我前几天刚装了个瑞星防火墙,所以才导致协议错误。今晚猛然想起,就此记下,提醒自己:玩oracle就得严谨,经得起折腾。。。。