ORA-12560: TNS:protocol adapter error(TNS:协议适配器...解决(二)

2014-11-24 13:09:11 · 作者: · 浏览: 4
hu Sep 6 15:45:12 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production With the Partitioning, OLAP and Data Mining options

scott%ORA10GR1>修改方法:控制面板>管理工具>服务里边把OracleServiceSID起起来
可能的原因2.ORACLE_SID环境变量没有指定(最常见引起ORA-12560问题的原因)
检查方法,命令行(cmd)下,
C:\Documents and Settings\ptian>set oracle_sid
ORACLE_SID=test
ORACLE_SID是sqlplus默认连接的 数据库instance,即sqlplus user/pwd连接的instance,如果不指定sqlplus里连接的时候就需要明确@你的instance,eg,sqlplus user/pwd@instance .
修改方法:在注册表中,HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORACLE_SID 需指向你的Instance(eg.orcl);或者在系统的环境变量里加ORACLE_SID项,值为Instance的SID。
可能的原因3.TNS_ADMIN环境变量没有指定
检查方法,命令行(cmd)下,
C:\Documents and Settings\ptian>set TNS_ADMIN
TNS_ADMIN=D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN
TNS_ADMIN应该返回你的tnsnames.ora所在的目录
修改方法:可以在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\TNS_ADMIN或者环境变量中指定。
可能的原因4.ORACLE_HOME环境变量没有指定
和上边的方法类似,检查 Oracle_Home环境变量
可能的原因5.tnsnames.ora文件内容不对
A sample:
TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ptian-cn.cn.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test)
    )
  )