• Linux iptables配置错误导致ORA-12535 & ORA-12170


    实验环境:

          操作系统  : Red Hat Enterprise Linux Server release 5.7 (Tikanga)

          数据库版本: Oracle Database 12c Release 12.1.0.1.0 - 64bit Production

    前两天在服务器上安装了ORACLE 12c后,从客户端连接到数据库的时候,出现ORA-12170错误,由于以前在博客的ORA-12170:TNS:连接超时总结过这个问题,所以很快定位到是防火墙问题,于是编辑iptables,开放1521端口,然后重新启动防火墙

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

    但是依然没有解决问题,于是有重新检查各项:ping、listener.ora、 tnsnames.ora等配置都OK,tnsping报ORA-12535错误,于是我再次确认防火墙是否开启了1521端口,如下所示,

    [root@getoraclelnx01 sysconfig]# iptables -L -n
    
    Chain INPUT (policy ACCEPT)
    
    target     prot opt source               destination         
    
    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
    
    Chain FORWARD (policy ACCEPT)
    
    target     prot opt source               destination         
    
    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
    
    Chain OUTPUT (policy ACCEPT)
    
    target     prot opt source               destination         
    
    Chain RH-Firewall-1-INPUT (2 references)
    
    target     prot opt source               destination         
    
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    
    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
    
    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0           
    
    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0           
    
    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353 
    
    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631 
    
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631 
    
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
    
    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
    
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:5901 
    
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:1521 
    
    [root@getoraclelnx01 sysconfig]# 

    clip_image001

    从上面可以看出,防火墙开放了1521端口,于是我尝试关闭防火墙,发现居然可以从客户端连接到服务器了,那么肯定是防火墙配置问题,重启防火墙,用telnet xxx.xxx.xxx.xxx 1521 测试是否

    clip_image002

    最后发现居然是配置开放1521端口的时候,将配置选项放在-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited下面导致的,

    于是调整顺序保存后,重启iptables服务,问题解决了。看来根本原因还是对iptables不熟悉导致,需要花点时间去研究下Linux下防火墙的配置。

    clip_image003

    -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

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

    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -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

  • 相关阅读:
    VS2010不能引用System.Data.OracleClient解决方法(转)
    stdafx.h的作用(转载)
    生成缩略图
    java 泛型 入门
    itext库产生word文档示例(.doc)
    json(在JSP中) 应用实例
    C/C++ 指针应用 常见问题
    Java RTTI 和 反射机制
    Hibernate DAO类三个函数:merge() attachDirty() attachClean()
    HTTPSession 简介
  • 原文地址:https://www.cnblogs.com/kerrycode/p/3325907.html
Copyright © 2020-2023  润新知