转自:http://worms.blog.51cto.com/969144/1293265
Sqlplus 登陆oracle时报错ORA-12560:TNS: 协议适配器错误
如下:C:\Users\Administrator>setORACLE_SID=DDBC
C:\Users\Administrator>SQLPLUS/ AS SYSDBA
SQL*Plus:Release 11.2.0.1.0 Production on 星期一 9月 9 16:41:392013
Copyright (c)1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560:TNS: 协议适配器错误
请输入用户名:
先查看下oracle官方对12560的解释:
ORA-12560:TNS:protocol adapter error
Cause: A generic protocol adapter error occurred.
Action: Check addresses used for proper protocolspecification. Before reporting this error, look at the error stack and checkfor lower level transport errors. For further details, turn on tracing andreexecute the operation. Turn off tracing when the operation is complete.
那么在看看当前的数据库,因为数据库服务器上同时装有oracle client端,所以,setORACLE_SID=sid时候,应该是到了client端的目录中,那么可以确认下,直接到server端的目录中查看:
C:\Users\Administrator>cdC:\app\Administrator\product\11.2.0\dbhome_1\BIN
C:\app\Administrator\product\11.2.0\dbhome_1\BIN>setORACLE_SID=DDBC
C:\app\Administrator\product\11.2.0\dbhome_1\BIN>sqlplus/ as sysdba
SQL*Plus:Release 11.2.0.1.0 Production on 星期一 9月 9 16:47:002013
Copyright (c)1982, 2010, Oracle. All rights reserved.
连接到:
OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With thePartitioning, OLAP, Data Mining and Real Application Testing options
SQL> selectstatus from v$instance;
STATUS
------------
OPEN
SQL>
这就说明,这是在sqlplus登陆时用的是client端登陆的,可是在环境变量administrator中设置server端的变量,但是还是不行,结果查看环境变量SET:
Path=E:\app\Administrator\product\11.2.0\client_1\bin;C:\app\Administrator\product\11.2.0\dbhome_1\bin;………………
原来是因为在系统中设置了path,其优先级高,所以才会出现这种现象,修改后就可以了。
另外要说的是在网上搜索ORA-1256090%的都是那4步,但是99%没有解决问题。所以在针对问题上,还要细心的思考,才能找到解决问题的思路。
Sqlplus 登陆oracle时报错ORA-12560:TNS: 协议适配器错误
如下:C:\Users\Administrator>setORACLE_SID=DDBC
C:\Users\Administrator>SQLPLUS/ AS SYSDBA
SQL*Plus:Release 11.2.0.1.0 Production on 星期一 9月 9 16:41:392013
Copyright (c)1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560:TNS: 协议适配器错误
请输入用户名:
先查看下oracle官方对12560的解释:
ORA-12560:TNS:protocol adapter error
Cause: A generic protocol adapter error occurred.
Action: Check addresses used for proper protocolspecification. Before reporting this error, look at the error stack and checkfor lower level transport errors. For further details, turn on tracing andreexecute the operation. Turn off tracing when the operation is complete.
那么在看看当前的数据库,因为数据库服务器上同时装有oracle client端,所以,setORACLE_SID=sid时候,应该是到了client端的目录中,那么可以确认下,直接到server端的目录中查看:
C:\Users\Administrator>cdC:\app\Administrator\product\11.2.0\dbhome_1\BIN
C:\app\Administrator\product\11.2.0\dbhome_1\BIN>setORACLE_SID=DDBC
C:\app\Administrator\product\11.2.0\dbhome_1\BIN>sqlplus/ as sysdba
SQL*Plus:Release 11.2.0.1.0 Production on 星期一 9月 9 16:47:002013
Copyright (c)1982, 2010, Oracle. All rights reserved.
连接到:
OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With thePartitioning, OLAP, Data Mining and Real Application Testing options
SQL> selectstatus from v$instance;
STATUS
------------
OPEN
SQL>
这就说明,这是在sqlplus登陆时用的是client端登陆的,可是在环境变量administrator中设置server端的变量,但是还是不行,结果查看环境变量SET:
Path=E:\app\Administrator\product\11.2.0\client_1\bin;C:\app\Administrator\product\11.2.0\dbhome_1\bin;………………
原来是因为在系统中设置了path,其优先级高,所以才会出现这种现象,修改后就可以了。
另外要说的是在网上搜索ORA-1256090%的都是那4步,但是99%没有解决问题。所以在针对问题上,还要细心的思考,才能找到解决问题的思路。