使用 DBMS_CLOUD.EXPORT_DATA 將資料匯出為文字的物件存放區
將 JSON 資料匯出至雲端物件儲存
顯示透過指定查詢,將表格資料從 Autonomous AI Database 匯出至 Cloud Object Storage 作為 JSON 資料的步驟。
此匯出方法支援 Autonomous Database 支援的所有雲端物件存放區,您可以使用 Oracle Cloud Infrastructure 資源主體存取您的 Oracle Cloud Infrastructure 物件存放區、Amazon 資源名稱 (ARN) 以存取 AWS 簡單儲存服務 (S3)、存取 Azure BLOB 儲存的 Azure 服務主體,或存取 Google 服務帳戶以存取 Google Cloud Platform (GCP) 資源。
將資料匯出成 CSV 至雲端物件儲存
顯示透過指定查詢,將表格資料從 Autonomous AI Database 匯出至 Cloud Object Storage 作為 CSV 資料的步驟。
此匯出方法支援 Autonomous AI Database 支援的所有雲端物件存放區。您也可以使用 Amazon 資源名稱 (ARN) 存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。
將資料匯出為 Parquet 至雲端物件儲存
顯示透過指定查詢,將表格資料從您的 Autonomous AI Database 匯出至 Cloud Object Storage 作為 Parquet 資料的步驟。
此匯出方法支援 Autonomous Database 支援的所有雲端物件存放區,您可以使用 Oracle Cloud Infrastructure 資源主體存取您的 Oracle Cloud Infrastructure 物件存放區、Amazon 資源名稱 (ARN) 以存取 AWS 簡單儲存服務 (S3)、存取 Azure BLOB 儲存的 Azure 服務主體,或存取 Google 服務帳戶以存取 Google Cloud Platform (GCP) 資源。
使用 DBMS_CLOUD.EXPORT_DATA 進行匯出的注意事項:
                     
- 
                           
                           如有需要,您可以提供的 query參數可以是進階查詢,例如包含結合或子查詢的查詢。
- 
                           
                           以 compression選項指定format參數以壓縮輸出檔案。typeparquet的預設compression為snappy。
- 
                           
                           當您不再需要匯出的檔案時,請使用 DBMS_CLOUD.DELETE_OBJECT程序,或使用原生雲端物件儲存命令刪除檔案。
- 
                           
                           請參閱 DBMS_CLOUD 將 Oracle 資料類型封裝至 Parquet 對應,瞭解 Oracle 類型與 Parquet 類型對應的詳細資訊。 不支援下列類型,或限制使用 DBMS_CLOUD.EXPORT_DATA匯出 Parquet 的支援:Oracle 類型 備註 BFILE不支援 BLOB不支援 DATE支援下列限制: DATE格式僅支援日期、月份及年度。不支援小時、分鐘和秒。如需將 DATE匯出至 Parquet 之 NLS 格式限制的詳細資訊,請參閱 DBMS_CLOUD Package Oracle Data Type to Parquet Mapping 。INTERVAL DAY TO SECOND支援且在內部被視為字串 INTERVAL YEAR TO MONTH支援且在內部被視為字串 LONG不支援 LONG RAW不支援 NUMBER支援下列限制: - 最小精確度可為 38,小數位數可等於小數位數。
- 如果未提供資料欄 NUMBER類型的小數位數和小數位數,預設會使用 38 的小數位數和 20 的小數位數。
- NUMBER類型不支援負數比例。
 Object Types不支援 TIMESTAMP支援下列限制: - 如果有多個資料欄的精確度不同,將會採用最高的精確度。
- TIMESTAMP WITH TIME ZONEOracle 資料類型只會使用時戳。
 如需將 TIMESTAMP匯出至 Parquet 之 NLS 格式限制的詳細資訊,請參閱 DBMS_CLOUD Package Oracle Data Type to Parquet Mapping 。
將資料匯出為 XML 至雲端物件儲存
顯示透過指定查詢,將表格資料從您的 Autonomous AI Database 匯出至 Cloud Object Storage 作為 XML 資料的步驟。
此匯出方法支援 Autonomous AI Database 支援的所有雲端物件存放區。您也可以使用 Amazon 資源名稱 (ARN) 存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。
文字輸出的檔案命名 ( CSV、JSON、Parquet 或 XML)
說明使用 DBMS_CLOUD.EXPORT_DATA 搭配 CSV、JSON、Parquet 或 XML 文字檔輸出的輸出檔案命名。
                  
DBMS_CLOUD.EXPORT_DATA 會執行使用 query 參數指定的查詢,並將結果傳送至雲端物件存放區儲存桶或目錄中的文字檔。輸出格式取決於您指定的 format 參數 type ( CSV、JSON、Parquet 或 XML 其中之一)。 
                     
為了加速程序並盡快產生輸出,DBMS_CLOUD.EXPORT_DATA 會分割程序。這表示視系統資源而定,當您執行 DBMS_CLOUD.EXPORT_DATA 時,程序會在「雲端物件存放區」儲存桶或目錄中建立多個輸出檔案。
                     
每個產生的檔案的格式為:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
- 
                           
                           FileNamePrefix :(選擇性) 如果提供 FileNamePrefix , DBMS_CLOUD.EXPORT_DATA會使用檔案名稱首碼來產生結果的檔案名稱。FileNamePrefix 是使用在file_uri_list參數值中儲存設定 (Bucket) 或目錄名稱之後提供的文字來指定。您無法為 file_uri_list中的 FileNamePrefix 提供多個值。
- 
                           
                           client_info _ module _ 動作:如果 file_uri_list參數未提供檔案名稱前置碼,則DBMS_CLOUD.EXPORT_DATA會使用 client_info 、應用程式 module 以及 action 的組合作為檔案名稱前置碼 (當此資訊可用時)。此程序會從執行查詢之資料庫階段作業的應用程式資訊中取得這些名稱。請參閱 Oracle Database 19c PL/SQL Packages and Types Reference 或 Oracle Database 26ai PL/SQL Packages and Types Reference 中的 DBMS_APPLICATION_INFO ,瞭解 client_info 、模組 名稱和動作名稱的相關資訊。如果 file_uri_list未提供檔案名稱前置碼,而且沒有可用的資料庫階段作業屬性,DBMS_CLOUD.EXPORT_DATA會使用檔案名稱前置碼 "data"。
- 
                           
                           sequenceNum :與 DBMS_CLOUD.EXPORT_DATA查詢相關聯的序號。視查詢而定,資料庫服務以及 ECPU (如果您的資料庫使用 OCPU,則為 OCPU) 數目有一或多個 sequenceNum 。此外,視結果大小而定,每個 sequenceNum 都會有一或多個輸出檔案。
- 
                           
                           timestamp :上傳檔案時的時戳。 
- 
                           
                           format_extension :預設值取決於 formattype值:- CSV 格式:.csv
- JSON 格式:.json
- PARQUET 格式 .parquet
- XML 格式:.xml
 如需詳細資訊,請參閱 EXPORT_DATA 的 DBMS_CLOUD 套裝軟體格式選項中 format選項fileextension的說明。
- CSV 格式:
- 
                           
                           compression_extension :當您將 format參數與compression選項搭配值gzip時,這是"gz"。當 formattype為parquet時,也支援compression值snappy,此為預設值。
例如,下列 DBMS_CLOUD.EXPORT_DATA 程序中的檔案名稱前置碼在 file_uri_list 參數中指定為 dept_export。此範例會以指定的格式產生所提供物件存放區的輸出。
                     
BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    credential_name => 'DEF_CRED_NAME',
    file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
    query           => 'SELECT * FROM DEPT',
    format          => JSON_OBJECT('type' value 'json'));
END;
/當您指定檔案名稱前置碼時,產生的輸出檔會包含檔案名稱前置碼,類似於下列項目:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json產生的輸出檔案數目取決於結果的大小、資料庫服務,以及 Autonomous AI Database 執行處理中的 ECPU (若您的資料庫使用 OCPU 則為 OCPU) 數目。
在下列範例中,file_uri_list 參數不包含檔案名稱前置碼,且提供值為 gzip 的 compression 參數:
                     
BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    credential_name => 'DEF_CRED_NAME',
    file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
    query           => 'SELECT * FROM DEPT',
    format          => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/當檔案名稱首碼不在 file_uri_list 參數中時,DBMS_CLOUD.EXPORT_DATA 會使用下列格式的檔案名稱首碼:client_info _ module _ action 。在此範例中,產生的輸出檔案包含 DBMS_CLOUD.EXPORT_DATA 提供的檔案名稱前置碼,並使用 gzip 壓縮檔案,並新增副檔名 .gz,如下所示:
                     
Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz當您執行 DBMS_CLOUD.EXPORT_DATA 時,如果 client_info _ module _ action 階段作業資訊無法使用,檔案名稱前置碼會設為 data。舉例而言:
                     
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz例如,下列 DBMS_CLOUD.EXPORT_DATA 程序中的檔案名稱前置碼在 file_uri_list 參數中指定為 dept_export。此範例會以指定的格式產生提供之目錄的輸出。
                     
BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    file_uri_list   => 'DATA_PUMP_DIR:sales.json',
    query           => 'SELECT * FROM SALES',
    format          => JSON_OBJECT('type' value 'json'));
END;
/當您指定檔案名稱前置碼時,產生的輸出檔會包含檔案名稱前置碼,類似於下列項目:
sales_1_20230705T124523275915Z.csv使用 DBMS_CLOUD.EXPORT_DATA 命名檔案時的備註:
                     
- 
                           
                           DBMS_CLOUD.EXPORT_DATA不會建立儲存桶或目錄。
- 
                           
                           DBMS_CLOUD.EXPORT_DATA產生的檔案數目取決於 ECPU (OCPU,如果您的資料庫使用 OCPU) 的數目、資料庫服務以及結果資料的大小。
- 
                           在 file_uri_list參數中提供目錄物件名稱時,適用下列項目:- 
                                 提供的目錄必須存在,而且您必須具備該目錄的 WRITE存取權。
- 
                                 以雙引號括住時,目錄名稱會區分大小寫。 
- 
                                 不能提供證明資料名稱參數。 
 
- 
                                 
- 
                           
                           對於 CSV、JSON 或 XML 輸出,在產生的檔案包含 10MB 的資料時,預設會建立新的輸出檔案。不過,如果結果資料少於 10MB,您可能會有多個輸出檔案,視資料庫服務和 Autonomous Database 執行處理的 ECPU 數目而定 (如果您的資料庫使用 OCPU,則為 OCPU)。 CSV、JSON 或 XML 的預設輸出檔案區塊大小為 10MB。您可以使用 format參數maxfilesize選項來變更此值。如需詳細資訊,請參閱 EXPORT_DATA 的 DBMS_CLOUD 套件格式選項。
- 
                           對於 Parquet 輸出,每個產生的檔案小於 128MB,可能會產生多個輸出檔案。不過,如果結果資料少於 128MB,則視資料庫服務和 Autonomous Database 執行處理的 ECPU 數目而定,您可能會有多個輸出檔案 (如果資料庫使用 OCPU,則為 OCPU)。 format參數maxfilesize選項不適用於 Parquet 檔案。