http://yangtingkun.itpub.net/post/468/513807
一个服务器上的数据库无法连接,尝试时报错ORA-12560或ORA-12543错误。
在tnsnames.ora中配置了连接后,测试连接出现ORA-12543错误。尝试使用tnsping来测试连接同样出现ORA-12543错误,后尝试简易连接方式错误依旧。
[oracle@Oracle112 trace]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Fri Feb 18 16:18:27 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn system/password@192.168.90.111/mobiledb
ERROR:
ORA-12543: TNS:destination host unreachable
尝试在其他服务器上连接到111上的数据库:
[oracle@localhost admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Fri Feb 18 16:19:35 2011
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> conn system/password@192.168.90.111/mobiledb
ERROR:
ORA-12560: TNS:protocol adapter error
同样出现错误,不同的是,错误信息发生了变化。两次的错误信息不同主要因为测试时sqlplus的版本不同,对于11.2的sqlplus报错为ORA-12543,而10.2的sqlplus报错为ORA-12560。对比错误信息的差别,应该说11.2的错误信息更有价值一些。
通过操作系统命令ping和sftp都可以正常访问111,利用telnet测试111的1521端口,发现连接报错,看来是111上关闭了1521端口。检查防火墙设置,果然在111上开启了防火墙,将其关闭后,错误消失。