希望对大家有帮助:
刚才碰见这个问题,我也是很头疼,无从下手,上网查找之后,发现很多人都在引用相同的一段话,如下:
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.
经过以上步骤,就可以解决问题。
为了防止是服务没有启动的问题,我把所有的服务全部打开,问题没有解决,前两种办法显然对我并不适应,于是我用第三种办法,可是发现入HKEY_LOCAL_MACHINE\SOFTWARE这个注册表再向下找不到ORACLE的注册表,我就试了一下,用cmd打开sqlplus之前运行这条命令:set oracle_sid=XXXX,XXXX就是你的database SID(你的数据库名称,默认是ORCL).然后就成功的登陆进去了,应该是我的数据库出问题了,
还是注册表的问题,后来我就在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node下边找到了ORACLE注册表,因为你的系统是64位的,oracle 客户端应该安装的是32位的,注册表信息在Wow6432node下去找,应该有的。
找到之后,在ORACLE注册表下找到KEY_OraDb11g_home1 点击,在右侧找到ORACLE-SID,点击把数值数据改为你的数据库名称。
问题解决的话,能不能留下一个右下角的小赞赞.......嘻嘻嘻,防止迷路,建议点赞,收藏
问题完美解决,总结一下,出现这种问题的原因应该是,你的oracle现在有两个数据库,当你新建数据库时,ORACLE-SID下边的数值数据被改为了新的数据库名称,当你连接数据库时,就出现了错误