创建从自治 AI 数据库到另一个自治 AI 数据库的非 TLS 数据库链接
您可以创建从自治 AI 数据库到专用端点上的目标自治 AI 数据库的非 TLS 数据库链接。
从自治 AI 数据库到目标自治 AI 数据库的非 TLS 数据库链接的先决条件
列出创建指向专用端点上的目标自治 AI 数据库的非 TLS 数据库链接的先决条件。
要在专用端点上创建指向目标自治 AI 数据库的数据库链接,请执行以下操作:
-
必须可以从源数据库的 Oracle Cloud Infrastructure VCN 访问目标数据库。例如,您可以在以下情况下连接到目标数据库:
-
目标数据库位于专用端点上。
-
源数据库和目标数据库都位于同一 Oracle Cloud Infrastructure VCN 中。
-
源数据库和目标数据库位于成对的不同 Oracle Cloud Infrastructure VCN 中。
-
目标数据库使用 FastConnect 或 VPN 连接到源数据库的 Oracle Cloud Infrastructure VCN。
-
-
对于专用端点上的目标,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK支持使用hostname参数指定单个主机名。在专用端点上,不支持使用 IP 地址、SCAN IP 或 SCAN 主机名(当目标位于公共端点上时,CREATE_DATABASE_LINK支持使用 IP 地址、SCAN IP 或 SCAN 主机名)。 -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK不支持hostname参数的值为localhost。 -
必须为专用端点定义以下入站和出站规则:
-
在源数据库的子网安全列表或网络安全组中定义出站规则,以便允许通过 TCP 的通信传输到目标数据库的 IP 地址和端口号。
-
在目标数据库的子网安全列表或网络安全组中定义入站规则,以便允许通过 TCP 的通信从源数据库 IP 地址传输到目标端口。
-
创建指向目标自治 AI 数据库的非 TLS 数据库链接
您可以创建从专用 Exadata 基础结构上的自治 AI 数据库到专用端点上的目标自治 AI 数据库的非 TLS 数据库链接。
根据需要执行先决条件步骤。有关详细信息,请参见从自治 AI 数据库到目标自治 AI 数据库的非 TLS 数据库链接的先决条件。
要在专用端点上创建指向目标自治 AI 数据库的非 TLS 数据库链接,请执行以下操作:
-
创建身份证明以访问目标自治 AI 数据库实例。使用
DBMS_CLOUD.CREATE_CREDENTIAL指定的username和password是数据库链接中使用的目标数据库的身份证明(通过 VCN 访问目标数据库)。例如:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'PRIVATE_ENDPOINT_CRED', username => 'NICK', password => 'password' ); END; /username参数中的字符必须全部为大写字母。此操作以加密格式将身份证明存储在数据库中。可以将任何名称用于身份证明名称。
-
使用
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK创建指向目标数据库的数据库链接。例如:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'PRIVATE_ENDPOINT_LINK', hostname => 'exampleHostname', port => '1521', service_name => 'example_high.adb.oraclecloud.com', credential_name => 'PRIVATE_ENDPOINT_CRED', directory_name => NULL, private_target => TRUE); END; /对于专用端点上的目标,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK支持使用hostname参数指定单个主机名。在专用端点上,不支持使用 IP 地址、SCAN IP 或 SCAN 主机名(当目标位于公共端点上时,CREATE_DATABASE_LINK支持使用 IP 地址、SCAN IP 或 SCAN 主机名)。ADMIN 以外的用户需要运行
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK的权限。如示例中所示,要创建不带 wallet 的专用端点上具有
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK的目标数据库的数据库链接,需要满足以下所有要求:-
对于非 TLS 连接,
port参数值必须设置为 1521。但是,如果在预配 AVMC 时选择了其他 SCAN 监听程序端口号,则必须使用该端口号。有关详细信息,请参阅创建自治 Exadata VM 集群。directory_name参数必须为NULL。 -
ssl_server_cert_dn参数可以省略,如果包含,则指定NULL值。 -
private_target参数必须为TRUE。注:将
private_target参数设置为TRUE会使用 TCP 协议而不是 TCPS 创建数据库链接,因此不会在连接期间验证 SSL 证书。
-
-
使用创建的数据库链接访问目标数据库中的数据。
例如:
SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
对于您在步骤 1 中创建的身份证明,即 Oracle Database 身份证明,如果目标用户的口令发生更改,则可以更新包含目标用户身份证明的身份证明,如下所示:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => '*password*');
END;
/
其中 password 是新密码。
注:执行此操作后,使用此身份证明的现有数据库链接将继续工作,而无需删除和重新创建数据库链接。
有关其他信息,请参见 CREATE_DATABASE_LINK Procedure 。
数据库链接注释与自治 AI 数据库的目标
提供有关创建指向另一个自治 AI 数据库的目标的数据库链接的注释。
有关指向另一个自治 AI 数据库的数据库链接的说明:
-
每个目录只有一个 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 AI Database 。
-
要列出数据库链接,请使用
ALL_DB_LINKS视图。有关详细信息,请参阅 Oracle Database 19c Database Reference 中的 ALL_DB_LINKS 或 Oracle Database 26ai Database Reference 。 -
通过 wallet 文件以及数据库用户 ID 和密码,可以访问目标自治 AI 数据库中的数据。将 Wallet 文件存储在安全位置。仅与授权用户共享 wallet 文件。
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK输入应将目标专用自治 AI 数据库的扫描名称作为 'hostname' 参数。