Pipelines verwalten
Nachdem Sie eine Pipeline erstellt und getestet haben, steuern Sie eine Pipeline, indem Sie die Pipeline starten, stoppen oder löschen. Sie können eine Pipeline auch zurücksetzen.
Pipeline starten
Wenn eine Pipeline gestartet wird, wird sie kontinuierlich in einem geplanten Job ausgeführt. Der geplante Job der Pipeline wird entweder standardmäßig alle 15 Minuten oder in dem Intervall wiederholt, das Sie mit dem Attribut interval
festgelegt haben.
Pipeline stoppen
STOP_PIPELINE
, um eine Pipeline zu stoppen. Wenn eine Pipeline gestoppt wird, sind keine zukünftigen Jobs für die Pipeline geplant.
Standardmäßig werden aktuell ausgeführte Jobs abgeschlossen, wenn Sie eine Pipeline stoppen. Setzen Sie den Parameter force
auf TRUE
, um alle ausgeführten Jobs zu beenden und die Pipeline sofort zu stoppen.
Weitere Informationen finden Sie unter Prozedur STOP_PIPELINE.
Pipeline löschen
DROP_PIPELINE
löscht eine vorhandene Pipeline.
Wenn eine Pipeline gestartet wurde, muss sie gestoppt werden, bevor die Pipeline gelöscht werden kann. Weitere Informationen finden Sie unter Prozedur STOP_PIPELINE.
Um eine gestartete Pipeline zu löschen, setzen Sie den Parameter force
auf TRUE
, um alle ausgeführten Jobs zu beenden und die Pipeline sofort zu löschen
Weitere Informationen finden Sie unter Prozedur DROP_PIPELINE.
Pipeline zurücksetzen
Hinweis:
Optional können Sie die Pipeline zurücksetzen, um Daten in der mit einer Ladepipeline verknüpften Datenbanktabelle zu löschen oder Dateien im Objektspeicher für eine Exportpipeline zu entfernen. Normalerweise wird diese Option verwendet, wenn Sie eine Pipeline während der Pipelineentwicklung testen.Die Pipeline wird wie folgt zurückgesetzt:
-
Pipeline laden: Beim Zurücksetzen der Pipeline wird der Datensatz der Dateien gelöscht, die von der Pipeline geladen werden. Wenn Sie
START_PIPELINE
oderRUN_PIPELINE_ONCE
nach dem Zurücksetzen einer Ladepipeline aufrufen, wiederholt die Pipeline den Dataload und enthält alle Dateien, die im Objektspeicherort vorhanden sind.Wenn
purge_data
aufTRUE
gesetzt ist, schneidet die Prozedur die Daten in der Datenbanktabelle ab. -
Exportpipeline: Beim Zurücksetzen der Pipeline werden die zuletzt verfolgten Daten in der Datenbanktabelle gelöscht. Wenn Sie
START_PIPELINE
oderRUN_PIPELINE_ONCE
nach dem Zurücksetzen einer Exportpipeline aufrufen, wiederholt die Pipeline den Export von Daten aus der Tabelle oder Abfrage.Wenn
purge_data
aufTRUE
gesetzt ist, löscht die Prozedur vorhandene Dateien im Objektspeicherort, der mit dem Attributlocation
angegeben ist.
So setzen Sie eine Pipeline zurück:
Pipelines überwachen und Fehler beheben
Alle erstellten Pipelines werden in den DBMS_CLOUD_PIPELINE
-Views protokolliert.
Pipeline-Statusinformationen anzeigen
Prüfen Sie den Pipelinestatus, und rufen Sie andere Pipelineinformationen mit den Ansichten USER_CLOUD_PIPELINES
oder DBA_CLOUD_PIPELINES
ab. Beispiel: Die folgende SELECT
-Anweisung mit einem WHERE
-Klauselprädikat in pipeline_name
zeigt, dass MY_TREE_DATA
eine Ladepipeline ist und die Pipeline gestartet wird:
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
Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Views.
Pipelineattribute anzeigen
Die Pipelineattribute können überwacht werden, indem die Views USER_CLOUD_PIPELINE_ATTRIBUTES
oder DBA_CLOUD_PIPELINE_ATTRIBUTES
abgefragt werden. Fragen Sie diese Ansichten ab, um Pipelineattributinformationen anzuzeigen.
Beispiel:
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
Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Views.
Pipeline-Historie anzeigen
Die Ansichten USER_CLOUD_PIPELINE_HISTORY
und DBA_CLOUD_PIPELINE_HISTORY
zeigen den Status ausgeführter Jobs an. Mit den Pipelinehistorienansichten können Sie den Zustand einer Pipeline überwachen und Fehler in einer ausgeführten Pipeline erkennen.
Beispiel:
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
Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Views.
Pipeline-Statustabelle: Zusätzliche Überwachung für Load-Pipelines
In der Pipelinestatustabelle werden jeder Dateiname und sein Status für eine Ladepipeline angezeigt. In der Spalte STATUS_TABLE
in DBA_CLOUD_PIPELINES
und USER_CLOUD_PIPELINES
wird der Name der Statustabelle angezeigt.
Beispiel: Die folgende SELECT
-Anweisung mit einem WHERE
-Klauselprädikat für pipeline_name
zeigt den Statustabellennamen für eine Pipeline an:
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
Zeigen Sie die Statustabelle an, um Informationen zur Pipeline anzuzeigen, einschließlich:
-
Die relevante Fehlernummer und Fehlermeldung werden in der Statustabelle aufgezeichnet, wenn ein Vorgang für eine bestimmte Datei nicht erfolgreich verläuft.
-
Bei abgeschlossenen Pipelinevorgängen kann die für jeden Vorgang benötigte Zeit mit dem gemeldeten
START_TIME
undEND_TIME
berechnet werden.
Beispiel: Das Folgende zeigt, dass der Ladevorgang für zwei Dateien nicht erfolgreich war und eine abgeschlossen wurde:
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
Pipelines zum Laden von Daten, bei denen pipeline_type
'LOAD'
ist, reservieren einen ID
, der in USER_LOAD_OPERATIONS
und DBA_LOAD_OPERATIONS
angezeigt wird. Der Wert ID
in diesen Ansichten wird dem OPERATION_ID
der Pipeline in USER_CLOUD_PIPELINES
und DBA_CLOUD_PIPELINES
zugeordnet.
Um weitere Informationen für eine Ladepipeline abzurufen, fragen Sie OPERATION_ID
der Pipeline ab:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
Fragen Sie als Nächstes entweder USER_LOAD_OPERATIONS
oder DBA_LOAD_OPERATIONS
mit einem WHERE
-Klauselprädikat für die Spalte ID
ab (mit dem Wert OPERATION_ID
).
Beispiel:
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
Diese Abfrage zeigt ID
, TYPE
, LOGFILE_TABLE
, BADFILE_TABLE
, falls vorhanden, und STATUS_TABLE
an. Sie können diese Tabellen für zusätzliche Informationen zum Laden der Pipeline anzeigen.
Pipeline-Statustabellendetails
Spalte | Datentyp | Beschreibung |
---|---|---|
ID |
NUMBER |
Eindeutige Nummer, die der Pipeline zugewiesen ist. |
NAME |
VARCHAR2(4000) |
Name der Pipeline. |
BYTES |
NUMBER |
Byte |
CHECKSUM |
VARCHAR2(128) |
Prüfsumme |
LAST_MODIFIED |
TIMESTAMP(6) WITH TIME ZONE |
Letzte Änderungszeit für die Pipeline. |
STATUS |
VARCHAR2(30) |
Der STATUS -Wert ist einer der folgenden Werte:
|
ERROR_CODE |
NUMBER |
Fehlercode |
ERROR_MESSAGE |
VARCHAR2(4000) |
Fehlermeldung |
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Startzeit für die Pipeline. |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Endzeit für die Pipeline. |
SID |
NUMBER |
Die Session |
SERIAL# |
NUMBER |
Die Session |
ROWS_LOADED |
NUMBER |
Anzahl geladener Zeilen. |
OPERATION_ID |
NUMBER |
Für die zukünftige Verwendung reserviert. |
Pipeline-Logdatei und falsche Dateitabellen
Um die Logdatei und die ungültigen Dateinamen für eine Ladepipeline abzurufen, fragen Sie OPERATION_ID
der Pipeline ab. Beispiel:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
Fragen Sie als Nächstes entweder USER_LOAD_OPERATIONS
oder DBA_LOAD_OPERATIONS
mit einem WHERE
-Klauselprädikat für die Spalte ID
ab (mit dem Wert OPERATION_ID
).
Beispiel:
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
Diese Abfrage zeigt ID
, TYPE
, LOGFILE_TABLE
, BADFILE_TABLE
, falls vorhanden, und STATUS_TABLE
an. Sie können diese Tabellen für zusätzliche Informationen zum Laden der Pipeline anzeigen.
Zeigen Sie die Pipeline-Logdateitabelle an, um ein vollständiges Log der Ladevorgänge der Pipeline anzuzeigen.
Beispiel:
SELECT * FROM PIPELINE$9$41_LOG;
Zeigen Sie die Tabelle mit fehlerhaften Pipeline-Dateien an, um Details zu Eingabeformatdatensätzen mit Fehlern anzuzeigen. Die falsche Dateitabelle enthält Informationen zu den Zeilen, die Fehler beim Laden melden. Je nach den in der Logdateitabelle angezeigten Fehlern und den Zeilen in der fehlerhaften Datentabelle der Pipeline können Sie die Fehler möglicherweise korrigieren, indem Sie die Attributoptionen für die Pipeline format
ändern oder die Daten in der Datei ändern, die Sie laden.
Beispiel:
SELECT * FROM PIPELINE$9$41_BAD;
Weitere Informationen finden Sie unter Datenladevorgänge überwachen und beheben.