首页 > 解决方案 > 当侦听器设置为主机 IP 地址时,与 Oracle DB 19c 的连接失败

问题描述

我是 Oracle DB 的新手,需要帮助解决以下问题。

我正在使用 sqlplus ( SQL*Plus: Version 21.1.0.0.0) 连接到 Oracle DB 19c。

声明:当我 将IP从'localhost'192.168.0.109更改为listener.ora 文件如下:192.168.0.108192.168.0.1060.0.0.0

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

面临的问题:当我在 listener.ora 文件中将 IP 更改为主机 IP ( ) 时, 无法从 VM ( 192.168.0.108) 或 LAN ( ) 中的其他系统进行连接。请在下面找到修改后的 listener.ora:192.168.0.106192.168.0.109

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.109)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

错误详情: sqlplus工具报错如下:

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

现在,让我也分享一下 tnsnames.ora 文件的内容(如果需要):

  LISTENER_POLA =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

POLA =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pola)
    )
  )

更多细节:

  1. Oracle DB 所在的主机 ( 192.168.0.109) 可从包括 VM 在内的所有其他系统访问
  2. telnet 192.168.0.109 1521所有系统都显示已连接
  3. VM 在 Oracle Virtual Box 6.1 上运行并配置为桥接模式。
  4. Oracle DB 19c 和 VM 在 Windows Server 2016 之上运行。

查询:sqlplus当listener.ora文件配置了主机系统的IP 地址192.168.0.109

标签: virtualboxlistenersqlplusoracle19ctnsnames

解决方案


推荐阅读