造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。
右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.
SID可以理解成实例名,用于标识一个数据库的。实例的概念是在数据库服务启动的时候,由一些进程组成的一个抽象的概念。
补充:当你本地有多个数据库时,用sqlplus可能只能够登录一个数据库,另一个不能登录。原因:你的oracle_sid 的变量值已经设为其他的数据库的SID,所以无法识别其他的数据库。
解决办法:用上面的方法将sid改成你想登录的即可。