windows机器连接不上oracle,time out

本文详细介绍了在Linux服务器上安装Oracle数据库并配置防火墙规则以允许Win7客户端连接的方法,包括检查防火墙状态、停用或修改防火墙规则、确认端口开放等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         自己在win7 上安装了一个vmware,安装了linux5 ,oracle10g,升级到10.2.0.5.0。

         1) sqlplus / as sysdba  , startup ,启动数据库实例

         2) lsnrctl start ,启动数据库监听

         3) 在本地建立tns,数据库别名

         4) 用pl /sql 连接,发现连不上去

 

         诊断过程如下:

         1)在win7上telnet 数据库服务器,发现没有telnet, 打开控制面板,打开程序和功能,看到左边有个“打开或关闭Windows功能 ,打开找到telnet客户端,勾选上,然后确定就可以了 。 telnet 数据库ip  1521 , 发现....无法打开到主机的连接,在端口1521:连接失败。 说明win7无法连接到数据库的1521端口

             可能是linux服务器的防火墙,也可能是win7的防火墙的问题。

             linux,  执行  /etc/init.d/iptables status

1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0          
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0          
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:23
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
14   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

         看到只开放了 21,22,23,443,80端口,1521端口没有开放。

         简单一点,就直接停用iptables,

         停止防火墙:  /etc/init.d/iptables stop

         开机就禁用防火墙 

         chkconfig iptables off

         开机启用防火墙  chkconfig iptables on

         查看防火墙 [root@node1 ~]# chkconfig --list  iptables
          iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

         复杂一点就是启用防火墙,在防火墙中添加开放1521端口的规则

         从网上找了几个命令,执行了都不好用,

          是因为新增加的规则放在了最后面,没有起作用。

          做好的办法是手工修改 /etc/sysconfig/iptables 文件

          -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
          -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
          -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
          保存后,service iptables restart 就可以啦。

           或者用 /etc/init.d/iptables restart 也行

           iptables -L -n  命令显示防火墙信息

           以前不好用,是因为

          -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
          -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 

           -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

           1521端口规则放在了 reject all 规则后面啦,所以没有起作用。

 

  2)如果windows有防火墙,关掉防火墙。

       3)如果还连不上,删点服务器的listener监听,重建一下, lsnrctl restart 

       4)在服务器上配置tnsnames,如果服务器通过tnsnames可以访问数据库,那么windows应该也可以(排除防火墙因素)

       5)有windows自己的tnsnames.ora配置文件的错误,是因为数据库别名前面多了一个空格,坑人啊。

       6)  netstat -a -n  命令可以查看所有的端口连接情况

  

        

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值