管理管線
停止進行中銷售商機
STOP_PIPELINE
來停止管線。管線停止時,不會為管線排定任何未來的工作。
依照預設,目前執行中的工作會在您停止管線時完成。將 force
參數設為 TRUE
,即可終止任何執行中的工作並立即停止管線。
如需詳細資訊,請參閱STOP_PIPELINE 程序。
刪除管線
DROP_PIPELINE
會刪除現有的管線。
如果已啟動管線,則必須先將其停止,才能刪除管線。如需詳細資訊,請參閱STOP_PIPELINE 程序。
若要刪除已啟動的管線,請將 force
參數設為 TRUE
,以終止任何執行中的工作並立即刪除管線
如需詳細資訊,請參閱DROP_PIPELINE 程序。
重設管線
附註:
您可以選擇使用重設管線來永久清除與載入管線關聯之資料庫表格中的資料,或移除匯出管線之物件存放區中的檔案。在管線開發期間測試管線時,通常會使用此選項。重設管線的運作方式如下:
-
載入管線:針對負載管線,重設管線會清除管線所載入之檔案的記錄。當您在重設載入管線之後呼叫
START_PIPELINE
或RUN_PIPELINE_ONCE
時,管線會重複資料載入,並包括物件存放區位置中的所有檔案。當
purge_data
設為TRUE
時,程序會截斷資料庫表格中的資料。 -
匯出管線:對於匯出管線,重設管線會清除資料庫表格中上次追蹤的資料。當您在重設匯出管線之後呼叫
START_PIPELINE
或RUN_PIPELINE_ONCE
時,管線會重複從表格或查詢匯出資料。當
purge_data
設為TRUE
時,程序會刪除物件存放區位置中以location
屬性指定的現有檔案。
若要重設管線,請執行下列動作:
監控及疑難排解管線
所有已建立的管線都會記錄在 DBMS_CLOUD_PIPELINE
檢視中。
檢視業務進程狀態資訊
使用 USER_CLOUD_PIPELINES
或 DBA_CLOUD_PIPELINES
檢視檢查管線狀態,並取得其他管線資訊。例如,在 pipeline_name
上具有 WHERE
子句述詞的下列 SELECT
敘述句顯示 MY_TREE_DATA
是負載管線,而且已啟動管線:
SELECT pipeline_name, pipeline_type, status FROM USER_CLOUD_PIPELINES
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME PIPELINE_TYPE STATUS
------------- ------------- -------
MY_TREE_DATA LOAD STARTED
請參閱 DBMS_CLOUD_PIPELINE 檢視以瞭解詳細資訊。
檢視管線屬性
您可以透過查詢 USER_CLOUD_PIPELINE_ATTRIBUTES
或 DBA_CLOUD_PIPELINE_ATTRIBUTES
視觀表來監督管線屬性。查詢這些視觀表以查看管線屬性資訊。
舉例而言:
SELECT pipeline_name, attribute_name, attribute_value FROM user_cloud_pipeline_attributes
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME ATTRIBUTE_NAME ATTRIBUTE_VALUE
------------- --------------- ---------------------------------------------------------------------------------
MY_TREE_DATA credential_name DEF_CRED_OBJ_STORE
MY_TREE_DATA format {"type": "csv"}
MY_TREE_DATA interval 20
MY_TREE_DATA location https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace/b/treetypes/o/
MY_TREE_DATA priority high
MY_TREE_DATA table_name TREES
請參閱 DBMS_CLOUD_PIPELINE 檢視以瞭解詳細資訊。
檢視管線歷史記錄
USER_CLOUD_PIPELINE_HISTORY
和 DBA_CLOUD_PIPELINE_HISTORY
視觀表會顯示執行中工作的狀態。您可以使用管線歷史記錄檢視來協助您監督管線的狀況,以及偵測執行中管線中的失敗。
舉例而言:
SELECT pipeline_id, pipeline_name, status, error_message FROM user_cloud_pipeline_history
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_ID PIPELINE_NAME STATUS ERROR_MESSAGE
----------- ------------- --------- -------------
7 MY_TREE_DATA SUCCEEDED
請參閱 DBMS_CLOUD_PIPELINE 檢視以瞭解詳細資訊。
管線狀態表格:載入管線的其他監督
管線狀態表格會顯示載入管線的每個檔案名稱及其狀態。DBA_CLOUD_PIPELINES
和 USER_CLOUD_PIPELINES
中的 STATUS_TABLE
資料欄會顯示狀態表格名稱。
例如,在 pipeline_name
上具有 WHERE
子句述詞的下列 SELECT
敘述句會顯示管線的狀態表格名稱:
SELECT pipeline_name, status_table FROM user_cloud_pipelines
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME STATUS_TABLE
------------- --------------------
MY_TREE_DATA PIPELINE$9$41_STATUS
檢視狀態表格以查看業務進程的相關資訊,包括下列項目:
-
如果特定檔案的作業失敗,相關錯誤編號與錯誤訊息會記錄在狀態表格中。
-
對於已完成的管線作業,可以使用報告的
START_TIME
和END_TIME
來計算每個作業所需的時間。
例如,下列顯示兩個檔案的載入作業失敗,一個已完成:
SELECT id, name, status, error_code, error_message, sid FROM PIPELINE$9$41_STATUS;
ID NAME STATUS ERROR_CODE ERROR_MESSAGE SID
-- ---------- --------- ---------- -------------------------------- -----
1 trees1.txt FAILED 30653 ORA-30653: reject limit reached 18070
2 trees2.txt FAILED 30653 ORA-30653: reject limit reached 18070
3 trees3.txt COMPLETED 18070
用於載入資料的管線,其中 pipeline_type
為 'LOAD'
,保留 USER_LOAD_OPERATIONS
和 DBA_LOAD_OPERATIONS
中顯示的 ID
。這些檢視中的 ID
值會對應至 USER_CLOUD_PIPELINES
和 DBA_CLOUD_PIPELINES
中管線的 OPERATION_ID
。
若要取得負載管線的詳細資訊,請查詢管線的 OPERATION_ID
:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
接著,在 ID
資料欄 (使用 OPERATION_ID
值) 上使用 WHERE
子句述詞查詢 USER_LOAD_OPERATIONS
或 DBA_LOAD_OPERATIONS
。
舉例而言:
SELECT ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE, STATUS_TABLE FROM USER_LOAD_OPERATIONS
WHERE ID = 41;
ID TYPE LOGFILE_TABLE BADFILE_TABLE STATUS_TABLE
-- -------- ----------------- ----------------- --------------------
41 PIPELINE PIPELINE$9$41_LOG PIPELINE$9$41_BAD PIPELINE$9$41_STATUS
此查詢會顯示 ID
、TYPE
、LOGFILE_TABLE
、BADFILE_TABLE
(如果存在的話),以及 STATUS_TABLE
。您可以檢視這些表格以瞭解其他管線載入資訊。
管線狀態表格詳細資訊
欄 | 資料類型 | 描述 |
---|---|---|
ID |
NUMBER |
指定給管線的唯一編號。 |
NAME |
VARCHAR2(4000) |
管線的名稱。 |
BYTES |
NUMBER |
位元組 |
CHECKSUM |
VARCHAR2(128) |
總和檢驗 |
LAST_MODIFIED |
TIMESTAMP(6) WITH TIME ZONE |
管線的上次修改時間。 |
STATUS |
VARCHAR2(30) |
STATUS 值為下列其中一種:
|
ERROR_CODE |
NUMBER |
錯誤代碼 |
ERROR_MESSAGE |
VARCHAR2(4000) |
錯誤訊息 |
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
管線的開始時間。 |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
管線的結束時間。 |
SID |
NUMBER |
階段作業 |
SERIAL# |
NUMBER |
階段作業 |
ROWS_LOADED |
NUMBER |
載入的資料列數目。 |
OPERATION_ID |
NUMBER |
保留供日後使用。 |
管線日誌檔和錯誤檔案表格
若要取得載入管線的日誌檔和無效檔案名稱,請查詢管線的 OPERATION_ID
。舉例而言:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
接著,在 ID
資料欄 (使用 OPERATION_ID
值) 上使用 WHERE
子句述詞查詢 USER_LOAD_OPERATIONS
或 DBA_LOAD_OPERATIONS
。
舉例而言:
SELECT ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE, STATUS_TABLE FROM USER_LOAD_OPERATIONS
WHERE ID = 41;
ID TYPE LOGFILE_TABLE BADFILE_TABLE STATUS_TABLE
-- -------- ----------------- ----------------- --------------------
41 PIPELINE PIPELINE$9$41_LOG PIPELINE$9$41_BAD PIPELINE$9$41_STATUS
此查詢會顯示 ID
、TYPE
、LOGFILE_TABLE
、BADFILE_TABLE
(如果存在的話),以及 STATUS_TABLE
。您可以檢視這些表格以瞭解其他管線載入資訊。
檢視管線日誌檔表格,查看管線之載入作業的完整日誌。
舉例而言:
SELECT * FROM PIPELINE$9$41_LOG;
檢視管線錯誤檔案表格,查看輸入格式記錄的錯誤詳細資訊。錯誤的檔案表格會顯示載入期間報告錯誤之列的資訊。視日誌檔表格中顯示的錯誤以及管線之錯誤檔案表格中顯示的資料列而定,您可以修改管線 format
屬性選項,或修改正在載入之檔案中的資料來更正錯誤。
舉例而言:
SELECT * FROM PIPELINE$9$41_BAD;
如需詳細資訊,請參閱監督及疑難排解資料載入。