【问题标题】:unable to ping Oracle port 1521 in Azure VM but other ports are working fine无法在 Azure VM 中 ping Oracle 端口 1521,但其他端口工作正常
【发布时间】:2022-12-30 17:28:12
【问题描述】:

我在 Azure 中创建了一个 VM(RHEL -linux) 并在其上安装了 Oracle DB。我想在我的 Windows 系统中使用“Oracle SQL Developer”连接到 Oracle DB。下面是 Listener 和 tnsnames 的详细信息。

cat listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
           (GLOBAL_DBNAME = ORCLCDB)
           (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
           (SID_NAME = ORCLCDB)
        )
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = azurerhel.internal.cloudapp.net)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = /opt/oracle

tnsnames.ora的条目 猫 tnsnames.ora

# tnsnames.ora Network Configuration File: /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCLCDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = azurerhel.internal.cloudapp.net)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCLCDB)
    )
  )

LISTENER_ORCLCDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = azurerhel.internal.cloudapp.net)(PORT = 1521))

Oracle 服务工作正常,没有任何问题。 lsnrctl status 显示的是 这与上面文件中显示的不同。

Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                10-DEC-2022 06:23:21
Uptime                    6 days 7 hr. 14 min. 55 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/azureRHEL/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=azureRHEL.tolzstizeobujjzahdvcdkfbwa.rx.internal.cloudapp.net)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=azureRHEL.tolzstizeobujjzahdvcdkfbwa.rx.internal.cloudapp.net)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "ORCLCDB" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ef748d50f3d7d6efe0530400000a867c" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "orclpdb1" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully

但是当我从我的 Windows PC ping 时,所有其他端口 (80,22,443) 连接正常但不是端口 1521。

我已经在我的 PC 中为 Windows 防火墙设置了入站规则,VM 端端口 1521 也在 Azure VM 上打开。

我进行了大量搜索,但无法解决问题,而且我无法连接我的 SQL Developer。网络问题方面的专家能否阐明这一点?

【问题讨论】:

    标签: oracle networking oracle-sqldeveloper azure-virtual-machine


    【解决方案1】:

    请将 1521 端口的优先级调低。在我们这边,我们将端口的优先级更改为较低的数字,这使得端口在我的 Azure Windows VM 端工作正常。优先级较低的端口效果更好。

    更改优先级之前:

    更改优先级后:

    【讨论】:

      最近更新 更多