windows下,sqlplus / as sysdba经常报 ORA-12560: TNS:protocol adapter error,解决这个报错,有多个方法:
1.确认windows注册表中的ORACLE_HOME 键及其 键值 是正确的,是有效的
比如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1下,找到ORACLE_HOME 键,对应的键值为H:\oracle\product\10.2.0\db_1 ,其实正确的键值为F:\oracle\product\10.2.0\db_1
--->注意:windows下,请不要设置ORACLE_HOME环境变量,详细请见我翻译的文章:
http://blog.csdn.net/msdnchina/article/details/38010025
--->注意:windows下的注册表存储的ORACLE_HOME 键 和 ORACLE_SID 键相当于unix下的.profile中定义的ORACLE_HOME,ORACLE_SID等环境变量---该说法纯属我个人的总结。
2确保windows 服务里变的OracleServiceXXX服务是已启动状态。
关于OracleServiceXXX 和 Oracle 实例的关系,请见我写的文章:
http://blog.csdn.net/msdnchina/article/details/38011055
3.cmd下,cd到 F:\oracle\product\10.2.0\db_1\bin下,再敲sqlplus / as sysdba
注意,不是cd到F:\oracle\product\10.2.0\client_1\bin。也就是说cd到 oracle数据库软件的服务器端,不是cd到oracle数据库软件的客户端。
--->注意:windows的cmd下,敲一个命令,windows对该命令的查找顺序为:首先找当前目录下有无该命令,其次再到PATH路径下找有无该命令。
4.cmd下,set ORACLE_SID=你想进入的数据库的那个sid
5.cmd下,cd到 F:\oracle\product\10.2.0\db_1\bin下,再敲sqlplus /@网络服务名 as sysdba
注意,不是cd到F:\oracle\product\10.2.0\client_1\bin。也就是说cd到 oracle数据库软件的服务器端,不是cd到oracle数据库软件的客户端。
windows下 sqlplus / as sysdba 报ora-12560的终极解决方法,布布扣,bubuko.com