【问题标题】:ORA-12541: TNS:no listener error when I want connect remotely from another machineORA-12541: TNS: 当我想从另一台机器远程连接时没有监听器错误
【发布时间】:2022-11-22 01:41:08
【问题描述】:

我在两台机器上安装了 Oracle 数据库 19C,我正试图从另一台机器访问它。

我尝试通过与 localhost 一起工作的 Oracle SQL 开发人员(两台机器都与 localhost 一起工作)。我暂时停止防火墙,我也有 ping 我添加到防火墙 tcp 端口 1521。

但是当我尝试使用以下代码从机器 A 远程连接到机器 B 时 我收到的错误消息:ORA-12541: TNS:no listener

sqlplus MyUserName/MyPassword@192.168.1.11:1521/orcl

机器A中的listener.ora:

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

机器 A 中的 tnsnames.ora:

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


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

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

我知道在 SQL Server 中你需要启用远程连接才能远程连接到数据库。我们是否也需要在机器 A 的 oracle SID 上设置类似的东西?

【问题讨论】:

    标签: oracle remote-access oracle19c


    【解决方案1】:

    您的侦听器配置:

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

    绑定到localhost。它只能接收该地址上的连接。如果你想打开远程连接,那么使用“0.0.0.0”作为 IP 地址。这将使侦听器能够接收服务器上任何 NIC 上的连接。

    (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 2012-10-13
      • 2021-05-23
      • 2012-11-01
      相关资源
      最近更新 更多