ORA-12560: TNS:protocol adapter error(TNS:协议适配器错误)
Posted 田攀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-12560: TNS:protocol adapter error(TNS:协议适配器错误)相关的知识,希望对你有一定的参考价值。
这种问题一般是因为客户端不知道要连那个instance或者不知道要使用哪个TNS Alias可能的原因1.服务没有起来 下边是Tom的一个Test Case来说明OracleServiceSID服务没有起来的话,是会引起ORA-12560错误的。
C:\\Documents and Settings\\tkyte>sqlplus scott/tiger
SQL*Plus: Release 10.1.0.4.0 - Production on Thu Sep 6 15:43:55 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> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
C:\\Documents and Settings\\tkyte>net stop oracleserviceora10gr1
The OracleServiceORA10GR1 service is stopping.........
The OracleServiceORA10GR1 service was stopped successfully.
C:\\Documents and Settings\\tkyte>sqlplus scott/tiger
SQL*Plus: Release 10.1.0.4.0 - Production on Thu Sep 6 15:44:35 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
C:\\Documents and Settings\\tkyte>net start oracleserviceora10gr1
The OracleServiceORA10GR1 service is starting..........
The OracleServiceORA10GR1 service was started successfully.
C:\\Documents and Settings\\tkyte>sqlplus scott/tiger
SQL*Plus: Release 10.1.0.4.0 - Production on Thu 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)
)
)
Possible fixes for the TNS-12560 include:
转载请注明出处: http://blog.csdn.net/pan_tian/article/details/7699469
======EOF======
以上是关于ORA-12560: TNS:protocol adapter error(TNS:协议适配器错误)的主要内容,如果未能解决你的问题,请参考以下文章
进oracle数据库报ORA-12560 TNS:PROTOCOL ADAPTER ERROR错误
错误”ORA-12560: TNS: 协议适配器错误“解决方法
使用完整连接字符串和EZCONNECT绕过tnsnames.ora时出现“ORA-12560:TNS:协议适配器错误”