今天遇到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.经过以上步骤,就可以解决问题。
回忆造成此问题的原因,是因为昨天我又安装了一个数据库实例,安装完成后,当时可以通过sqlplus操作,后来我通过dbca卸载了这个实例,估计就是这个时候,注册表的信息没有自动修正过来造成的,以后多实例的情况下,看来还是要注意了。