DBMS_CLOUD_PIPELINE 套裝程式
DBMS_CLOUD_PIPELINE 套裝程式可讓您建立資料管線,以載入及匯出雲端中的資料。此套件支援將物件存放區中的檔案連續遞增資料載入至資料庫中。DBMS_CLOUD_PIPELINE 也支援根據時戳資料欄,持續將表格資料或查詢結果從資料庫匯出至物件存放區。
必備條件
身為開發人員,您可以將 DBMS_CLOUD 程序與部署在 Oracle Public Cloud、Multicloud 或 Exadata Cloud@Customer 上的 Autonomous AI 資料庫搭配使用。
視部署選項而定,必須符合下列先決條件,才能將 DBMS_CLOUD 程序與 Amazon S3、Azure Blob Storage 及 Google Cloud Storage 服務提供者搭配使用。
您的機組管理員必須使用 NAT 閘道設定輸出連線,如下所述:
-
請依照 Oracle Cloud Infrastructure 文件中 Create a NAT Gateway 的指示,在您自治式 AI 資料庫資源所在的虛擬雲端網路 (VCN) 中建立 NAT 閘道。
-
建立 NAT 閘道之後,請在自治式 AI 資料庫資源所在的每個子網路 (VCN 中) 新增路由規則和輸出安全規則,讓這些資源能夠使用閘道從您的 Azure AD 執行處理取得公開金鑰:
-
移至子網路的子網路詳細資訊頁面。
-
在子網路資訊頁籤中,按一下子網路的路由表名稱,以顯示其路由表詳細資訊頁面。
-
在現有路由規則的表格中,檢查是否已有具有下列特性的規則:
-
目的地:0.0.0.0/0
-
目標類型:NAT 閘道
-
目標:剛剛在 VCN 中建立的 NAT 閘道名稱
如果沒有這樣的規則,請按一下新增路由規則,然後新增具有這些特性的路由規則。
-
-
返回子網路的子網路詳細資訊頁面。
-
在子網路的安全清單表格中,按一下子網路安全清單的名稱,以顯示其安全清單詳細資訊頁面。
-
在側邊功能表的資源底下,按一下傳出規則。
-
在現有傳出規則的表格中,檢查是否已有具有下列特性的規則:
-
目的地類型: CIDR
-
目的地:0.0.0.0/0
-
IP 協定: TCP
-
來源連接埠範圍:443
-
目的地連接埠範圍:全部
如果沒有這類規則,請按一下新增傳出規則,然後新增含有這些特性的傳出規則。
-
-
您環境中的 HTTP 代理主機設定值必須允許資料庫存取雲端服務提供者。
這些設定值是由機組管理員在建立 Exadata Cloud@Customer 基礎架構時所定義,如使用主控台在 Cloud@Customer 上佈建 Exadata 資料庫服務中所述。
注意:只有在 Exadata 基礎架構處於需要啟用狀態時,才能編輯包含 HTTP 代理主機的網路組態。啟用之後,就無法編輯這些設定值。
若為已經佈建的 Exadata 基礎架構設定 HTTP 代理主機,在 My Oracle Support 中需要服務要求 (SR)。請參閱 在 My Oracle Support 中建立服務要求,瞭解詳細資訊。
DBMS_CLOUD_PIPELINE 子程式摘要
此表格總結列出 DBMS_CLOUD_PIPELINE 套裝程式中所含的子程式。
| 子程式 | 描述 |
|---|---|
| CREATE_PIPELINE 程序 | 建立新的資料管線。 |
| DROP_PIPELINE 程序 | 刪除現有的資料管線。 |
| RESET_PIPELINE 程序 | 重設資料管線的追蹤狀態。使用重設管線,從資料載入或匯出的初始狀態重新啟動管線。視管線的類型而定,您也可以選擇重設管線,永久清除資料庫或物件存放區中的資料。 |
| RUN_PIPELINE_ONCE 程序 | 在目前的前景階段作業中執行視需要執行的管線,而不是執行排定的工作。 |
| SET_ATTRIBUTE 程序 | 設定管線屬性。有兩個超載程序,一個用於設定單一屬性,另一個用於使用屬性名稱 / 值組的 JSON 文件設定多個屬性 |
| START_PIPELINE 程序 | 啟動資料管線。管線啟動後,管線作業將根據管線屬性中設定的「間隔」持續在排定的工作中執行。 |
| STOP_PIPELINE 程序 | 停止資料管線。停止管線時,不會排定管線的未來工作。 |
CREATE_PIPELINE 程序
程序會建立新的資料管線。
語法
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name IN VARCHAR2,
pipeline_type IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
description IN VARCHAR2 DEFAULT NULL
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定業務進程的名稱。管線名稱必須遵循 Oracle SQL ID 的命名規則。請參閱 Oracle Database Database PL/SQL Language Reference 中的 Identifiers 或 Oracle Database 26ai Database PL/SQL Language Reference ,瞭解詳細資訊。 此參數為必要參數。 |
pipeline_type |
指定管線類型。 有效值: 此參數為必要參數。 |
attributes |
JSON 格式的管線屬性。 預設值: 請參閱 DBMS_CLOUD_PIPELINE 屬性以瞭解詳細資訊。 |
description |
管線的描述。 預設值: |
DROP_PIPELINE 程序
程序會刪除現有的資料管線。如果管線已經啟動,則必須先停止管線,才能將其刪除。
語法
DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定管線名稱。 此參數為必要參數。 |
force |
強制刪除管線,即使管線為已啟動狀態。 有效值: 預設值: |
用途注意事項
- 若要刪除處於已開始狀態的管線,請將
force參數設為TRUE。
RESET_PIPELINE 程序
重設資料管線的追蹤狀態。使用重設管線,從資料載入或匯出的初始狀態重新啟動管線。視管線的類型而定,您也可以選擇重設管線,永久清除資料庫或物件存放區中的資料。資料管線必須處於停止狀態才能重設。
語法
DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
pipeline_name IN VARCHAR2,
purge_data IN BOOLEAN DEFAULT FALSE
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定業務進程的名稱。 此參數為必要參數。 |
purge_data |
永久清除資料適用於載入管線或匯出管線:
有效值: 預設值: |
使用注意事項
-
資料管線必須處於停止狀態才能重設。如需詳細資訊,請參閱 STOP_PIPELINE 程序。
-
若為載入管線,重設管線會清除管線所載入之檔案的記錄。在重設載入管線後呼叫
START_PIPELINE或RUN_PIPELINE_ONCE時,管線會重複資料載入,並包含物件存放區位置中的所有檔案。當
purge_data設為TRUE時,DBMS_CLOUD_PIPELINE.RESET_PIPELINE會執行下列動作:-
截斷您以
table_name屬性指定之管線資料庫表格中的資料。 -
刪除管線的狀態表格,以及管線的錯誤檔案表格和錯誤表格 (如果有的話)。
-
-
若為匯出管線,重設管線會清除資料庫表格中上次追蹤的資料。當您在重設匯出管線後呼叫
START_PIPELINE或RUN_PIPELINE_ONCE時,管線會重複從表格或查詢匯出資料。當
purge_data設為TRUE時,DBMS_CLOUD_PIPELINE.RESET_PIPELINE會刪除以location屬性指定之物件存放區位置中的現有檔案。
RUN_PIPELINE_ONCE 程序
此程序會在目前的前景階段作業中依需求執行管線,而不是在排定的工作中執行。使用 DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE 在以連續工作方式啟動管線之前,先測試管線。
語法
DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
pipeline_name IN VARCHAR2
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定要執行之管線的名稱。 此參數為必要參數。 |
使用注意事項
-
執行管線的測試執行之後,您可以使用
DBMS_CLOUD_PIPELINE.RESET_PIPELINE重設管線狀態。這可讓您在排定的工作中啟動管線之前,重設管線狀態。 -
管線若為已開始狀態,便無法在前景階段作業中執行。
SET_ATTRIBUTE 程序
此程序會設定管線屬性。有兩個超載程序,一個是設定單一屬性,另一個是使用屬性名稱 / 值組的 JSON 文件設定多個屬性。
語法
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name IN VARCHAR2,
attributes IN CLOB
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定用以設定屬性的管線名稱。 此參數為必要參數。 |
attribute_name |
指定要設定之屬性的屬性名稱。 請參閱 DBMS_CLOUD_PIPELINE 屬性以瞭解詳細資訊。 |
attribute_value |
指定要設定的管線屬性值。 請參閱 DBMS_CLOUD_PIPELINE 屬性以瞭解詳細資訊。 |
attributes |
指定包含屬性名稱和值的 JSON 文件。 請參閱 DBMS_CLOUD_PIPELINE 屬性以瞭解詳細資訊。 |
用途注意事項
使用 DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE 以 attributes 參數設定多個屬性時,會刪除所有現有屬性並以 JSON 文件中的指定屬性覆寫。
START_PIPELINE 程序
程序會啟動資料管線。當管線啟動時,管線作業會根據以管線屬性設定的 interval,在排定的工作中持續執行。
語法
DBMS_CLOUD_PIPELINE.START_PIPELINE(
pipeline_name IN VARCHAR2,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定業務進程的名稱。 此參數為必要參數。 |
start_date |
指定管線工作的開始日期。 預設值: |
使用注意事項
-
依照預設,管線工作會在管線啟動後立即開始。若要在稍後啟動管線工作,請使用
start_date參數指定有效的日期或時戳。 -
請參閱 DBMS_CLOUD_PIPELINE 屬性,瞭解管線
interval和其他管線屬性的資訊。
STOP_PIPELINE 程序
程序會停止資料管線。停止管線時,不會排定管線的未來工作。
語法
DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULTFALSE
);
參數
| Parameter - 參數 | 描述 |
|---|---|
pipeline_name |
指定業務進程的名稱。 此參數為必要參數。 |
force |
如果將強制參數傳遞為 有效值: 預設值: |
DBMS_CLOUD_PIPELINE 屬性
屬性有助於控制和設定資料管線的行為。
屬性
注意:如業務進程類型資料欄中所示,視業務進程類型 LOAD 或 EXPORT 而定,業務進程支援一組不同的屬性。
| 屬性名稱 | 描述 | 管道類型 | 業務進程開始後可修改 |
|---|---|---|---|
credential_name |
用以存取來源雲端物件儲存的證明資料名稱。 預設值: 如果您未提供 |
LOAD, EXPORT |
是 |
field_list |
識別來源檔案中的欄位及其資料類型。此引數的語法與一般 Oracle 外部表格中的 預設值: 預設值會指定欄位及其資料類型,由 |
LOAD |
是 |
format |
描述管線類型的格式的選項。
匯出管線不支援 Datapump
|
LOAD, EXPORT |
是 |
interval |
排定的管線工作連續執行之間的時間間隔 (分鐘)。 預設值:15 分鐘 |
LOAD, EXPORT |
是 |
key_column |
指定之 預設值:NULL 如果未針對匯出管線指定 |
EXPORT |
編號 |
location |
此參數指定來源檔案 URI、目錄以及來源檔案。您可以在檔案名稱中使用萬用字元。 此參數為必要參數。 雲端來源檔案 URI 您可以指定儲存桶或子資料夾的來源檔案 URI。您可以使用萬用字元來指定子資料夾或檔案名稱樣式。字元 "\*" 可以作為多個字元的萬用字元使用,而字元 "?" 可以用來作為單一字元的萬用字元。 使用萬用字元的範例:
URI 的格式取決於您使用的雲端物件儲存服務,如需詳細資訊,請參閱雲端物件儲存 URI 格式。 目錄 您可以指定一個目錄和檔案名稱。指定目錄的格式為 您只能使用萬用字元在目錄中指定檔案名稱。字元 例如: 使用雙引號來指定區分大小寫的目錄名稱。 例如: 若要包含引號字元,請使用兩個引號。 例如: |
||
priority |
指定一個字串值,用以決定為管線執行的平行作業數目。
優先順序較高的作業會耗用更多的資料庫資源,而且很快就會完成。 以下為其有效值:
預設值: 並行檔案作業的數目上限為 64 個。 |
LOAD, EXPORT |
是 |
query |
指定 舉例而言: 預設值: 對於匯出管線,必須輸入 |
EXPORT |
編號 |
table_name |
指定用於載入或匯出資料的目標表格名稱。 必須輸入載入管線 對於匯出管線,必須輸入 |
LOAD, EXPORT |
編號 |
table_owner |
目標表格所在的綱要名稱,用於載入或匯出資料。 預設值: 使用 |
LOAD, EXPORT |
編號 |