oracle - 我想使用我的公共 IP 地址通过 DBlink 连接到我的 Oracle DB
问题描述
我想让朋友通过 DBlink 访问我的 oracle 数据库。我是数据库新手,所以我无法完成这项工作。
我想我必须用我的公共 IP 左右创建一个侦听器。所以我使用 NET 配置向导来创建一个服务名称。我使用了公共 IP,但在尝试连接时向导会引发超时。我尝试在 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)
)
)
听众.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(在我的例子中)的端口类型规则。
推荐阅读
- google-cloud-ml - 如何跟踪来自 Vertex AI 管道的参数和指标
- caching - 为什么 unpersist() 不会从 Azure Databricks 中 pyspark 的缓存中删除我的路径?
- sql-server - 一个表中所有可能的列与其他表的条件数据的组合
- python - Python Pandas过滤数据框:仅保留另一个数据框值的子字符串的值
- http-headers - Content-Security-Policy 标头的基于 IP 的指令
- c# - Windows 10 UWP 应用程序在启动时崩溃(错误模块名称:Windows.UI.Xaml.dll)
- php - 从父级中的当前循环迭代访问组件数据 - Laravel 组件 Scoped Slot
- vaadin - 没有 VaadinSession 与 Vaadin Fusion
- postgresql - 关系 XX 不存在;使用视图 convertHibernateAccessException 时无法提取结果集错误
- javascript - 如何在 JavaScript 变量中的中继器控件中获取标签值