从对象存储获取数据到Oracle自治数据库的方式有哪些?

What are the ways to get data from object storage to Oracle Autonomous Database?

我在对象存储中有大小 > 85GB 的 CSV 文件。

从对象存储中的 CSV 文件将数据加载到自治数据库中的 Oracle 表中的有效方法是什么。

自治数据库有多个从对象存储加载数据的选项。有 UI 工具以及数据库 sql 包。外部文件可以是 CSV、JSON、Parquet、AVRO、ORC 等多种格式,也可以存在于不同的受支持对象存储中。

DBMS_CLOUDPL/SQL 包使用户能够轻松管理对象存储凭证以及将数据加载到 Oracle 表中。

https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/load-data-cloud-copy.html#GUID-76FC5A15-7ACC-4B59-87C0-20D4778E522D

一个简单的例子是:

#
# Store your object store credentials using the procedure DBMS_CLOUD.CREATE_CREDENTIAL.
#
SET DEFINE OFF
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'DEF_CRED_NAME',
    username => 'adb_user@example.com',
    password => 'password'
  );
END;
/

#
# Load data into an existing table using the procedure DBMS_CLOUD.COPY_DATA.
#
CREATE TABLE CHANNELS
   (channel_id CHAR(1),
    channel_desc VARCHAR2(20),
    channel_class VARCHAR2(20)
   );
/

BEGIN
 DBMS_CLOUD.COPY_DATA(
    table_name =>'CHANNELS',
    credential_name =>'DEF_CRED_NAME',
    file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.csv',
    format => json_object('type' value 'csv')
 );
END;
/

有关数据加载选项的完整列表,您可以参考自治数据库 (ADBS) 文档:

  • 第 3 章使用自治数据库加载数据
  • 主题:从云中的文件加载数据

https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/load-data.html#GUID-1351807C-E3F7-4C6D-AF83-2AEEADE2F83E

完整的DBMS_CLOUD包参考,可以参考- https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/dbms-cloud-package.html#GUID-CE359BEA-51EA-4DE2-88DB-F21A9FC10721