在 Oracle Compute Cloud at Customer 上查询外部数据
介绍用于允许 Exadata Cloud@Customer 上的 Autonomous AI Database 部署通过从数据湖中的对象构建外部表和外部分区表来加载、查询和管理非结构化数据的程序包和工具。
您可以使用 DBMS_CLOUD 程序包在 Exadata Cloud@Customer 上配置自治 AI 数据库部署,以访问存储在 Oracle Compute Cloud at Customer (C3) 对象存储桶上的非结构化数据。
概述
您需要能够从结构化和非结构化数据中提取业务洞察的数据平台。数据仓库中可用的结构化数据和数据湖中可用的非结构化数据的组合称为数据湖仓一体。
自治数据湖仓一体允许对结构化和非结构化数据进行数据分析。结构化数据存储在自治 AI 数据湖仓中,非结构化数据存储在配置在 C3 对象存储桶上的数据湖中。自治 AI 数据湖仓一体可以使用名为 DBMS_CLOUD 的数据库程序包来查询、加载和管理数据湖中的对象。此程序包允许自治 AI 数据库在数据湖对象(例如 csv、txt、Avro 和 Parquet 文件)上创建外部和外部分区表。您可以通过结合 Exadata Cloud@Customer 和 Oracle C3 上的自治 AI 数据库部署功能来构建自治数据湖仓一体。
自治数据湖仓有两个主要组件:自治 AI 数据湖仓和数据湖。自治 AI 数据湖仓是使用 Exadata Cloud@Customer 上的自治 AI 数据库部署构建的,而数据湖是使用 C3 对象存储桶构建的。自治 AI 数据库托管结构化关系数据,而数据湖托管以 txt、csv、Avro、Parquet 和其他文件类型形式收集的非结构化数据。您可以查询自治 AI 数据库,数据库确定在何处查找结果,无论是在结构化数据、非结构化数据还是两者的组合中。您可以使用 DBMS_CLOUD 程序包在 Exadata Cloud@Customer 上配置自治 AI 数据库部署,通过基于数据湖中的对象构建外部和外部分区表来加载、查询和管理非结构化数据。
Prerequisites
按照以下步骤配置 C3 对象存储存储桶并预配各种自治 AI 数据库组件。在配置自治 AI 数据库以与 C3 对象存储存储桶通信之前,您需要完成这些步骤。
-
创建 C3 对象存储存储桶。
-
创建用户和组。将用户添加到组中并配置所需的策略,以允许用户管理 C3 对象存储存储桶中的文件(添加/读取/删除)。
示例:
Allow group <group_name> to manage objects in tenancy where target.bucket.name='<new_bucket_name_created>' -
为创建的用户创建 API 密钥。在 API 密钥生成过程中,请注意以下信息:
user_ocid、tenancy_ocid、fingerprint和region。此外,保存在 API 密钥生成过程中创建的公共和专用 PEM 密钥文件。此信息是以后配置DBMS_CLOUD软件包所必需的。 -
下载 https 证书颁发机构链,如下所示。此证书颁发机构链允许客户端应用程序通过 https 协议对 C3 对象存储存储桶进行身份验证。https 证书通常保存在 crt 文件中,例如
c3_ca.crt。通过将浏览器指向以下 URL 来获取证书颁发机构链:https://iaas.domainname/cachain,其中domainname是 C3 基础结构部署期间配置的 DNS 域的名称。 -
创建新的计算 VM 。新 VM 启动后,将上述步骤中创建的专用 PEM 密钥文件和 C3 https 证书文件复制到 VM。
-
创建 Exadata 基础结构资源。
-
创建 Autonomous VM Cluster (自治 VM 集群)。
配置自治 AI 数据库以与 C3 对象存储存储桶通信
您需要完成自治 AI 数据库的以下两项任务才能与 C3 对象存储存储桶通信:
-
将 C3 对象存储 https 证书添加到自治 VM 集群网格基础结构 TCPS Wallet。例如,钱包位置是
/var/opt/oracle/dbaas_acfs/grid/tcps_wallets。需要执行此操作,自治 AI 数据库才能验证与 C3 对象存储的 https 连接。 -
在上面创建的 ACD 上向
C##CLOUD$SERVICE_dbms_cloud_store表添加一个条目。这是为了告知DBMS_CLOUD程序包 C3 对象存储桶是有效的云存储。要执行此操作的示例 SQL 命令是:SQL>INSERT INTO C##CLOUD$SERVICE.dbms_cloud_store VALUES('ORACLE_BMC','<objectstorage.mydomain.com>',null,1);
在自治 AI 数据库中,您无法以常规用户身份完成上述两项任务。Oracle Cloud Operations 需要代表常规用户运行这两个任务。您需要登录 My Oracle Support (MOS) 创建新的 Oracle Cloud 操作支持请求才能执行这两个任务。您需要将以下信息添加到请求单中。完成中的步骤后,您将获得这些值。
-
Exadata 基础结构资源的 OCID
-
自治 VM 集群的 OCID
-
ACD 的 OCID
-
C3 对象保存 URL
-
C3 对象存储 https 证书文件
在云操作完成上述任务后,登录到自治 AI 数据库。使用 DBMS_CLOUD.CREATE_CREDENTIAL 过程向自治 AI 数据库提供连接到 C3 对象存储存储桶所需的验证信息。有关更多详细信息,请参见 CREATE_CREDENTIAL 。