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 S3 、Azure Blob Storage 及 Google Cloud Storage 服務提供者搭配使用。
- 請依照 Oracle Cloud Infrastructure 文件中建立 NAT 閘道的指示,在 Autonomous Database 資源所在的虛擬雲端網路 (VCN) 中建立 NAT 閘道。
- 建立 NAT 閘道之後,請在 Autonomous Database 資源所在的每個子網路新增路由規則和傳出安全規則 (在 VCN 中),以便這些資源能夠使用此閘道從您的 Azure AD 執行處理取得公開金鑰:
- 移至子網路的子網路詳細資訊頁面。
- 在子網路資訊頁籤中,按一下子網路的路由表名稱,以顯示其路由表詳細資訊頁面。
- 在現有路由規則的表格中,檢查是否已有具有下列特性的規則:
- 目標:0.0.0.0/0
- 目標類型:NAT 閘道
- 目標:剛在 VCN 中建立的 NAT 閘道名稱
如果沒有這類規則,請按一下新增路由規則,然後新增具有這些特性的路由規則。
- 返回子網路的子網路詳細資訊頁面。
- 在子網路的安全清單表格中,按一下子網路安全清單的名稱,以顯示其安全清單詳細資訊頁面。
- 在側邊功能表的資源下,按一下傳出規則。
- 在現有傳出規則的表格中,檢查是否已有具有下列特性的規則:
- 目標類型: CIDR
- 目的地:0.0.0.0/0
- IP 協定: TCP
- 來源連接埠範圍: 443
- 目的地連接埠範圍:全部
如果該規則不存在,請按一下新增輸出規則,然後新增具有這些特性的輸出規則。
您環境中的 HTTP 代理主機設定值必須允許資料庫存取雲端服務提供者。
附註:
必須等到 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 - 參數 | 描述 |
---|---|
|
存取雲端物件儲存的證明資料名稱。 如果您未提供 |
|
指定指向來源物件儲存的儲存桶或資料夾位置的 URI。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
指定目標 Object Storage 貯體或資料夾的 URI,需要在其中複製檔案。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
存取目標雲端物件儲存位置的證明資料名稱。 如果您未提供 |
|
指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 如果您未提供 如需詳細資訊,請參閱 REGEXP_LIKE 條件。 |
|
指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。 支援的格式選項包括:
如果您未提供 |
|
使用此參數來追蹤載入作業的進度和最終狀態,作為 |
使用注意事項
-
來源和目標 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 - 參數 | 描述 |
---|---|
|
存取雲端物件儲存的證明資料名稱。 如果您未提供 |
|
指定指向 Autonomous Database 中物件儲存位置的 URI。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 如果您未提供 如需詳細資訊,請參閱 REGEXP_LIKE 條件。 |
|
指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。 支援的格式選項包括:
如果您未提供 |
|
使用此參數來追蹤載入作業的進度和最終狀態,作為 |
範例
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 - 參數 | 描述 |
---|---|
|
存取雲端物件儲存的證明資料名稱。 如果您未提供 |
|
指定指向 Autonomous Database 中物件儲存位置的 URI。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
您要從中下載檔案之 Autonomous Database 上的目錄名稱。 此為必要參數。 |
|
指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 如果您未提供 如需詳細資訊,請參閱 REGEXP_LIKE 條件。 |
|
指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。 支援的格式選項包括:
如果您未提供 |
|
使用此參數來追蹤載入作業的進度和最終狀態,作為 |
範例
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 - 參數 | 描述 |
---|---|
|
存取來源雲端物件儲存的證明資料名稱。 如果您未提供 |
|
指定指向來源物件儲存的儲存桶或資料夾位置的 URI。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
指定目標物件儲存的儲存桶或資料夾的 URI,此 URI 必須移動檔案。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
存取目標雲端物件儲存位置的證明資料名稱。 如果您未提供 |
|
指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 如果您未提供 如需詳細資訊,請參閱 REGEXP_LIKE 條件。 |
|
指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。 支援的格式選項包括:
如果您未提供 |
|
使用此參數來追蹤載入作業的進度和最終狀態,作為 |
範例
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 - 參數 | 描述 |
---|---|
|
存取雲端物件儲存的證明資料名稱。 如果您未提供 |
|
指定指向物件儲存位置以上傳檔案的 URI。 此為必要參數。 URI 的格式取決於雲端物件儲存體服務。如需詳細資訊,請參閱 DBMS_CLOUD Package File Cloud Object Storage URI Formats 。 |
|
您上傳檔案之 Autonomous Database 上的目錄名稱。 此為必要參數。 |
regex_filter |
指定要篩選檔案的 REGEX 表示式。REGEX 表示式樣式必須與 如果您未提供 如需詳細資訊,請參閱 REGEXP_LIKE 條件。 |
|
指定檔案作業的其他組態選項。這些選項會指定為 JSON 字串。 支援的格式選項包括:
如果您未提供 |
|
使用此參數來追蹤載入作業的進度和最終狀態,作為 |
範例
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;
/