使用 DBMS_CLOUD.EXPORT_DATA 將資料匯出為物件存放區

使用 DBMS_CLOUD.EXPORT_DATA 將資料匯出為文字,從自治式 AI 資料庫匯出至雲端物件存放區。文字格式匯出選項為 CSV、JSON 或 XML。

將 JSON 資料匯出至雲端物件儲存

顯示透過指定查詢,將表格資料從您的自治式 AI 資料庫匯出至雲端物件儲存作為 JSON 資料的步驟。

此匯出方法支援 Autonomous Database 支援的所有雲端物件存放區,而且您可以使用 Oracle Cloud Infrastructure 資源委派人來存取 Oracle Cloud Infrastructure 物件存放區、Amazon 資源名稱 (ARN) 以存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。

  1. 連線至您的自治式 AI 資料庫執行處理。

    請參閱連線至自治式 AI 資料庫以瞭解詳細資訊。

  2. 使用 DBMS_CLOUD.CREATE_CREDENTIAL 儲存您的雲端物件儲存證明資料。

    舉例而言:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    您為 usernamepassword 提供的值取決於使用的雲端物件儲存服務。

  3. 執行 DBMS_CLOUD.EXPORT_DATA 並指定值為 jsonformat 參數 type,以將結果匯出為雲端物件儲存上的 JSON 檔案。

    若要產生 JSON 輸出檔案,file_uri_list 參數有兩個選項:

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL。

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL,並且包含產生匯出 JSON 檔案名稱時所要使用的檔案名稱前置碼。

    如果您未在 file_uri_list 中包含檔案名稱首碼,DBMS_CLOUD.EXPORT_DATA 會提供檔案名稱首碼。請參閱文字輸出的檔案命名 (CSV、JSON、Parquet 或 XML) 以瞭解詳細資訊。

    例如,下列顯示 DBMS_CLOUD.EXPORT_DATA,其中包含 file_uri_list 中指定的檔案名稱前置碼:

     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;
     /
    

    在此範例中,*namespace-string* 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。

    當記錄分隔符號包含逸出字元 (例如 \r\n 或 \t) 時,請以雙引號括住記錄分隔符號。例如,若要使用記錄分隔符號 \r\n,請以雙引號括住值:"\r\n"

     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', 'recorddelimiter' value '"\r\n"' format json));
     END;
     /
    

    在此範例中,*namespace-string* 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。

    如需有關參數的詳細資訊,請參閱 EXPORT_DATA Procedure

    如需可與 DBMS_CLOUD.EXPORT_DATA 搭配使用之可用 format 參數的詳細資訊,請參閱 DBMS_CLOUD Package Format Options for EXPORT_DATA

使用 DBMS_CLOUD.EXPORT_DATA 匯出的注意事項:

將資料的 CSV 匯出至雲端物件儲存

顯示透過指定查詢,將表格資料從您的自治式 AI 資料庫匯出至雲端物件儲存作為 CSV 資料的步驟。

此匯出方法支援自治式 AI 資料庫支援的所有雲端物件存放區。您也可以使用 Amazon 資源名稱 (ARN) 存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。

  1. 連線至您的自治式 AI 資料庫執行處理。

    請參閱連線至自治式 AI 資料庫以瞭解詳細資訊。

  2. 使用 DBMS_CLOUD.CREATE_CREDENTIAL 儲存您的雲端物件儲存證明資料。

    舉例而言:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    您為 usernamepassword 提供的值取決於使用的雲端物件儲存服務。

  3. 執行 DBMS_CLOUD.EXPORT_DATA 並指定值為 csvformat 參數 type,以將結果匯出為雲端物件儲存上的 CSV 檔案。

    若要產生 CSV 輸出檔案,file_uri_list 參數有兩個選項:

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL。

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL,並且包含產生匯出 CSV 檔案檔案名稱時所要使用的檔案名稱前置碼。

    如果您未在 file_uri_list 中包含檔案名稱首碼,DBMS_CLOUD.EXPORT_DATA 會提供檔案名稱首碼。請參閱文字輸出的檔案命名 (CSV、JSON、Parquet 或 XML) 以瞭解詳細資訊。

    例如,下列顯示 DBMS_CLOUD.EXPORT_DATA,其中包含 file_uri_list 中指定的檔案名稱前置碼:

     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 'csv', 'delimiter' value '|', 'compression' value 'gzip'));
     END;
     /
    

    在此範例中,*namespace-string* 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。

    如需有關參數的詳細資訊,請參閱 EXPORT_DATA Procedure

    如需可與 DBMS_CLOUD.EXPORT_DATA 搭配使用之可用 format 參數的詳細資訊,請參閱 DBMS_CLOUD Package Format Options for EXPORT_DATA

使用 DBMS_CLOUD.EXPORT_DATA 匯出的注意事項:

將資料匯出為 Parquet 到雲端物件儲存

顯示透過指定查詢,將表格資料從您的自治式 AI 資料庫匯出至雲端物件儲存作為 Parquet 資料的步驟。

此匯出方法支援 Autonomous Database 支援的所有雲端物件存放區,而且您可以使用 Oracle Cloud Infrastructure 資源委派人來存取 Oracle Cloud Infrastructure 物件存放區、Amazon 資源名稱 (ARN) 以存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。

  1. 連線至您的自治式 AI 資料庫執行處理。

    請參閱連線至自治式 AI 資料庫以瞭解詳細資訊。

  2. 使用 DBMS_CLOUD.CREATE_CREDENTIAL 儲存您的雲端物件儲存證明資料。

    舉例而言:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    您為 usernamepassword 提供的值取決於使用的雲端物件儲存服務。

  3. 執行 DBMS_CLOUD.EXPORT_DATA 並指定值為 parquetformat 參數 type,以將結果匯出為 Cloud Object Storage 上的 parquet 檔案。

    若要產生 parquet 輸出檔案,file_uri_list 參數有兩個選項:

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL。

    • file_uri_list 值設為您雲端物件儲存上現有儲存桶的 URL,並包含產生匯出之 parquet 檔案檔案名稱時所要使用的檔案名稱前置碼。

    如果您未在 file_uri_list 中包含檔案名稱首碼,DBMS_CLOUD.EXPORT_DATA 會提供檔案名稱首碼。請參閱文字輸出的檔案命名 (CSV、JSON、Parquet 或 XML) 以瞭解詳細資訊。

    例如,下列顯示 DBMS_CLOUD.EXPORT_DATA,其中包含 file_uri_list 中指定的檔案名稱前置碼:

     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 'parquet', 'compression' value 'snappy'));
     END;
     /
    

    在此範例中,*namespace-string* 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。

    如需有關參數的詳細資訊,請參閱 EXPORT_DATA Procedure

    如需可與 DBMS_CLOUD.EXPORT_DATA 搭配使用之可用 format 參數的詳細資訊,請參閱 DBMS_CLOUD Package Format Options for EXPORT_DATA

使用 DBMS_CLOUD.EXPORT_DATA 匯出的注意事項:

將資料匯出為 XML 至雲端物件儲存

顯示透過指定查詢,將表格資料從您的自治式 AI 資料庫匯出至雲端物件儲存作為 XML 資料的步驟。

此匯出方法支援自治式 AI 資料庫支援的所有雲端物件存放區。您也可以使用 Amazon 資源名稱 (ARN) 存取 AWS Simple Storage Service (S3)、存取 Azure BLOB 儲存體的 Azure 服務委派人,或存取 Google Cloud Platform (GCP) 資源的 Google 服務帳戶。

  1. 連線至您的自治式 AI 資料庫執行處理。

    請參閱連線至自治式 AI 資料庫以瞭解詳細資訊。

  2. 使用 DBMS_CLOUD.CREATE_CREDENTIAL 儲存您的雲端物件儲存證明資料。

    舉例而言:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    您為 usernamepassword 提供的值取決於使用的雲端物件儲存服務。

  3. 執行 DBMS_CLOUD.EXPORT_DATA 並指定值為 xmlformat 參數 type,以將結果匯出為雲端物件儲存上的 XML 檔案。

    若要產生 XML 輸出檔案,file_uri_list 參數有兩個選項:

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL。

    • file_uri_list 值設為雲端物件儲存上現有儲存桶的 URL,並且包含產生匯出 JSON 檔案名稱時所要使用的檔案名稱前置碼。

    如果您未在 file_uri_list 中包含檔案名稱首碼,DBMS_CLOUD.EXPORT_DATA 會提供檔案名稱首碼。請參閱文字輸出的檔案命名 (CSV、JSON、Parquet 或 XML) 以瞭解詳細資訊。

    例如,下列顯示 DBMS_CLOUD.EXPORT_DATA,其中包含 file_uri_list 中指定的檔案名稱前置碼:

     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 'xml', 'compression' value 'gzip'));
     END;
     /
    

    在此範例中,*namespace-string* 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。

    如需有關參數的詳細資訊,請參閱 EXPORT_DATA Procedure

    如需可與 DBMS_CLOUD.EXPORT_DATA 搭配使用之可用 format 參數的詳細資訊,請參閱 DBMS_CLOUD Package Format Options for EXPORT_DATA

使用 DBMS_CLOUD.EXPORT_DATA 匯出的注意事項:

文字輸出的檔案命名 (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]

例如,在 file_uri_list 參數中將下列 DBMS_CLOUD.EXPORT_DATA 程序中的檔案名稱前置碼指定為 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

產生的輸出檔案數目取決於自治式 AI 資料庫執行處理中結果的大小、資料庫服務以及 ECPU (若您的資料庫使用 OCPU,則為 OCPU) 數目。

在下列範例中,file_uri_list 參數未包含檔案名稱前置碼,且提供 compression 參數,值為 gzip

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

例如,在 file_uri_list 參數中將下列 DBMS_CLOUD.EXPORT_DATA 程序中的檔案名稱前置碼指定為 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 命名檔案注意事項:

相關內容