0

将 5 GB 的数据从对象存储加载到自治数据库。我可以在这个 5 GB 文件上创建一个外部表并加载数据,还是必须将此文件分成几部分然后加载它。对于我们可以加载到自治数据库的文件的最大大小,对象存储是否有任何限制?

4

1 回答 1

0

在共享基础架构上的自治数据库上,您可以使用 5GB(或更大,没有实际文件大小限制)文件来创建外部表,也可以使用 DBMS_CLOUD 包直接将数据加载到表中。

要在对象存储中的数据上创建外部表,您需要使用“dbms_cloud.create_external_table”

例如。

> BEGIN    DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
>     table_name =>'CHANNELS_EXT',
>     credential_name =>'DEF_CRED_NAME',
>     file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt',
>     format => json_object('delimiter' value ','),
>     column_list => 'CHANNEL_ID NUMBER, CHANNEL_DESC VARCHAR2(20), CHANNEL_CLASS VARCHAR2(20)' ); END; /

要将数据加载到数据库中,您将需要“dbms_cloud.copy_data”过程。

例如。

BEGIN
 DBMS_CLOUD.COPY_DATA(
    table_name =>'CHANNELS',
    credential_name =>'DEF_CRED_NAME',
    file_uri_list =>'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/channels.txt',
    format => json_object('delimiter' value ',')
 );
END;
/

有关您选择的对象存储所需的参数选项和凭据的更多详细信息,请参阅此处的文档。

于 2021-11-24T20:28:09.893 回答