连接到专用 Exadata 基础结构上的 Autonomous Database

应用和工具使用 Oracle Net Services(也称为 SQL*Net)连接到 Autonomous Database on Dedicated Exadata Infrastructure

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

保护与 Autonomous Database 的连接

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

预配自治 Exadata VM 集群 (AVMC) 资源时,您可以:
  • 从一系列可用端口 ( 1024 - 8999 ) 定制用于传输层安全 (Transport Layer Security,TLS) 和非 TLS 的单客户机访问名称 (Single Client Access Name,SCAN) 侦听器端口。还可以通过选中 Enable 双向 TLS (mTLS) Authentication 复选框来选择双向 TLS (mTLS) 验证。
  • 在单向 TLS 和双向 TLS (mTLS) 验证模式之间进行选择。这仅适用于数据库 TLS 证书,因为 ORDS 证书是单向 TLS 证书。

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

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

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

Oracle Net Services 支持各种与 Autonomous Database 的连接类型,包括:

  • Oracle Call Interface (OCI),由许多用 C 语言编写的应用程序使用。示例包括 Oracle 实用程序,例如 Oracle SQL*Plus、SQL*Loader 和 Oracle Data Pump。

  • ODBC 驱动程序可由在 Microsoft Windows 上运行的应用程序使用,它通过 Oracle Call Interface (OCI) 分层。

  • JDBC OCI,供 Java 语言应用使用。JDBC OCI 在 Java 应用的 Oracle Call Interface 上添加了一个层。Oracle SQLcl 命令行界面使用 JDBC OCI。

  • JDBC Thin Driver,也适用于 Java 应用程序,是一个纯 Java 驱动程序。Oracle SQL Developer 支持 JDBC 瘦驱动程序连接。

第三方产品和自定义应用程序可以使用这些连接类型中的任何一种。

Oracle Call Interface (OCI) 连接和钱包

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

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

注意:

Autonomous Database 基于 Oracle Cloud 安全标准为所有用户使用强密码复杂性规则。有关密码复杂性规则的更多信息,请参见 Create Database Users

有关下载 Autonomous Database 的客户端身份证明的信息,请参见 Download Client Credentials(下载客户端身份证明)

Oracle Net Services 可以使用 sqlnet.ora file.When WALLET_LOCATION 中的 WALLET_LOCATION 参数查找 Autonomous Database wallet 的位置,Oracle Net Services 会自动使用该 wallet。Wallet 将透明地用于应用程序。有关设置 WALLET_LOCATION 的信息,请参见 Prepare for ODBC and JDBC Oracle Call Interface (OCI) Connections

Autonomous Database 的预定义数据库服务名称

Autonomous Database on Dedicated Exadata Infrastructure 提供多组数据库服务,可在连接到数据库时使用。在每个集中,一个服务使用 TLS 协议提供安全 TCP (TCPS) 连接,另一个服务提供 TCP 连接。

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

这些连接服务旨在支持不同类型的数据库操作:
  • tpurgent_tlstpurgent :对于高优先级、时间关键型事务处理操作。
  • tp_tlstp :用于典型的事务处理操作。
  • high_tls:用于高优先级报告和批处理操作。
  • medium_tls:用于典型的报告和批处理操作。
  • low_tlslow :用于低优先级报告和批处理操作。

配置为使用 Autonomous Data Guard 的数据库具有两个与备用数据库具有相同连接类型(TCPS 和 TCP)的附加服务,用于只读访问。

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

注意:

在以下预定义的数据库服务名称中,_ro 表示只读访问的连接,_ss 表示与快照备用数据库的连接。
这些连接服务还设计为支持不同类型的数据库操作:
  • tpurgent_ro_tlstpurgent_rotpurgent_ss_tlstpurgent_ss :对于高优先级、时间关键型事务处理操作。
  • tp_ro_tlstp_rotp_ss_tlstp_ss :用于典型的事务处理操作。
  • high_ro_tlshigh_rohigh_ss_tlshigh_ss :用于高优先级报告和批处理操作。
  • medium_ro_tlsmedium_romedium_ss_tlsmedium_ss :用于典型的报告和批处理操作。
  • low_ro_tlslow_rolow_ss_tlslow_ss :用于低优先级报告和批处理操作。

自治事务处理支持上述所有连接服务( tpurgenttphighmediumlow )。相比之下,Autonomous Data Warehouse 只能连接到连接服务。

使用 CPU overprovisioning 预配的数据库只能连接到:
  • 自治事务处理tp服务,以及
  • Autonomous Data Warehouse服务。

预定义数据库服务的主要特征

  • 并发语句:Autonomous Database 在将语句排队之前可以为使用者组处理的最大 SQL 语句数。
  • 并行度:并行执行是 Autonomous Database on Dedicated Exadata Infrastructure 的一项功能,可创建和使用多个进程来执行单个 SQL 语句。并行度指定可使用的进程数。由于创建其他进程的性能成本,在以下情况下,并行执行通常值得:
    • 该查询引用一个大型数据集。
    • 并发性低。
    • 已用时间至关重要。
  • 资源共享:Autonomous Database on Dedicated Exadata Infrastructure 使用 Oracle Database Resource Manager 使用者组为每个数据库服务对提供不同的资源分配。资源共享定义保证给使用者组的资源的部分。但是,当不存在资源争用时,任何使用者组都可以使用超过其资源共享资源
  • FAN Enabled(启用 FAN):指示默认情况下是否启用快速应用程序通知。
  • 启用 TAC:指示默认情况下是否启用透明应用程序连续性。
下表根据上述特征比较了不同的数据库服务集。
服务名 并行度 资源份额 并发语句 启用 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 个 OCPU 数或 0.5 个 ECPU 数 4 3
medium_tlsmediummedium_ro_tlsmedium_romedium_ss_tlsmedium_ss 4 2 1.25 × OCPU 数或 0.25125 x ECPU 数
low_tlslowlow_ro_tlslow_rolow_ss_tlslow_ss 1 1 300 x OCPU 数或 75 x ECPU 数

其中, OCPU 或 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。

注意:

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

使用客户端应用程序连接到 Autonomous Database

Autonomous Database 预配置为通过 TNS 侦听器支持 Oracle Net Services,已安装并配置为使用 TCPS 连接(使用客户端身份证明保护)或 TCP 连接。

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

以下步骤介绍了使用客户端应用程序连接到 Autonomous Database 的过程:

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

  2. 为客户端计算机准备应用程序使用的连接类型:
    • Oracle Call Interface (OCI)、ODBC 和 JDBC OCI 连接:通过下载和安装 Oracle Instant Client,然后下载 Autonomous Database 的客户端身份证明并将其提供给 Oracle Instant Client,为 Oracle Call Interface (OCI)、ODBC 和 JDBC OCI 连接做好准备。

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

    • 为 JDBC 瘦连接做准备:通过下载和安装 Oracle Database JDBC Driver,然后下载 Autonomous Database 的客户端身份证明并将其提供给 Oracle Database JDBC Driver,为 JDBC 瘦连接做准备。

      有关分步说明,请参见 Prepare for JDBC Thin Connections

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

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

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

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

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

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

使用 Oracle Database Tools 连接到 Autonomous Database

Oracle Database 工具(例如 Database Actions、SQL Developer、SQLcl 和 SQL*Plus)可以与 Autonomous Database 一起使用。

以下主题提供了使用 Oracle Database 工具连接到 Autonomous Database 的分步说明:

与 Microsoft .NET、Visual Studio 和 Visual Studio Code 连接

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

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

  • .NET Framework 应用程序的非托管 ODP.NET

  • .NET Framework 应用程序的托管 ODP.NET

  • ODP.NET .NET Core 应用程序的核心

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

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

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

Oracle 建议将最新的提供商和工具版本与 an Autonomous Database 结合使用。

设置说明

有关如何下载、安装和配置这些组件以用于 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的说明,请参阅 Developing .NET Applications for Oracle Autonomous Database

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

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

使用脚本语言连接到 Autonomous Database

您可以使用各种语言(包括 Python、Node.js、PHP、Ruby、R、Go 和 Perl)的程序连接到 Oracle Autonomous Database on Dedicated Exadata Infrastructure 。使用客户端身份证明强制实施安全性。

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

有关使用不同脚本语言连接到 Autonomous Database 的分步说明,请参阅以下文章:

Oracle Cloud Infrastructure FastConnect 连接

Oracle Cloud Infrastructure FastConnect 提供了一种使用 FastConnect 公共对等连接将内部部署网络连接到 Autonomous Database 的简单方法。与基于 Internet 的连接相比,FastConnect 提供了更高的带宽选项以及更加可靠和一致的网络体验。

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

有关将 Autonomous DatabaseOracle Cloud Infrastructure FastConnect 连接的详细信息,请参阅 FastConnect 概述