关于 Autonomous Database 上的数据管道
负载管道提供从外部源连续的增量数据加载(当数据到达对象存储时,会将数据加载到数据库表中)。导出管道提供连续的增量数据导出到对象存储(因为新数据显示在数据库表中,它导出到对象存储)。管道使用数据库调度程序持续加载或导出增量数据。
Autonomous Database 数据管道提供以下功能:
-
统一操作:通过管道,您可以快速轻松地加载或导出数据,并定期为新数据重复这些操作。
DBMS_CLOUD_PIPELINE
程序包为管道配置以及为加载或导出操作创建和启动调度的作业提供了一组统一的 PL/SQL 过程。 -
调度的数据处理:管道监视其数据源,并在新数据到达时定期加载或导出数据。
-
高性能:管道使用 Autonomous Database 上的可用资源扩展数据传输操作。默认情况下,管道对所有负载或导出操作使用并行度,并基于 Autonomous Database 上提供的 CPU 资源或可配置的优先级属性进行扩展。
-
原子性和恢复:管道可保证原子性,以便为装入管道只装入一次对象存储中的文件。
-
监视和故障排除:管道提供了详细的日志和状态表,可用于监视和调试管道操作。
- 多云兼容:Autonomous Database 上的管道支持在云提供商之间轻松切换,无需更改应用。管道支持 Autonomous Database 支持的所有身份证明和对象存储 URI 格式(Oracle Cloud Infrastructure Object Storage 、Amazon S3 、Azure Blob Storage 、Google Cloud Storage 和 Amazon S3 兼容对象存储)。
数据管道生命周期
DBMS_CLOUD_PIPELINE
软件包提供了创建、配置、测试和启动管道的过程。对于装入和导出管道,管道生命周期和过程相同。

插图 pipeline_lifecycle.eps 的说明
对于任一管道类型,您可以执行以下步骤来创建和使用管道:
-
创建和配置管道。有关更多信息,请参见 Create and Configure Pipelines 。
-
测试新管道。有关更多信息,请参见测试管道。
-
启动管道。有关更多信息,请参见启动管道。
此外,还可以监视、停止或删除管道:
-
在管道运行时,无论是在测试期间还是在启动管道后定期使用,您都可以监视管道。有关更多信息,请参见 Monitor and Troubleshoot Pipelines 。
-
您可以停止管道,然后重新启动它,或者在使用管道完成后删除管道。有关更多信息,请参见 Stop a Pipeline 和 Drop a Pipeline 。
加载管道
负载管道的运行方式如下(其中一些功能可以使用管道属性进行配置):
-
对象存储文件将并行加载到数据库表中。
- 加载管道使用对象存储文件名来唯一标识和加载较新的文件。
- 将对象存储中的文件加载到数据库表中后,如果对象存储中的文件内容发生更改,则不会再次加载该文件。
- 如果删除了对象存储文件,则不会影响数据库表中的数据。
-
如果遇到故障,负载管道将自动重试该操作。每次后续运行管道的调度作业时都会尝试重试。
-
如果文件中的数据不符合数据库表,则将其标记为
FAILED
,并且可以对其进行检查以调试和排除问题。- 如果任何文件加载失败,管道不会停止并继续加载其他文件。
-
加载管道支持多种输入文件格式,包括:JSON、CSV、XML、Avro、ORC 和 Parquet。

插图 load-pipeline.eps 的说明
从非 Oracle 数据库迁移是负载管道的一个可能用例。当您需要将数据从非 Oracle 数据库迁移到 Oracle Autonomous Database on Dedicated Exadata Infrastructure 时,您可以提取数据并将其加载到 Autonomous Database 中(Oracle Data Pump 格式不能用于从非 Oracle 数据库迁移)。通过使用 CSV 等通用文件格式从非 Oracle 数据库导出数据,您可以将数据保存到文件并将文件上载到对象存储。接下来,创建管道以将数据加载到 Autonomous Database 。使用加载管道加载大量 CSV 文件具有重要的优势,例如容错以及恢复和重试操作。对于具有大型数据集的迁移,您可以创建多个管道,每个管道对应一个非 Oracle 数据库文件,以将数据加载到 Autonomous Database 中。
导出管道
使用导出管道将数据从数据库连续增量导出到对象存储。导出管道定期标识求职者数据并将数据上载到对象存储。
有三个导出管道选项(可使用管道属性配置导出选项):
-
使用日期或时间戳列作为跟踪较新数据的键,将查询的增量结果导出到对象存储。
-
使用日期或时间戳列作为跟踪较新数据的键,将表的增量数据导出到对象存储。
-
使用查询将数据导出到对象存储,以选择不引用日期或时间戳列的数据(以便管道导出查询为每个调度程序运行选择的所有数据)。
导出管道具有以下功能(其中一些可使用管道属性进行配置):
-
结果将并行导出到对象存储。
-
如果出现任何故障,后续的管道作业将重复导出操作。
-
导出管道支持多种导出文件格式,包括: CSV、JSON、Parquet 或 XML 。
Oracle 维护的管道
Autonomous Database on Dedicated Exadata Infrastructure 提供内置管道,支持以 JSON 格式将特定日志导出到对象存储。这些管道是预配置的,由 ADMIN 用户启动和拥有。
Oracle 维护的管道包括:
-
ORA$AUDIT_EXPORT
:此管道以 JSON 格式将数据库审计日志导出到对象存储,并在启动管道后每 15 分钟运行一次(基于interval
属性值)。 -
ORA$APEX_ACTIVITY_EXPORT
:此管道以 JSON 格式将 Oracle APEX 工作区活动日志导出到对象存储。此管道预配置有用于检索 APEX 活动记录的 SQL 查询,并在启动管道后每 15 分钟运行一次(基于interval
属性值)。
要配置和启动 Oracle 托管管道,请执行以下操作: