连接到自治 AI 数据库

应用和工具使用 Oracle Net Services(也称为 SQL*Net)连接到专用 Exadata 基础结构上的自治 AI 数据库。

Oracle Net Services 允许通过托管数据库的专用基础结构定义的网络从客户机应用程序到 Oracle Database 服务器的网络会话。Oracle 云部署使用 VCN(虚拟云网络)和子网。通常,子网定义为专用子网,这意味着无法通过公共互联网访问数据库。Exadata Cloud@Customer 部署使用 VM 集群网络。

与自治 AI 数据库的安全连接

自治 AI 数据库提供连接到专用数据库时要使用的几对数据库服务。在每对中,其中一对使用 TLS 协议提供安全 TCP (TCPS) 连接,另一对提供 TCP 连接。在所有其他方面,一对的两个成员是相同的。为确保传输中数据的安全性,Oracle 强烈建议您使用安全连接,即使数据库仅可通过专用子网访问也是如此。如果您熟悉在自己的数据中心内使用 Oracle Database,则以前可能没有使用过这些安全连接。

预配自治 Exadata VM 集群 (AVMC) 资源时,您可以:

为了提供安全连接,认证验证使用存储在客户端(应用程序正在运行的)和服务器(自治 AI 数据库正在运行的)的 wallet 中的加密密钥。客户机上的密钥必须与服务器上的密钥匹配才能建立连接。Wallet 包含一系列文件,包括连接到数据库所需的密钥和其他信息。客户端和服务器之间的所有通信都是加密的。

Oracle Net Services (SQL *Net) 连接类型

建立网络会话之后,Oracle Net Services 充当客户机应用程序和数据库的数据传送者。它负责建立和维护客户机应用程序与数据库之间的连接,以及在二者之间交换消息。

Oracle Net Services 支持与自治 AI 数据库的各种连接类型,包括:

第三方产品和定制应用程序可能会使用其中任何连接类型。

Oracle Call Interface (OCI) 连接和钱包

通过 Wallet 文件以及数据库用户 ID 和密码,可以访问自治 AI 数据库中的数据。将 Wallet 文件存储在安全位置。

由于 wallet 文件可以提供对数据库中数据的访问权限,因此您必须仅与授权用户共享 wallet 文件。如果以未经授权的用户(例如通过公共电子邮件)可能访问的方式传输 wallet 文件,请单独和安全地传输 wallet 密码。

注:自治 AI 数据库根据 Oracle Cloud 安全标准为所有用户使用强密码复杂性规则。有关密码复杂性规则的更多信息,请参见 Create Database Users

有关下载自治 AI 数据库的客户端身份证明的信息,请参见 Download Client Credentials

Oracle Net Services 可以使用 sqlnet.ora 文件中的 WALLET_LOCATION 参数查找自治 AI 数据库 wallet 的位置。使用 WALLET_LOCATION 时,Oracle Net Services 会自动使用该 wallet。Wallet 透明地用于应用程序。有关设置 WALLET_LOCATION 的信息,请参阅为 ODBC 和 JDBC Oracle Call Interface (OCI) 连接做准备

自治 AI 数据库的预定义数据库服务名称

专用 Exadata 基础结构上的自治 AI 数据库提供在连接到数据库时要使用的多组数据库服务。在每个集合中,一个服务使用 TLS 协议提供安全 TCP (TCPS) 连接,另一个服务提供 TCP 连接。

将为上述每个数据库连接服务创建一个连接字符串。您可以从 Oracle Cloud Infrastructure (OCI) 控制台查看这些连接字符串,如 View Connection Strings for an Autonomous AI Database 中所述。

这些连接服务旨在支持不同类型的数据库操作:

配置为使用 Autonomous Data Guard 的数据库有两个额外服务,它们与备用数据库具有相同的连接类型(TCPS 和 TCP),以便进行只读访问。

在多备用环境中,将自动为 _ro 服务连接确定要连接到的备用数据库。但是,如果需要,您可以手动编辑连接字符串以连接到其他备用数据库。

注:在以下预定义的数据库服务名称中,_ro 表示只读访问权限的连接,_ss 表示快照备用数据库的连接。

这些连接服务还设计为支持不同类型的数据库操作:

Autonomous AI Transaction Processing 支持上述所有连接服务( tpurgenttphighmediumlow )。相比之下,自治 AI 数据湖仓一体只能连接到连接服务。

预配了 CPU 过量预配的数据库只能连接到:

预定义数据库服务的关键特征

下表根据上述特征比较了不同的数据库服务集。

服务名 并行度 资源份额 并发对账单 启用 FAN 已启用 TAC
tpurgent_tlstpurgenttpurgent_ro_tlstpurgent_rotpurgent_ss_tlstpurgent_ss 手工设置 12 300 x OCPU 数或 75 x ECPU 数
tp_tlstptp_ro_tlstp_rotp_ss_tlstp_ss 1 8 300 x OCPU 数或 75 x ECPU 数
high_tlshighhigh_ro_tlshigh_rohigh_ss_tlshigh_ss 1 x OCPU 数或 0.5 x ECPU 数 4 3
medium_tlsmediummedium_ro_tlsmedium_romedium_ss_tlsmedium_ss 4 2 1.25 x OCPU 数或 0.25125 x ECPU 数
low_tlslowlow_ro_tlslow_rolow_ss_tlslow_ss 1 1 300 x OCPU 数或 75 x ECPU 数

其中 number of OCPU or ECPU 是 Oracle Cloud 控制台中显示的 CPU 计数。

CPU 过量预配的 tplow 服务支持的并发语句数按完全 OCPU 或 ECPU(即 300 x OCPU150 x ECPU )的计算方式进行精确计算。例如,如果值为 0.5 OCPU,则 tp and low services 可以处理的并发语句的总数为 300 X 0.5,即 150。

注:使用服务连接到数据库后,请勿尝试通过手动更改连接的使用者组来将该连接切换到其他服务。请注意,自治 AI 数据库执行更多操作来配置连接,而不仅仅是使用服务连接到数据库时设置其使用者组。

使用客户端应用程序连接到自治 AI 数据库

自治 AI 数据库已预先配置为通过 TNS 监听程序支持 Oracle Net Services,该数据库已安装并配置为使用 TCPS 连接(使用客户端身份证明保护)或 TCP 连接。

客户端计算机必须准备好使用 Oracle Net Services 连接到 Autonomous AI Database。应用可以使用 Oracle Net Services 支持的任何连接类型连接到自治 AI 数据库。

以下步骤介绍了使用客户机应用程序连接到自治 AI 数据库的过程:

  1. 确定应用使用的连接类型(例如 OCI、ODBC、JDBC Thin 等)。

  2. 为您的客户端计算机准备应用程序使用的连接类型:

    • Oracle Call Interface (OCI)、ODBC 和 JDBC OCI Connections:通过下载并安装 Oracle Instant Client,然后下载自治 AI 数据库的客户端身份证明并将其提供给 Oracle Instant Client,为 Oracle Call Interface (OCI)、ODBC 和 JDBC OCI 连接做好准备。

      有关分步说明,请参阅为 ODBC 和 JDBC Oracle Call Interface (OCI) 连接做准备

    • 为 JDBC 瘦连接做准备:通过下载并安装 Oracle Database JDBC 驱动程序,然后下载自治 AI 数据库的客户端身份证明并将其提供给 Oracle Database JDBC 驱动程序,为 JDBC 瘦连接做准备:

      有关分步说明,请参阅为 JDBC 瘦连接做准备

  3. 在应用程序中,设置连接。

    准备客户机计算机所需的步骤取决于客户机应用程序所使用的连接类型。在所有情况下,必须将 Wallet 文件形式的客户端身份证明下载到客户端。

支持 Wallet ZIP 文件的内置应用程序

某些应用程序允许您选择身份证明 ZIP 文件作为连接属性的一部分。

例如,在 SQL Developer 18.3 及更高版本中,在 Connection Type(连接类型)字段中,选择值 Cloud Wallet(云 Wallet),用于在 Configuration File(配置文件)字段中输入身份证明 ZIP 文件。然后,SQL Developer 将在服务字段中显示可用连接的列表(这些连接包含在凭证文件中)。

如果您的应用支持钱包或为自治 AI 数据库连接(例如 Oracle SQL Developer)提供特定支持,Oracle 建议您使用该类型的连接。

插图 adb_connect_sqldev_db20.png 的说明

使用 Oracle Database Tools 连接到自治 AI 数据库

Oracle Database 工具(例如 Database Actions、SQL Developer、SQLcl 和 SQL*Plus)可以与自治 AI 数据库一起使用。

以下主题提供了使用 Oracle Database 工具连接到自治 AI 数据库的分步说明:

使用 Microsoft .NET、Visual Studio 和 Visual Studio Code 进行连接

Oracle Autonomous AI Database on Dedicated Exadata Infrastructure 支持与 Microsoft .NET Framework、.NET Core、Visual Studio 和 Visual Studio Code 的连接。

Oracle Data Provider for .NET (ODP.NET) 提供对自治 AI 数据库的运行时 ADO.NET 数据访问。ODP.NET 具有以下驱动程序类型:

Oracle Developer Tools for Visual Studio 在 Visual Studio 中提供数据库应用程序设计时支持,包括用于在 Oracle Cloud 中管理自治 AI 数据库的工具。

Oracle Developer Tools for VS Code 在 Visual Studio Code 中提供数据库应用程序设计时支持。

这些软件组件可从以下站点免费下载:

Oracle 建议将新的提供商和工具版本与自治 AI 数据库结合使用。

设置指令

有关如何下载、安装和配置这些组件以与专用 Exadata 基础结构上的 Oracle Autonomous AI Database 一起使用的说明,请参阅为 Oracle Autonomous AI Database 开发 .NET Applications

请注意,这些说明显示了如何建立与数据库的 TCPS(使用 SSL 的 TCP)连接,这需要使用 wallet。对于专用基础结构上的数据库,您可以改为与数据库建立 TCP 连接,而数据库不需要使用 wallet。

要了解有关在专用 Exadata 基础结构和 .NET 上使用 Oracle Autonomous AI Database 的更多信息,请试用免费的 .NET Development with Oracle Autonomous AI Database Quick Start 。本练习将引导您完成在 Oracle Cloud Infrastructure 上设置连接到自治 AI 数据库的 .NET Web 服务器。接下来,该实验室将指导开发和部署使用所有这些组件的简单 ASP.NET Core Web 应用程序。到最后,您将在互联网上有一个实时的工作网站。

使用脚本语言连接到自治 AI 数据库

您可以使用 Python、Node.js、PHP、Ruby、R、Go 和 Perl 等不同语言的程序连接到基于专用 Exadata 基础设施的 Oracle Autonomous AI Database。使用客户端凭证强制实施安全性。

这些脚本语言具有使用 Oracle Call Interface (OCI) 库的数据库访问 API 或驱动程序。OCI 库可以来自完整的 Oracle Client 或 Oracle Instant Client。

有关使用不同脚本语言连接到自治 AI 数据库的分步说明,请参阅以下文章:

与 Oracle Cloud Infrastructure FastConnect 连接

Oracle Cloud Infrastructure FastConnect 提供了一种简便的方式,支持您使用 FastConnect 公共对等连接将本地网络连接到自治 AI 数据库。与基于互联网的连接相比,FastConnect 提供了更高的带宽选项和更可靠、更稳定的网络体验。

使用 FastConnect 访问 Oracle Cloud Infrastructure 中的服务,而无需使用 Internet,例如访问对象存储,或访问 Oracle Cloud Infrastructure 控制台和 API。如果没有 FastConnect,则发送到公共 IP 地址的流量将通过互联网路由。通过 FastConnect,该流量将通过您的专用物理连接传输。

有关将自治 AI 数据库与 Oracle Cloud Infrastructure FastConnect 连接的详细信息,请参阅 FastConnect 概述