今天在win7上连接centos的oracle 10g一直连接不上。通过如下过程解决了。
1.登录到centos 执行 tnsping orcl 执行是成功的(orcl是oralce的全局数据库名)。返回成功说明服务器上的监听是启动的。
[oracle@localhost ~]$ tnsping orcl
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 14-JUN-2012 23:22:37
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
/opt/ora10g/product/10201/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
OK (0 msec)
2.在本地ping服务器,看能否成功。成功说明网络通信是正常的。
C:\Users\nick>ping 192.168.1.113
正在 Ping 192.168.1.113 具有 32 字节的数据:
来自 192.168.1.113 的回复: 字节=32 时间=17ms TTL=64
来自 192.168.1.113 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.113 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.113 的回复: 字节=32 时间<1ms TTL=64
192.168.1.113 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 17ms,平均 = 4ms
3.在本地执行 tnsping orcl_113(orcl_113是本地配置的服务器数据库的网络服务名)。返回错误代码,提示操作超时。
C:\Users\nick>tnsping orcl_113
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-6月 -2012 22:55:32
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
d:\oracle_database\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))) (CONNECT_DATA =
(SERVICE_NAME = ORCL)))
TNS-12535: TNS: 操作超时
4.google搜索错误代码 TNS-12535。说是防火墙导致的问题。
5.在服务器上执行 /etc/init.d/iptables stop(注意我这里直接把防火墙关闭,也可以指定防火墙开放1521端口,这里不细说防火墙配置)。
[root@localhost ~]# /etc/init.d/iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
6.在本地执行tnsping orcle_113。显示成功:
C:\Users\guohao>tnsping orcl_113
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-6月 -2012 23:07:14
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
d:\oracle_database\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))) (CONNECT_DATA =
(SERVICE_NAME = ORCL)))
OK (160 毫秒)
7.问题解决,睡觉了。