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.

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

------------------------------------------------------------------------------------------------------

对原因2的分析:

window平台下9i和8i 好像不一样 。

9i 必须启动服务中的OracleServiceSID,如果没有启动的话,在命令行执行conn / as sysdba,会报:ORA-12560: TNS: 协议适配器错误。

而8i 既可以在服务中启动数据库,也可以在命令行启动

------------------------------------------------------------------------------------------------------

对原因1的不同平台操作方式的横向对比:

在LINUX 下 进程就不一样了
WINDOWS 下 启动oraclehome92TNSlistener服务。
LINUX 下 启动 /opt/oracle/product/9.2.0/bin/tnslsnr &

------------------------------------------------------------------------------------------------------

其它原因:

问题出现的原因是在同一个server上安装第二个数据库,结果安装失败,应该是把第一个的SID的变量给冲了,按照上述第三个方法,解决问题。

因为装了第2个INSTANCE后,第一个INSTANCE的SID被冲掉,使用第3个办法, 问题马上解决,,我记的有个SET 命令可以把SID改回来,但想不起来了。
(PS:上面说的SET命令,是否是原因3中提到的“或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.”)

------------------------------------------------------------------------------------------------------

问题样例展示:

Case:

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:Documents and Settingsuser1>lsnrctl

LSNRCTL for 32-bit Windows: Version 9.2.0.7.0 - Production on 27-8月 -2008 09:33
:43

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

欢迎来到LSNRCTL,请键入"help"以获得信息。

LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 2: No such file or directory
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.55)(PORT=1521)))

TNS-12538: TNS:没有此协议适配器
TNS-12560: TNS: 协议适配器错误
TNS-00508: 无此类协议适配器

LSNRCTL> start
启动tnslsnr:请稍候...

TNSLSNR for 32-bit Windows: Version 9.2.0.7.0 - Production
系统参数文件为D:oracleora92networkadminlistener.ora
写入D:oracleora92networkloglistener.log的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.55)(PORT=
1521)))
TNS-12538: TNS:没有此协议适配器
TNS-12560: TNS: 协议适配器错误
TNS-00508: 无此类协议适配器

监听程序未能启动。请参阅上面的错误消息...

---------------------------
服务
---------------------------
在 本地计算机 无法启动 OracleOraHome92TNSListener 服务。

错误 1067: 进程意外终止。

---------------------------
确定 
---------------------------

ORA-12560: TNS: 协议适配器错误的解决方法

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

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

2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX, XXXX就是你的database SID.

3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0将该环境变量ORACLE_SID设置为XXXX, XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX, XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX, XXXX就是你的database SID.

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

------------------------------------------------------------------------------------------------------

ORA-12560: TNS: 协议适配器错误的解决方法的更多相关文章

  1. Oracle用imp导入dmp 提示遇到 ORACLE 错误 12560 TNS: 协议适配器错误 解决方法

    用imp命令导入dmp文件时提示以下错误: IMP-00058: 遇到 ORACLE 错误 12560 : ORA-12560: TNS: 协议适配器错误 : IMP-00000: 未成功终止导入 : ...

  2. 数据库、ArcCatalog空间数据源正常访问,数据库设置没问题时,ArcEngine连接SDE时报"ORA-12560: TNS: 协议适配器错误"的解决办法;ArcEngine连接SDE总结

    碰到的问题描述: 通过C# 基于ArcEngine写SDE直连的时候测试项目连接属性设置为如下: tPropSet.SetProperty("User", "GISDAT ...

  3. ORA-12560:TNS:协议器错误的解决方法

    使用SQL Plus登录数据库时,系统报ORA-12560:TNS:协议器错误.之前建了三个数据库实例,删除了一个实例.现在登录其中一个数据库报此错误.   工具/原料   Oracle11g 方法/ ...

  4. ERROR: ORA-12560: TNS: 协议适配器错误,解决办法:启动OracleServiceORCL服务

  5. TNS-12560: TNS: 协议适配器错误

    TNS-12560: TNS: 协议适配器错误   Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Docu ...

  6. 安装完ODAC,出现ORA-12560:TNS:协议适配器错误 12541 无监听程序的解决

    进入系统环境变量设置,查看Path路径,发现D:\oracle\product\11.2.0\client_1等路径放到了oracle11g数据库路径前面,将新加入的路径置后即可解决ORA-12560 ...

  7. 排错-windows下 ORA-12560 TNS 协议适配器错误解决方法

    排错-windows下_ORA-12560 TNS 协议适配器错误解决方法 by:授客 QQ:1033553122 问题描述: 修改SQL*Plus窗口属性后,重新打开SQL*Plus时出现ORA-1 ...

  8. 错误”ORA-12560: TNS: 协议适配器错误“解决方法

    错误”ORA-12560: TNS: 协议适配器错误“解决方法 原本是可以通过sqlplus连接数据库的,命令如下: C:\Users\xuwei>sqlplus /nolog SQL*Plus ...

  9. TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序

    文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com. Luocs说:这 ...

随机推荐

  1. Ionic入门二:网格(Grid)页面布局

    ionic 的网格(Grid)和其他大部分框架有所不同,它采用了弹性盒子模型(Flexible Box Model) .而且在移动端,基本上的手机都支持.row 样式指定行,col 样式指定列. 1. ...

  2. CentOS 使用命令设置代理

    全局的代理设置, vim /etc/profile 添加下面内容 http_proxy = http://username:password@yourproxy:8080/ ftp_proxy = h ...

  3. CAS和Synchronized

    CAS compareAndSwap 原理 CAS(V,E,N) V表示要更新的变量   E表示预期值   N表示新值 (当前值和底层值一样时候,才更新) 传入的值是工作内存,底层的值是主内存,工作内 ...

  4. 深度学习基础系列(四)| 理解softmax函数

    深度学习最终目的表现为解决分类或回归问题.在现实应用中,输出层我们大多采用softmax或sigmoid函数来输出分类概率值,其中二元分类可以应用sigmoid函数. 而在多元分类的问题中,我们默认采 ...

  5. Picasso:开启大前端的未来

    “道生一,一生二,二生三,三生万物.” —— <道德经> Picasso是大众点评移动研发团队自研的高性能跨平台动态化框架,经过两年多的孕育和发展,目前在美团多个事业群已经实现了大规模的应 ...

  6. [漏洞复现] CVE-2017-11882 通杀所有Office版本

    此漏洞是由Office软件里面的 [公式编辑器] 造成的,由于编辑器进程没有对名称长度进行校验,导致缓冲区溢出,攻击者通过构造特殊的字符,可以实现任意代码执行. 举个例子,如果黑客利用这个漏洞,构造带 ...

  7. jQuery事件和动画

    1.toggle事件 <!DOCTYPE html>   <html>   <head lang="en">   <meta charse ...

  8. 机器学习之路:python 集成分类器 随机森林分类RandomForestClassifier 梯度提升决策树分类GradientBoostingClassifier 预测泰坦尼克号幸存者

    python3 学习使用随机森林分类器 梯度提升决策树分类 的api,并将他们和单一决策树预测结果做出对比 附上我的git,欢迎大家来参考我其他分类器的代码: https://github.com/l ...

  9. 单链表之一元多项式求和C++实现

    单链表之一元多项式求和 一元多项式求和单链表实现伪代码 1.工作指针 pre.p.qre.q 初始化2.while(p 存在且 q 存在)执行下列三种情况之一: 2.1.若 p->exp < ...

  10. 【搜索】【组合数学】zoj3841 Card

    转载自:http://blog.csdn.net/u013611908/article/details/44545955 题目大意:一副牌除掉大小王,然后有一些已经形成了序列,让你算剩下的牌能组合出多 ...