如何解决我想使用我的公共 IP 地址通过 DBlink 连接到我的 Oracle DB
我想让朋友通过 DBlink 访问我的 oracle 数据库。我是数据库的新手,所以我无法完成这项工作。
我想我必须用我的公共 IP 左右创建一个侦听器。所以我使用 NET 配置向导来创建服务名称。我使用了公共 IP,但向导在尝试连接时会引发超时。我尝试在 por 1522 的 listener.ora 中使用我的公共 IP 创建一个侦听器,但它不起作用
我做了什么:
- 我检查了 listener.ora,它有一个带有我本地 IP (192.168.1.134) 的 LISTENER,端口是 1521
- 我检查了 tnsnames.ora,它具有与侦听器相同的 IP 和端口。
- 我在路由器中进行了端口转发。
- 我使用向导创建了一个具有公共 IP 的侦听器。
- 我使用向导创建了具有公共 IP 地址的服务名称,但无法连接
TNSNAMES.ORA:
# tnsnames.ora Network Configuration File: D:\Programas\Oracle\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.134)(PORT = 1521))
JORGE_ORA_DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 190.153.1.32)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.134)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
LISTENER.ORA:
# listener.ora Network Configuration File: D:\Programas\Oracle\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\Programas\Oracle)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\Programas\Oracle\bin\oraclr19.dll")
)
)
REMOTE =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = croquer.ddns.net)(PORT = 1522))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.134)(PORT = 1521))
)
)
解决方法
感谢您的回复! 解决办法很简单。我在两台计算机的防火墙中创建了一个新的入站和出站规则。然后它对我有用。
规则是端口 1521 的端口类型规则(在我的例子中)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。