ORA-12560:TNS:协议适配器错误?

yaojianquansb 2010-11-24 03:04:50
运行 sqlplusw,输入scott正确的用户名和密码后提示:ORA-12560:TNS:协议适配器错误,如果把数据库名称写上就能正确连接,这是怎么回事?
登陆后,想切换用户,conn system/manager; 也提示“ORA-12560:TNS:协议适配器错误”?怎么解决啊?
我只有一个数据库,本来两个,后来删掉了一个。
...全文
305 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
amoychy 2010-11-24
  • 打赏
  • 举报
回复
昨天新加了一个DBA 今天就遭遇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.

经过以上步骤,就可以解决问题。
希望对LZ有用
njlywy 2010-11-24
  • 打赏
  • 举报
回复
实例…
YY_MM_DD 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 yaojianquansb 的回复:]
运行 sqlplusw,输入scott正确的用户名和密码后提示:ORA-12560:TNS:协议适配器错误,如果把数据库名称写上就能正确连接,这是怎么回事?
登陆后,想切换用户,conn system/manager; 也提示“ORA-12560:TNS:协议适配器错误”?怎么解决啊?
我只有一个数据库,本来两个,后来删掉了一个。
[/Quote]

或者直接设置你的oracle_sid环境变量为你操作的数据库sid
YY_MM_DD 2010-11-24
  • 打赏
  • 举报
回复
你在conn system/manager后面加上@servername
yaojianquansb 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phoenix_99 的回复:]
服务器上的配置环境的文件改了吗?
[/Quote]
刚开始只有一个数据库的时候,就是没建第二个数据库之前是好的;
没动啊,刚学,都不知道在哪儿动,见笑了啊,提示“ORA-12560:TNS:协议适配器错误”后,返回到pl/SQL登录界面,把数据库名称选上就好了。
Phoenix_99 2010-11-24
  • 打赏
  • 举报
回复
服务器上的配置环境的文件改了吗?
yaojianquansb 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 phoenix_99 的回复:]
是不是有两个实例?
[/Quote]
本来两个,后来删掉了一个啊
Phoenix_99 2010-11-24
  • 打赏
  • 举报
回复
是不是有两个实例?
TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com。 Luocs说:这是我一个朋友的一个监听器问题解决案例,这是昨天发生的事情,我一直跟朋友一起Troubleshooting,折腾了半天最后是BUG所致。再次汗颜,Windows平台惹不起啊!好,那么下面开始分享我朋友的案例! 环境描述: OS : Windows Server 2008 64Bit (做了HA) DB : 11.1.0.7.0 排错过程: 前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。 马上登录到服务器里查看监听状态,发现有TNS-12541 ,TNS-12560等错误 Luocs补充:我跟朋友要了错误代码,但他没有保存,就直接贴图。 从计算器的管理 –> 服务选项 –> 检查oracle 监听服务程序,发现该服务已经停止。 手动把监听服务启动,这时候服务状态上显示为已启动,但在CMD窗口执行lsnrctl status的时候依然返回错误信息: C:\>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 12-11月-2012 18:1 8:32 Copyright (c) 1991, 2008, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.203.218)(PORT=1521))) TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 61: Unknown error 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 过段时间回显非常慢。 然后我检查了下告警日志,大量的ora错误 Fatal NI connect error 12170. VERSION INFORMATION: TNS for 64-bit Windows: Version 11.1.0.7.0 - Production Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Time: 12-11月-2012 15:23:33 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS: 操作超时 ns secondary err code: 12560 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 Client address: ORA-609 : opiodr aborting process unknown ospid (4116_6104) 这时候朋友怀疑是不是监听器配置问题,就把原先的监听器删除重建了下,问题依然。 网上有个解决TNS-12535错误的案例,平台和版本都很类似,如下: 1、在 sqlnet.ora文件中 增加如下行: DIAG_ADR_ENABLED = OFF 2、在listener.ora文件中增加如下行: DIAG_ADR_ENABLED_ = OFF 如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!! 但这并不是问题发生原因,在继续排查过程中偶然发现监听日志大小居然为4G。然后把这现象告诉了Luocs。 过了一会儿,Luocs回应是

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧