暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle监听多IP设置注意事项

6号见的MindPalace 2021-05-26
2678
  • 故障问题

当数据库需要区分内外网访问时,需要设置多个ip来提供服务。在加入新ip后,发现监听无法正常启动。
    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-JUL-2020 14:44:36


    Copyright (c) 1991, 2013, Oracle. All rights reserved.


    Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...


    TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    System parameter file is u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
    Log messages written to u01/app/oracle/diag/tnslsnr/oracledb2/listener_orcl/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb2)(PORT=1521)))
    Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.168.10.2)(PORT=1521)))
    TNS-12542: TNS:address already in use
    TNS-12560: TNS:protocol adapter error
    TNS-00512: Address already in use
    Linux Error: 98: Address already in use


    Listener failed to start. See the error message(s) above...


    • 修改监听配置

      LISTENER_ORCL =
      (DESCRIPTION_LIST =
      (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.161)(PORT = 1521))
      )
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.2)(PORT = 1521))
      )
      )


      本地主机名为oracledb2,将其改为ip:192.168.2.161,重启监听。
        [oracle@oracledb2 admin]$ lsnrctl start LISTENER_ORCL


        LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-JUL-2020 14:46:29


        Copyright (c) 1991, 2013, Oracle. All rights reserved.


        Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...


        TNSLSNR for Linux: Version 11.2.0.4.0 - Production
        System parameter file is /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
        Log messages written to /u01/app/oracle/diag/tnslsnr/oracledb2/listener_orcl/alert/log.xml
        Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.161)(PORT=1521)))
        Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.168.10.2)(PORT=1521)))


        Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.161)(PORT=1521)))
        STATUS of the LISTENER
        ------------------------
        Alias LISTENER_ORCL
        Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
        Start Date 21-JUL-2020 14:46:29
        Uptime 0 days 0 hr. 0 min. 0 sec
        Trace Level off
        Security ON: Local OS Authentication
        SNMP OFF
        Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
        Listener Log File /u01/app/oracle/diag/tnslsnr/oracledb2/listener_orcl/alert/log.xml
        Listening Endpoints Summary...
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.161)(PORT=1521)))
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.168.10.2)(PORT=1521)))
        The listener supports no services
        The command completed successfully
        • 原因

        如果在监听中使用了hostname,再配置一个host监听该机器的ip地址,会产生上述错误,建议监听中全部采用ip地址。
        文章转载自6号见的MindPalace,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论