解决oracle报: ora-12560: tns: 协议适配器错误
一、造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
启动OracleOraDb11g_home1TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
面板,启动OracleServiceBOOKSALES, BOOKSALES就是你的database SID
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME
将该环境变量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:\oraclexe\app\oracle\product\11.2.0\server\database\init.ora"
切换到sqlplus sysdba 登陆,
SQL>
alter system set local_listener= 'XE';
OracleOraDb11g_home1TNSListener这个服务不见了 解决办法:
运行“cmd”,在命令行里输入"lsnrctl",回车,进入lsnrctl中,在“LSNRCTL>”后输入"start",回车。就会启动了,现在去服务里刷新一下就会有监听器的启动项了。