windows下sqlplus / as sysdba报ora-12560的解决方法
环境:win7_64位、数据库版本ORACLE11G_R2
在CMD窗口,使用下面三个命令可正常连接数据库:
C:\Users\Administrator> sqplus /nolog
C:\Users\Administrator> sqlplus sys/123@rusky as sysdba;
SQL> conn scott/tiger@orcl;
但是使用下面的命令连接数据库就报ora-12560错误:
C:\Users\Administrator>sqlplus / as sysdba;
解决方法:
1、查看是否为操作系统认证
查看$ORACLE_HOME\network\admin\sqlnet.ora文件中的参数SQLNET.AUTHENTICATION_SERVICES的值是否为为NTS或ALL。默认安装允许操作系统认证。
2、确认windows注册表中的ORACLE_HOME键及其键值是否正确,是否有效。
比如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1下,找到ORACLE_HOME键,对应的键值为D:\app\Administrator\product\11.2.0\dbhome_1
3、注意:windows下,请不要设置ORACLE_HOME和ORACLE_SID环境变量
刚安装好ORACLE数据库库后,上述两个变量的值已被写入到注册表。所以不需要再设置。
=========
在CMD下,我们敲sqlplus时,其实调用的是注册表中ORACLE_HOME/bin下的sqlplus.exe文件。
如果直接到这个路径下执行下面的命令是可以正常连接到数据库的。
D:\app\Administrator\product\11.2.0\dbhome_1\BIN>sqlplus / as sysdba;
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 2 18:29:42 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
==================
4、在系统环境变量Path上加上D:\app\Administrator\product\11.2.0\dbhome_1\bin
这每次在执行sqlplus时保证调用数据库服务端$ORACLE_HOME\bin目录下的sqlplut.exe文件。
===============================
在安装好数据库后,我们不需要设置任何环境变量,其实环境变量path中在数据库软件安装的过程中已经加入了下面的bin目录,我们在CMD下输入sqlplus时才能调用到这个目录下的sqlplus.exe文件。D:\app\Administrator\product\11.2.0\dbhome_1\bin;
如果把这个路径删除,则在CMD下输入sqlplus时提示找不到这个命令。
=========
参考文件:
http://blog.csdn.net/msdnchina/article/details/38169095