解决oracle报: ora-12560: tns: 协议适配器错误

一、造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:

1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,

  启动OracleOraDb11g_home1TNSlistener服务。

 2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务

  面板,启动OracleServiceBOOKSALES, BOOKSALES就是你的database SID    

 3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINESOFTWAREORACLEHOME

  将该环境变量ORACLE_SID设置为XXXX, XXXX就是你的database SID.

 

 

 

或者右击我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX, XXXX就是你的database SID.

  或者进入sqlplus前,在command line下输 set oracle_sid=XXXX, XXXX就是你的database SID.

  经过以上步骤,一般就可以解决问题。



二、oracle正常运行一般会有如下服务:

OracleServiceORCL这个服务竟然不见了 解决办法:

1.新增数据库ORCL实例服务的命令:

oradim -new -sid ORCL

2.可以用sc命令删除oracle在Windows的Service

  sc delete OracleServiceORCL

或者

打开CMD,管理员权限,切换到oracle 的bin目录

oradim -NEW -SID XE -STARTMODE manual -PFILE

"E:oraclexeapporacleproduct11.2.0serverdatabaseinit.ora"

切换到sqlplus  sysdba 登陆,

SQL>

alter system set local_listener= 'XE';

OracleOraDb11g_home1TNSListener这个服务不见了 解决办法:

运行“cmd”,在命令行里输入"lsnrctl",回车,进入lsnrctl中,在“LSNRCTL>”后输入"start",回车。就会启动了,现在去服务里刷新一下就会有监听器的启动项了。

原文地址:https://www.cnblogs.com/yangyongxin/p/15163251.html