造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个。
1、监听服务未运行
windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板(或者直接在我的电脑,右键管理,然后找到服务), 启动OracleOraDB12Home1TNSListener服务。
2、database instance未运行
windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动OracleServiceXXXX,XXXX就是你的database SID.(我这里是OracleServiceORCL)
3、注册表存在错误
在命令行执行regedit打开系统注册表,然后进入
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB12Home1将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.(比如,我这里就是讲ORACLE_SID设置为ORCL)或者右键我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。
我这里的问题,是直接使用注册表修改解决的:附上截图,