在专用端点上创建从 Autonomous Database 到 Oracle Database 的数据库链接
您可以创建数据库链接,从 Autonomous Database 到位于专用端点上的目标 Oracle Database。
注意:
只有商业区域和美国政府区域支持从 Autonomous Database 到专用端点上的目标 Oracle 数据库的数据库链接。此功能在所有商业区域中默认处于启用状态。
在美国政府区域中,默认情况下会为新预配的数据库启用此功能。
对于专用端点上的现有美国政府数据库,如果要创建从 Autonomous Database 到美国政府区域中的目标的数据库链接,可以在 Oracle Cloud Support 上提交服务请求,并请求启用政府区域数据库链接功能中的专用端点。
美国政府区域包括以下内容:
根据目标 Oracle 数据库的类型和配置:
-
另一个 Oracle Database(例如本地部署或 Database Cloud Service 数据库)位于为 SSL (TCPS) 配置的专用端点上:在这种情况下,您可以使用 wallet 创建数据库链接,并且数据库链接与 TCPS 进行通信。有关详细信息,请参阅使用 Wallet (mTLS) 在专用端点上创建从 Autonomous Database 到 Oracle 数据库的数据库链接。
-
为 TCP 配置的专用端点上的 Oracle Database(例如本地部署或 Database Cloud Service 数据库):在这种情况下,创建不带 wallet 的数据库链接,并且数据库链接与 TCP 通信。有关详细信息,请参阅在没有 Wallet 的专用端点上创建指向 Oracle 数据库的数据库链接。
相关主题
数据库链接(从 Autonomous Database 到专用端点上的 Oracle 数据库)的先决条件
列出创建从 Autonomous Database 到位于专用端点上的目标 Oracle 数据库的数据库链接的先决条件。
要在专用端点上创建指向目标 Oracle 数据库的数据库链接,请执行以下操作:
-
目标数据库必须可从源数据库的 Oracle Cloud Infrastructure VCN 访问。例如,可以在以下情况下连接到目标数据库:
-
目标数据库位于专用端点上。
-
源数据库和目标数据库都位于同一 Oracle Cloud Infrastructure VCN 中。
-
源数据库和目标数据库位于不同的配对 Oracle Cloud Infrastructure VCN 中。
-
目标数据库是使用 FastConnect 或 VPN 连接到源数据库的 Oracle Cloud Infrastructure VCN 的内部部署数据库。
-
-
有两个选项可用于指定目标数据库,使用
hostname
参数或rac_hostnames
参数:-
对于专用端点上的目标,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
支持使用hostname
参数指定单个主机名。在专用端点上,不支持使用 IP 地址、SCAN IP 或 SCAN 主机名(当目标位于公共端点上时,CREATE_DATABASE_LINK
支持使用 IP 地址、SCAN IP 或 SCAN 主机名)。 -
当目标为 Oracle RAC 数据库时,请使用
在rac_hostnames
参数通过DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
指定一个或多个主机名。这样,您就可以利用 Oracle RAC 的高可用性功能。不支持使用rac_hostnames
值中的 IP 地址、SCAN IP 或 SCAN 主机名。rac_hostnames
参数中指定主机名列表时,CREATE_DATABASE_LINK
将所有指定的主机名用作连接字符串中的地址。如果某个指定的主机在目标 Oracle RAC 数据库上不可用,Autonomous Database 将自动尝试使用列表中的其他主机名进行连接。
-
-
必须为专用端点定义以下入站和出站规则:
-
在源数据库的子网安全列表或网络安全组中定义出站规则,以便允许通过 TCP 传输到目标数据库的 IP 地址和端口号的流量。
-
在目标数据库的子网安全列表或网络安全组中定义入站规则,以便允许通过 TCP 的流量从源数据库 IP 地址传输到目标端口。
-
在没有 Wallet 的专用端点上创建指向 Oracle 数据库的数据库链接
使用 DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
创建从 Autonomous Database 到目标 Oracle 数据库的数据库链接,该数据库链接位于专用端点上并且不使用 wallet (TCP) 进行连接。
注意:
此选项适用于位于专用端点上且未配置 SSL/TCPS 的目标 Oracle 数据库。根据需要执行先决条件步骤。有关详细信息,请参阅从 Autonomous Database 到专用端点上的 Oracle 数据库的数据库链接先决条件。
要使用没有 wallet 的安全 TCP 连接创建到专用端点上目标数据库的数据库链接,请执行以下操作:
注意:
对于在步骤 1 中创建的身份证明,Oracle Database 身份证明,如果目标用户的口令发生更改,则可以更新包含目标用户身份证明的身份证明,如下所示:BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
其中,password 是新密码。
执行此操作后,使用此身份证明的现有数据库链接将继续工作,而不必删除并重新创建数据库链接。
有关详情,请参阅CREATE_DATABASE_LINK 过程。
使用 Wallet (mTLS) 在专用端点上创建从 Autonomous Database 到 Oracle 数据库的数据库链接
您可以创建数据库链接,从 Autonomous Database 到位于专用端点上的目标 Oracle 数据库。
注意:
此选项适用于配置了 SSL/TCPS 且位于专用端点上的目标 Oracle 数据库。如果目标 Oracle 数据库未配置 SSL/TCPS,则有两个选项:
-
您可以将目标 Oracle 数据库配置为使用 TCP/IP 和 SSL (TCPS) 验证。有关配置 SSL/TCPS 的信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 23ai Security Guide 中的 Configuring Transport Layer Security Authentication 。
-
可以使用 TCP 连接到目标 Oracle 数据库。有关详细信息,请参阅在没有 Wallet 的专用端点上创建指向 Oracle 数据库的数据库链接。
根据需要执行先决条件步骤。有关详细信息,请参阅从 Autonomous Database 到专用端点上的 Oracle 数据库的数据库链接先决条件。
要使用 TCP/IP 和 SSL (TCPS) 验证在专用端点上创建指向目标 Oracle 数据库的数据库链接,请执行以下操作:
注意:
对于在步骤 5 中创建的身份证明,Oracle Database 身份证明,如果目标用户的口令发生更改,则可以更新包含目标用户身份证明的身份证明,如下所示:BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
其中,password 是新密码。
执行此操作后,使用此身份证明的现有数据库链接将继续工作,而不必删除并重新创建数据库链接。
有关详情,请参阅CREATE_DATABASE_LINK 过程。
数据库链接注释与目标 Oracle Database
提供有关创建指向目标 Oracle 数据库的数据库链接的备注(当目标不是 Autonomous Database 时)
有关指向其他 Oracle 数据库的数据库链接的说明:
-
每个目录只有一个 Wallet 文件可用于数据库链接。一次只能将一个
cwallet.sso
上载到为 wallet 文件选择的目录(例如 DBLINK_WALLET_DIR )。这意味着使用 DBLINK_WALLET_DIR 中的cwallet.sso
,您只能创建指向该目录中 Wallet 对其有效的数据库的数据库链接。要将多个cwallet.sso
文件与数据库链接一起使用,需要创建其他目录并将每个cwallet.sso
放在不同的目录中。使用DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
创建数据库链接时,使用directory_name
参数指定包含 wallet 的目录。有关创建目录的信息,请参见 Create Directory in Autonomous Database 。
-
对于指向其他 Oracle Database 的数据库链接,支持的目标 Oracle 数据库版本为:19c、12.2.0 和 12.1.0。
-
Autonomous Database 将
SEC_CASE_SENSITIVE_LOGON
参数设置为true
,无法更改此值。如果目标数据库不是 Autonomous Database ,则必须将目标数据库上的SEC_CASE_SENSITIVE_LOGON
参数设置为true
。如果在目标数据库上将SEC_CASE_SENSITIVE_LOGON
设置为false
,则会引发错误ORA-28040: No matching authentication protocol
。 -
要列出数据库链接,请使用
ALL_DB_LINKS
视图。有关详细信息,请参阅 Oracle Database 19c Database Reference 中的 ALL_DB_LINKS 或 Oracle Database 23ai Database Reference 。 -
通过 Wallet 文件以及数据库用户 ID 和密码,可以访问目标 Oracle 数据库中的数据。将 wallet 文件存储在安全位置。仅与授权用户共享 wallet 文件。
-
当 Autonomous Database 实例位于专用端点上时,有两个选项可用于指定目标数据库:使用
hostname
参数或rac_hostnames
参数:-
对于专用端点上的目标,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
支持使用hostname
参数指定单个主机名。在专用端点上,不支持使用 IP 地址、SCAN IP 或 SCAN 主机名(当目标位于公共端点上时,CREATE_DATABASE_LINK
支持使用 IP 地址、SCAN IP 或 SCAN 主机名)。 -
当目标为 Oracle RAC 数据库时,请使用
在rac_hostnames
参数通过DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
指定一个或多个主机名。这样,您就可以利用 Oracle RAC 的高可用性功能。不支持使用rac_hostnames
值中的 IP 地址、SCAN IP 或 SCAN 主机名。rac_hostnames
参数中指定主机名列表时,CREATE_DATABASE_LINK
将所有指定的主机名用作连接字符串中的地址。如果某个指定的主机在目标 Oracle RAC 数据库上不可用,Autonomous Database 将自动尝试使用列表中的其他主机名进行连接。 -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
不支持hostname
或rac_hostnames
参数中的值localhost
。
-