在 Oracle Compute Cloud at Customer 上查询外部数据
介绍用于允许 Exadata Cloud@Customer 上的 Autonomous Database 部署通过从数据湖中的对象构建外部表和外部分区表来加载、查询和管理非结构化数据的程序包和工具。
您可以使用 DBMS_CLOUD
程序包在 Exadata Cloud@Customer 上配置 Autonomous Database 部署,以访问存储在 Oracle Compute Cloud at Customer (C3) 对象存储桶上的非结构化数据。
概述
您需要能够从结构化和非结构化数据中提取业务洞察的数据平台。数据仓库中可用的结构化数据和数据湖中可用的非结构化数据的组合称为数据湖仓一体。
自治数据湖仓一体允许对结构化和非结构化数据进行数据分析。结构化数据存储在 Autonomous Data Warehouse 中,而非结构化数据存储在 C3 对象存储桶上配置的数据湖中。Autonomous Data Warehouse 可以使用名为 DBMS_CLOUD
的数据库程序包来查询、加载和管理数据湖中的对象。此程序包允许 Autonomous Database 在数据湖对象(如 csv、txt、Avro 和 Parquet 文件)上创建外部分区表和外部分区表。您可以结合使用 Autonomous Database 部署在 Exadata Cloud@Customer 和 Oracle C3 上的功能来构建自治数据湖仓。
Autonomous Data Lakehouse 包含两个主要组件:Autonomous Data Warehouse 和 Data Lake。Autonomous Data Warehouse 使用 Autonomous Database 部署在 Exadata Cloud@Customer 上构建,而数据湖则使用 C3 对象存储存储桶构建。Autonomous Database 托管结构化关系数据,而 Data Lake 托管以 txt、csv、Avro、Parquet 和其他文件类型形式收集的非结构化数据。您可以查询 Autonomous Database ,数据库将确定在何处查找结果,无论是结构化数据、非结构化数据还是这两者的组合。您可以使用 DBMS_CLOUD
程序包在 Exadata Cloud@Customer 上配置 Autonomous Database 部署,通过从数据湖中的对象构建外部和外部分区表来加载、查询和管理非结构化数据。
Prerequisites
- 创建 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 集群)。
- 创建 Autonomous Container Database (ACD) 。
- 创建 Autonomous Database。
配置 Autonomous Database 以与 C3 对象存储存储桶通信
- 将 C3 对象存储 https 证书添加到自治 VM 集群网格基础结构 TCPS Wallet。例如,钱包位置是
/var/opt/oracle/dbaas_acfs/grid/tcps_wallets
。这样,Autonomous Database 才能验证与 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);
- Exadata 基础结构资源的 OCID
- 自治 VM 集群的 OCID
- ACD 的 OCID
- C3 对象存储 URL
- C3 对象存储 https 证书文件
Cloud Operations 完成以上任务后,登录到 Autonomous Database。使用 DBMS_CLOUD.CREATE_CREDENTIAL
过程向 Autonomous Database 提供连接到 C3 对象存储存储桶所需的验证信息。有关详细信息,请参见 CREATE_CREDENTIAL 。