我们经常在Windows平台通过系统认证登录本地数据库的时候收到ORA-12560的错误:C:\Users\LIUBINGLIN>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Sat Nov 15 00:07:30 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
出现这个错误通常是因为在Windows平台安装了多个Oracle软件产品(Database TimesTen等),出现这个错误的原因是因为使用的sqlplus和运行数据库实例的软件不是同一个软件版本或不在同一个软件位置,解决办法如下:
1).找到高级系统设置->环境变量->系统变量->PATH,在该变量的最前面加入运行数据库实例所在$ORACLE_HOME\bin位置,确保找到正确软件版本和正确位置的sqlplus工具。
2).cmd->设置正确的ORACLE_HOME和ORACLE_SID环境变量值。
3).登录本地数据库:
C:\Users\LIUBINGLIN>set ORACLE_SID=test
C:\Users\LIUBINGLIN>set ORACLE_HOME=E:\app\product\11.2.0\db_1
C:\Users\LIUBINGLIN>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期六 11月 15 00:21:59 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
注意:报错和未报错使用的SQLPLUS工具的版本是不同的,证明两个SQLPLUS的位置是不同的,这也是报ORA-12560协议适配器错误的根本原因。
--转自