windows下sqlplus / as sysdba报ora-12560的解决方法

环境:win7_64位、数据库版本ORACLE11G_R2

在CMD窗口,使用下面三个命令可正常连接数据库:
C:UsersAdministrator> sqplus /nolog
C:UsersAdministrator> sqlplus  sys/123@rusky as sysdba;
SQL> conn scott/tiger@orcl;

但是使用下面的命令连接数据库就报ora-12560错误:
C:UsersAdministrator>sqlplus / as sysdba;

解决方法:
1、查看是否为操作系统认证
查看$ORACLE_HOME etworkadminsqlnet.ora文件中的参数SQLNET.AUTHENTICATION_SERVICES的值是否为为NTS或ALL。默认安装允许操作系统认证。

2、确认windows注册表中的ORACLE_HOME键及其键值是否正确,是否有效。
比如:HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1下,找到ORACLE_HOME键,对应的键值为D:appAdministratorproduct11.2.0dbhome_1

3、注意:windows下,请不要设置ORACLE_HOME和ORACLE_SID环境变量
刚安装好ORACLE数据库库后,上述两个变量的值已被写入到注册表。所以不需要再设置。
=========
在CMD下,我们敲sqlplus时,其实调用的是注册表中ORACLE_HOME/bin下的sqlplus.exe文件。
如果直接到这个路径下执行下面的命令是可以正常连接到数据库的。
D:appAdministratorproduct11.2.0dbhome_1BIN>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:appAdministratorproduct11.2.0dbhome_1in
这每次在执行sqlplus时保证调用数据库服务端$ORACLE_HOMEin目录下的sqlplut.exe文件。

===============================

在安装好数据库后,我们不需要设置任何环境变量,其实环境变量path中在数据库软件安装的过程中已经加入了下面的bin目录,我们在CMD下输入sqlplus时才能调用到这个目录下的sqlplus.exe文件。D:appAdministratorproduct11.2.0dbhome_1in;

如果把这个路径删除,则在CMD下输入sqlplus时提示找不到这个命令。

=========

参考文件:

http://blog.csdn.net/msdnchina/article/details/38169095

原文地址:https://www.cnblogs.com/rusking/p/4198706.html