将5 GB的数据从对象存储加载到自治数据库。我可以在这个5 GB的文件上创建一个外部表并加载数据吗?还是必须将此文件分成几个部分然后加载它。对于我们可以加载到自治数据库的最大文件大小,在对象存储方面有什么限制吗?
发布于 2021-11-24 20:28:10
在共享基础设施上的自治数据库上,您可以使用5 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;
/有关所选对象存储所需的参数选项和凭据的更多详细信息,请访问refer to the documentation here.
https://stackoverflow.com/questions/70102529
复制相似问题