파이프 라인 관리
파이프라인 시작
파이프라인이 시작되면 파이프라인이 일정이 잡힌 작업에서 계속 실행됩니다. 파이프라인의 일정이 잡힌 작업은 기본적으로 15분마다 또는 interval
속성으로 설정한 간격으로 반복됩니다.
파이프라인 정지
STOP_PIPELINE
를 사용하여 파이프라인을 정지합니다. 파이프라인이 정지되면 파이프라인에 대해 미래 작업 일정이 잡히지 않습니다.
기본적으로 현재 실행 중인 작업은 파이프라인을 정지할 때 완료됩니다. 실행 중인 작업을 종료하고 파이프라인을 즉시 정지하려면 force
매개변수를 TRUE
로 설정합니다.
자세한 내용은 STOP_PIPELINE Procedure를 참조하십시오.
파이프라인 삭제
DROP_PIPELINE
프로시저는 기존 파이프라인을 삭제합니다.
파이프라인이 시작된 경우 파이프라인을 삭제하려면 먼저 중지해야 합니다. 자세한 내용은 STOP_PIPELINE Procedure를 참조하십시오.
시작된 파이프라인을 삭제하려면 force
매개변수를 TRUE
로 설정하여 실행 중인 작업을 종료하고 파이프라인을 즉시 삭제합니다.
자세한 내용은 DROP_PIPELINE Procedure를 참조하십시오.
파이프라인 재설정
주:
선택적으로 재설정 파이프라인을 사용하여 로드 파이프라인과 연관된 데이터베이스 테이블의 데이터를 비우거나 익스포트 파이프라인의 객체 저장소에서 파일을 제거할 수 있습니다. 일반적으로 이 옵션은 파이프라인 개발 중에 파이프라인을 테스트할 때 사용됩니다.파이프라인 재설정은 다음과 같이 작동합니다.
-
파이프라인 로드: 로드 파이프라인의 경우 파이프라인을 재설정하면 파이프라인에서 로드 중인 파일의 레코드가 지워집니다. 로드 파이프라인을 재설정한 후
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 Views를 참조하십시오.
파이프라인 속성 보기
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 Views를 참조하십시오.
파이프라인 내역 보기
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 Views를 참조하십시오.
파이프라인 상태 테이블: 로드 파이프라인에 대한 추가 모니터링
파이프라인 상태 테이블에는 로드 파이프라인에 대한 각 파일 이름 및 해당 상태가 표시됩니다. 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
그런 다음 USER_LOAD_OPERATIONS
또는 DBA_LOAD_OPERATIONS
을 ID
열에 WHERE
절 술어를 사용하여 질의합니다(OPERATION_ID
값 사용).
예:
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
그런 다음 USER_LOAD_OPERATIONS
또는 DBA_LOAD_OPERATIONS
을 ID
열에 WHERE
절 술어를 사용하여 질의합니다(OPERATION_ID
값 사용).
예:
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;
파이프라인 BAD 파일 테이블을 보고 오류가 있는 입력 형식 레코드에 대한 세부정보를 확인합니다. BAD 파일 테이블에는 로드 중 오류를 보고하는 행에 대한 정보가 표시됩니다. 로그 파일 테이블에 표시된 오류 및 파이프라인의 bad file 테이블에 표시된 행에 따라 파이프라인 format
속성 옵션을 수정하거나 로드 중인 파일의 데이터를 수정하여 오류를 수정할 수 있습니다.
예:
SELECT * FROM PIPELINE$9$41_BAD;
자세한 내용은 데이터 로드 모니터링 및 문제 해결을 참조하십시오.