DBMS_CLOUD 用於「大量檔案管理」

DBMS_CLOUD 套裝程式內大量檔案作業的子程式。

子程式 描述
BULK_COPY 程序

此程序會將檔案從一個雲端物件儲存的儲存桶複製到另一個儲存桶。

BULK_DELETE 程序

此程序會從雲端物件儲存的儲存桶或資料夾刪除檔案。

BULK_DOWNLOAD 程序

此程序會將檔案從雲端物件存放區儲存桶下載至 Autonomous Database 中的目錄。

BULK_MOVE 程序

此程序會將檔案從一個雲端物件儲存的儲存桶移至另一個儲存桶。

BULK_UPLOAD 程序

此程序會將檔案從 Autonomous Database 中的目錄上傳至雲端物件儲存。

必備條件

身為開發人員,您可以將 DBMS_CLOUD 程序與部署在 Oracle Public Cloud多重雲端Exadata Cloud@Customer 上的 Autonomous Database 搭配使用。

視部署選擇而定,必須符合下列先決條件,才能將 DBMS_CLOUD 程序與 Amazon S3Azure Blob StorageGoogle Cloud Storage 服務提供者搭配使用。

機組管理員必須使用 NAT 閘道設定輸出連線,如下所述:
  • 請依照 Oracle Cloud Infrastructure 文件建立 NAT 閘道的指示,在 Autonomous Database 資源所在的虛擬雲端網路 (VCN) 中建立 NAT 閘道。
  • 建立 NAT 閘道之後,請在 Autonomous Database 資源所在的每個子網路新增路由規則和傳出安全規則 (在 VCN 中),以便這些資源能夠使用此閘道從您的 Azure AD 執行處理取得公開金鑰:
    1. 移至子網路的子網路詳細資訊頁面。
    2. 子網路資訊頁籤中,按一下子網路的路由表名稱,以顯示其路由表詳細資訊頁面。
    3. 在現有路由規則的表格中,檢查是否已有具有下列特性的規則:
      • 目標:0.0.0.0/0
      • 目標類型:NAT 閘道
      • 目標:剛在 VCN 中建立的 NAT 閘道名稱

      如果沒有這類規則,請按一下新增路由規則,然後新增具有這些特性的路由規則。

    4. 返回子網路的子網路詳細資訊頁面。
    5. 在子網路的安全清單表格中,按一下子網路安全清單的名稱,以顯示其安全清單詳細資訊頁面。
    6. 在側邊功能表的資源下,按一下傳出規則
    7. 在現有傳出規則的表格中,檢查是否已有具有下列特性的規則:
      • 目標類型: CIDR
      • 目的地:0.0.0.0/0
      • IP 協定: TCP
      • 來源連接埠範圍: 443
      • 目的地連接埠範圍:全部

      如果該規則不存在,請按一下新增輸出規則,然後新增具有這些特性的輸出規則。

您環境中的 HTTP 代理主機設定值必須允許資料庫存取雲端服務提供者。

這些設定值是由機組管理員在建立 Exadata Cloud@Customer 基礎架構時定義的,如使用主控台在 Cloud@Customer 上佈建 Exadata 資料庫服務中所述。

附註:

必須等到 Exadata 基礎架構為需要啟用狀態後,才能編輯網路組態 (包括 HTTP 代理主機)。啟用之後,您就無法編輯這些設定值。

在 My Oracle Support 中設定已啟動設定之 Exadata 基礎架構的 HTTP 代理主機時,必須要有服務要求 (SR)。請參閱 在 My Oracle Support 中建立服務要求瞭解詳細資訊。

BULK_COPY 程序

此程序會將檔案從一個雲端物件儲存的儲存桶大量複製到另一個儲存桶。超載表單可讓您使用 operation_id 參數。

您可以使用與 REGEXP_LIKE 運算子相容的正規表示式樣式來篩選要刪除的檔案清單。

來源和目標儲存桶或資料夾可以位於相同或不同的雲端物件存放區提供者中。

當來源和目標位於不同的物件存放區,或具有相同雲端提供者的不同帳戶時,您可以為來源和目標位置提供個別的證明資料名稱。

目標位置預設也會使用來源證明資料名稱。

語法

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

參數

Parameter - 參數 描述

source_credential_name

存取雲端物件儲存的證明資料名稱。

如果您未提供 source_credential_name 值,則 credential_name 會設為 NULL

source_location_uri

指定指向來源物件儲存的儲存桶或資料夾位置的 URI。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

target_location_uri

指定目標 Object Storage 貯體或資料夾的 URI,需要在其中複製檔案。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

target_credential_name

存取目標雲端物件儲存位置的證明資料名稱。

如果您未提供 target_credential_name 值,則 target_location_uri 會設為 source_credential_name 值。

regex_filter

指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 REGEXP_LIKE 運算子相容。

如果您未提供 regex_filter 值,則 regex_filter 會設為 NULL

如需詳細資訊,請參閱 REGEXP_LIKE 條件

format

指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。

支援的格式選項包括:
  • logretention:它接受整數值,決定大量作業狀態表格保留的持續時間 (天)。

    預設值為 2 天。

  • logprefix:它接受決定大量作業狀態表格名稱前置碼字串的字串值。

    作業類型為預設值。對於 BULK_COPY,預設的 logprefix 值為 COPYOBJ

  • priority:它接受可決定同時執行之檔案作業數目的字串值。

    優先順序較高的作業會耗用更多的資料庫資源,且應以更快的速度執行。

    它接受下列值:

    • HIGH:決定使用資料庫的 ECPU 數目處理的平行檔案數目 (如果您的資料庫使用 OCPU,則為 OCPU 數目 )

    • MEDIUM:使用「中」服務的並行限制來決定同時處理的數目。預設值是 4。

    • LOW:依序處理檔案。

    預設值是 MEDIUM

    並行檔案作業的數目上限為 64。

如果您未提供 format 值,則 format 會設為 NULL

operation_id

使用此參數來追蹤載入作業的進度和最終狀態,作為 USER_LOAD_OPERATIONS 視觀表中的對應 ID。

使用注意事項

  • 來源和目標 URI 指向相同的物件儲存的儲存桶或資料夾時,會傳回錯誤。

範例

BEGIN 
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format       => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/

BULK_DELETE 程序

此程序會大量刪除雲端物件儲存中的檔案。超載表單可讓您使用 operation_id 參數。您可以使用與 REGEXP_LIKE 運算子相容的正規表示式樣式來篩選要刪除的檔案清單。

語法

 DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

參數

Parameter - 參數 描述

credential_name

存取雲端物件儲存的證明資料名稱。

如果您未提供 credential_name 值,則 credential_name 會設為 NULL

location_uri

指定指向 Autonomous Database 中物件儲存位置的 URI。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

regex_filter

指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 REGEXP_LIKE 運算子相容。

如果您未提供 regex_filter 值,則 regex_filter 會設為 NULL

如需詳細資訊,請參閱 REGEXP_LIKE 條件

format

指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。

支援的格式選項包括:
  • logretention:它接受整數值,決定大量作業之狀態表格保留的持續時間 (天)。

    預設值為 2 天。

  • logprefix:它接受決定大量作業狀態表格名稱前置碼字串的字串值。

    作業類型為預設值。對於 BULK_DELETE,預設的 logprefix 值為 DELETE

  • priority:它接受可決定同時執行之檔案作業數目的字串值。

    優先順序較高的作業會耗用更多的資料庫資源,且會較快完成。

    它接受下列值:

    • HIGH:決定使用資料庫的 ECPU 數目處理的平行檔案數目 (如果您的資料庫使用 OCPU,則為 OCPU 數目 )

    • MEDIUM:使用「中」服務的並行限制來決定同時處理的數目。預設值是 4。

    • LOW:依序處理檔案。

    預設值是 MEDIUM

    並行檔案作業的數目上限為 64。

如果您未提供 format 值,則 format 會設為 NULL

operation_id

使用此參數來追蹤載入作業的進度和最終狀態,作為 USER_LOAD_OPERATIONS 視觀表中的對應 ID。

範例

BEGIN
DBMS_CLOUD.BULK_DELETE (    
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

BULK_DOWNLOAD 程序

此程序會從雲端物件儲存將檔案下載至 Autonomous Database 目錄。超載表單可讓您使用 operation_id 參數。您可以使用與 REGEXP_LIKE 運算子相容的正規表示式樣式來篩選要下載的檔案清單。

語法

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

參數

Parameter - 參數 描述

credential_name

存取雲端物件儲存的證明資料名稱。

如果您未提供 credential_name 值,則 credential_name 會設為 NULL

location_uri

指定指向 Autonomous Database 中物件儲存位置的 URI。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

directory_name

您要從中下載檔案之 Autonomous Database 上的目錄名稱。

此為必要參數。

regex_filter

指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 REGEXP_LIKE 運算子相容。

如果您未提供 regex_filter 值,則 regex_filter 會設為 NULL

如需詳細資訊,請參閱 REGEXP_LIKE 條件

format

指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。

支援的格式選項包括:
  • logretention:它接受整數值,決定大量作業狀態表格保留的持續時間 (天)。

    預設值為 2 天。

  • logprefix:它接受決定大量作業狀態表格名稱前置碼字串的字串值。對於 BULK_DOWNLOAD,預設的 logprefix 值為 DOWNLOAD

    作業類型為預設值。

  • priority:它接受可決定同時執行之檔案作業數目的字串值。

    優先順序較高的作業會耗用更多的資料庫資源,且會較快完成。

    它接受下列值:

    • HIGH:決定使用資料庫的 ECPU 數目處理的平行檔案數目 (如果您的資料庫使用 OCPU,則為 OCPU 數目 )

    • MEDIUM:使用「中」服務的並行限制來決定同時處理的數目。預設值是 4。

    • LOW:依序處理檔案。

    預設值是 MEDIUM

    並行檔案作業的數目上限為 64。

如果您未提供 format 值,則 format 會設為 NULL

operation_id

使用此參數來追蹤載入作業的進度和最終狀態,作為 USER_LOAD_OPERATIONS 視觀表中的對應 ID。

範例

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (    
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

BULK_MOVE 程序

此程序會大量將檔案從一個雲端物件儲存的儲存桶或資料夾移至另一個儲存桶。超載表單可讓您使用 operation_id 參數。

您可以使用與 REGEXP_LIKE 運算子相容的正規表示式樣式來篩選要刪除的檔案清單。

來源和目標儲存桶或資料夾可以位於相同或不同的雲端物件存放區提供者中。

當來源和目標位於不同的物件存放區,或具有相同雲端提供者的不同帳戶時,您可以為來源和目標位置提供個別的證明資料名稱。

未提供目標證明資料名稱時,目標位置預設也會使用來源證明資料名稱。

移動檔案的第一步是將檔案複製到目標位置,然後在順利複製來源檔案之後刪除來源檔案。

如果物件存放區允許在來源位置與目標位置之間重新命名作業,則會重新命名物件而非移動物件。

語法

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

參數

Parameter - 參數 描述

source_credential_name

存取來源雲端物件儲存的證明資料名稱。

如果您未提供 source_credential_name 值,則 credential_name 會設為 NULL

source_location_uri

指定指向來源物件儲存的儲存桶或資料夾位置的 URI。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

target_location_uri

指定目標物件儲存的儲存桶或資料夾的 URI,此 URI 必須移動檔案。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

target_credential_name

存取目標雲端物件儲存位置的證明資料名稱。

如果您未提供 target_credential_name 值,則 target_location_uri 會設為 source_credential_name 值。

regex_filter

指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 REGEXP_LIKE 運算子相容。

如果您未提供 regex_filter 值,則 regex_filter 會設為 NULL

如需詳細資訊,請參閱 REGEXP_LIKE 條件

format

指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。

支援的格式選項包括:
  • logretention:它接受整數值,決定大量作業狀態表格保留的持續時間 (天)。

    預設值為 2 天。

  • logprefix:它接受決定大量作業狀態表格名稱前置碼字串的字串值。

    作業類型為預設值。對於 BULK_MOVE,預設的 logprefix 值為 MOVE

  • priority:它接受可決定同時執行之檔案作業數目的字串值。

    優先順序較高的作業會耗用更多的資料庫資源,且會較快完成。

    它接受下列值:

    • HIGH:決定使用資料庫的 ECPU 數目處理的平行檔案數目 (如果您的資料庫使用 OCPU,則為 OCPU 數目 )

    • MEDIUM:使用「中」服務的並行限制來決定同時處理的數目。預設值是 4。

    • LOW:依序處理檔案。

    預設值是 MEDIUM

    並行檔案作業的數目上限為 64。

如果您未提供 format 值,則 format 會設為 NULL

operation_id

使用此參數來追蹤載入作業的進度和最終狀態,作為 USER_LOAD_OPERATIONS 視觀表中的對應 ID。

範例

BEGIN 
DBMS_CLOUD.BULK_MOVE (    
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

附註:

來源和目標 URI 指向相同的物件儲存的儲存桶或資料夾時,會傳回錯誤。

BULK_UPLOAD 程序

此程序可將檔案從 Autonomous Database 目錄複製到雲端物件儲存。超載表單可讓您使用 operation_id 參數。

語法

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

參數

Parameter - 參數 描述

credential_name

存取雲端物件儲存的證明資料名稱。

如果您未提供 credential_name 值,則 credential_name 會設為 NULL

location_uri

指定指向物件儲存位置以上傳檔案的 URI。

此為必要參數。

URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats

directory_name

您上傳檔案之 Autonomous Database 上的目錄名稱。

此為必要參數。

regex_filter

指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 REGEXP_LIKE 運算子相容。

如果您未提供 regex_filter 值,則 regex_filter 會設為 NULL

如需詳細資訊,請參閱 REGEXP_LIKE 條件

format

指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。

支援的格式選項包括:
  • logretention:它接受整數值,決定大量作業狀態表格保留的持續時間 (天)。

    預設值為 2 天。

  • logprefix:它接受決定大量作業狀態表格名稱前置碼字串的字串值。

    作業類型為預設值。對於 BULK_UPLOAD,預設的 logprefix 值為 UPLOAD

  • priority:它接受可決定同時執行之檔案作業數目的字串值。

    優先順序較高的作業會耗用更多的資料庫資源,且會較快完成。

    它接受下列值:

    • HIGH:決定使用資料庫的 ECPU 數目處理的平行檔案數目 (如果您的資料庫使用 OCPU,則為 OCPU 數目 )

    • MEDIUM:使用「中」服務的並行限制來決定同時處理的數目。預設值是 4。

    • LOW:依序處理檔案。

    預設值是 MEDIUM

    並行檔案作業的數目上限為 64。

如果您未提供 format 值,則 format 會設為 NULL

operation_id

使用此參數來追蹤載入作業的進度和最終狀態,作為 USER_LOAD_OPERATIONS 視觀表中的對應 ID。

範例

BEGIN
DBMS_CLOUD.BULK_UPLOAD ( 
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/