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

在用命令行登录oracle时, 报出了"ORA-12560: TNS: 协议适配器错误"错误消息

C:\Users\pansanday>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 7月 7 23:03:40 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

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


请输入用户名:  sys as sysdba
输入口令:
ERROR:
ORA-12560: TNS: 协议适配器错误


请输入用户名:  scott
输入口令:
ERROR:
ORA-12560: TNS: 协议适配器错误


SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
在服务中检查了一下服务, OracleServiceORCL, OracleOraDb10g_home1TNSListener, OracleOraDb10g_home1iSQL*Plus三个服务都启动正常

在网上搜索了一下, 意识到可能是因为系统中有多个实例(SID), 在登录时, oracle无法判断是登录的哪一个实例(或者是因为其他几个实例都没有启动), 从而导致了这个问题

解决方案:

在登录前, 设置一下要登录的实例: set oracle_sid=ORCL

D:\Program Files\PowerCmd>set oracle_sid=ORCL

D:\Program Files\PowerCmd>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 7月 7 23:15:21 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select * from dual;

D
-
X
至此, 问题得到解决.

你可能感兴趣的:(ORA-12560: TNS: 协议适配器错误)