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