DBMS_CLOUD_PIPELINE 패키지
DBMS_CLOUD_PIPELINE
패키지를 사용하면 클라우드에서 데이터를 로드하고 내보내기 위한 데이터 파이프라인을 만들 수 있습니다. 이 패키지는 객체 저장소에 있는 파일을 데이터베이스에 지속적으로 증분 데이터 로드하는 기능을 지원합니다. DBMS_CLOUD_PIPELINE
는 또한 시간 기록 열을 기반으로 데이터베이스에서 객체 저장소로 테이블 데이터 또는 질의 결과를 지속적으로 증분 익스포트할 수 있도록 지원합니다.
필요 조건
개발자는 Oracle Public Cloud, 멀티클라우드 또는 Exadata Cloud@Customer에 배포된 Autonomous Database에서 DBMS_CLOUD 절차를 사용할 수 있습니다.
배포 선택에 따라 Amazon S3, Azure Blob Storage 및 Google Cloud Storage 서비스 제공업체와 함께 DBMS_CLOUD 절차를 사용하려면 다음 필요 조건이 충족되어야 합니다.
- Oracle Cloud Infrastructure 문서의 NAT 게이트웨이 생성 지침에 따라 Autonomous Database 리소스가 상주하는 VCN(가상 클라우드 네트워크)에서 NAT 게이트웨이를 생성합니다.
- NAT 게이트웨이를 생성한 후 각 서브넷(VCN 내)에 경로 규칙 및 송신 보안 규칙을 추가합니다. 여기서 Autonomous Database 리소스는 게이트웨이를 사용하여 Azure AD 인스턴스에서 퍼블릭 키를 얻을 수 있습니다.
- 서브넷의 서브넷 세부 정보 페이지로 이동합니다.
- 서브넷 정보 탭에서 서브넷의 경로 테이블 이름을 눌러 경로 테이블 세부정보 페이지를 표시합니다.
- 기존 경로 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상: 0.0.0.0/0
- 대상 유형: NAT 게이트웨이
- 대상: VCN에서 방금 생성한 NAT 게이트웨이의 이름입니다.
해당 규칙이 없는 경우 경로 규칙 추가를 누르고 해당 특성을 가진 경로 규칙을 추가합니다.
- 서브넷에 대한 서브넷 세부정보 페이지로 돌아갑니다.
- 서브넷의 보안 목록 테이블에서 서브넷의 보안 목록 이름을 눌러 해당 보안 목록 세부정보 페이지를 표시합니다.
- 사이드 메뉴의 리소스에서 송신 규칙을 누릅니다.
- 기존 송신 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상 유형: CIDR
- 대상: 0.0.0.0/0
- IP 프로토콜: TCP
- 소스 포트 범위: 443
- 대상 포트 범위: 모두
해당 규칙이 없으면 Add Egress Rules를 누르고 이러한 특성을 가진 송신 규칙을 추가합니다.
환경의 HTTP 프록시 설정에서 데이터베이스가 클라우드 서비스 공급자에 액세스할 수 있도록 허용해야 합니다.
주:
HTTP 프록시를 포함한 네트워크 구성은 Exadata 인프라가 활성화 필요 상태가 될 때까지만 편집할 수 있습니다. 활성화된 후에는 해당 설정을 편집할 수 없습니다.이미 프로비전된 Exadata 인프라에 대해 HTTP 프록시를 설정하려면 My Oracle Support에서 SR(서비스 요청)이 필요합니다. 자세한 내용은 My Oracle Support에서 서비스 요청 생성을 참조하십시오.
DBMS_CLOUD_PIPELINE 서브 프로그램 요약
이 표에는 DBMS_CLOUD_PIPELINE
패키지에 포함된 서브 프로그램이 요약되어 있습니다.
하위 프로그램 | 설명 |
---|---|
새 데이터 파이프라인을 생성합니다. |
|
기존 데이터 파이프라인을 삭제합니다. |
|
데이터 파이프라인의 추적 상태를 재설정합니다. 재설정 파이프라인을 사용하여 데이터 로드 또는 익스포트의 초기 상태에서 파이프라인을 재시작합니다. 선택적으로 파이프라인 재설정은 파이프라인 유형에 따라 데이터베이스 또는 객체 저장소의 데이터를 비울 수 있습니다. |
|
예약된 작업 대신 현재 포그라운드 세션에서 파이프라인의 요청 시 실행을 수행합니다. |
|
파이프라인 속성을 설정합니다. 두 개의 오버로드된 프로시저가 있습니다. 하나는 단일 속성을 설정하고, 다른 하나는 속성 이름/값 쌍의 JSON 문서를 사용하여 여러 속성을 설정하는 것입니다. |
|
데이터 파이프라인을 시작합니다. 파이프라인이 시작되면 파이프라인 속성에 구성된 "간격"에 따라 파이프라인 작업이 일정이 잡힌 작업에서 계속 실행됩니다. |
|
데이터 파이프라인을 정지합니다. 파이프라인이 정지되면 파이프라인에 대해 미래 작업 일정이 잡히지 않습니다. |
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
);
매개변수
매개변수 | 설명 |
---|---|
|
파이프라인의 이름을 지정합니다. 파이프라인 이름은 Oracle SQL 식별자의 이름 지정 규칙을 따라야 합니다. 자세한 내용은 Oracle Database Database PL/SQL Language Reference의 Identifiers 또는 Oracle Database 23ai Database PL/SQL Language Reference를 참조하십시오. 이 매개변수는 필수입니다. |
|
파이프라인 유형을 지정합니다. 적합한 값은 이 매개변수는 필수입니다. |
|
JSON 형식의 파이프라인 속성입니다. 기본값: 자세한 내용은 DBMS_CLOUD_PIPELINE Attributes을 참조하십시오. |
|
파이프라인에 대한 설명입니다. 기본값: |
DROP_PIPELINE 프로시저
프로시저는 기존 데이터 파이프라인을 삭제합니다. 파이프라인이 시작된 경우 이를 중지해야 삭제할 수 있습니다.
구문
DBMS_CLOUD_PIPELINE.DROP_PIPELINE
(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
매개변수
매개변수 | 설명 |
---|---|
|
파이프라인 이름을 지정합니다. 이 매개변수는 필수입니다. |
|
파이프라인이 시작 상태인 경우에도 강제로 삭제합니다. 적합한 값: 기본값: |
사용법 노트
-
시작 상태인 파이프라인을 삭제하려면
force
매개변수를TRUE
로 설정합니다.
RESET_PIPELINE 프로시저
데이터 파이프라인의 추적 상태를 재설정합니다. 재설정 파이프라인을 사용하여 데이터 로드 또는 익스포트의 초기 상태에서 파이프라인을 재시작합니다. 선택적으로 파이프라인 재설정은 파이프라인 유형에 따라 데이터베이스 또는 객체 저장소의 데이터를 비울 수 있습니다. 재설정하려면 데이터 파이프라인이 정지 상태여야 합니다.
구문
DBMS_CLOUD_PIPELINE.RESET_PIPELINE
(
pipeline_name IN VARCHAR2,
purge_data IN BOOLEAN DEFAULT FALSE
);
매개변수
매개변수 | 설명 |
---|---|
|
파이프라인의 이름을 지정합니다. 이 매개변수는 필수입니다. |
|
로드 파이프라인 또는 익스포트 파이프라인에 대해 데이터 비우기가 적용됩니다.
적합한 값: 기본값: |
사용법 참고
-
재설정하려면 데이터 파이프라인이 정지 상태여야 합니다. 자세한 내용은 STOP_PIPELINE Procedure를 참조하십시오.
-
로드 파이프라인의 경우 파이프라인을 재설정하면 파이프라인에서 로드 중인 파일의 레코드가 지워집니다. 로드 파이프라인을 재설정한 후
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
);
매개변수
매개변수 | 설명 |
---|---|
|
실행할 파이프라인의 이름을 지정합니다. 이 매개변수는 필수입니다. |
사용법 참고
-
파이프라인의 테스트 실행을 수행한 후
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
);
매개변수
매개변수 | 설명 |
---|---|
|
속성을 설정할 파이프라인의 이름을 지정합니다. 이 매개변수는 필수입니다. |
|
설정할 속성에 대한 속성 이름을 지정합니다. 자세한 내용은 DBMS_CLOUD_PIPELINE Attributes을 참조하십시오. |
attribute_value |
설정할 파이프라인 속성에 대한 값을 지정합니다. 자세한 내용은 DBMS_CLOUD_PIPELINE Attributes을 참조하십시오. |
|
속성 이름 및 값을 포함하는 JSON 문서를 지정합니다. 자세한 내용은 DBMS_CLOUD_PIPELINE Attributes을 참조하십시오. |
사용법 노트
-
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
);
매개변수
매개변수 | 설명 |
---|---|
|
파이프라인의 이름을 지정합니다. 이 매개변수는 필수입니다. |
|
파이프라인 작업의 시작 날짜를 지정합니다. 기본값: |
사용법 참고
-
기본적으로 파이프라인이 시작되는 즉시 파이프라인 작업이 즉시 시작됩니다. 나중에 파이프라인 작업을 시작하려면
start_date
매개변수를 사용하여 적합한 날짜 또는 시간 기록을 지정합니다. -
파이프라인
interval
및 기타 파이프라인 속성에 대한 자세한 내용은 DBMS_CLOUD_PIPELINE 속성을 참조하십시오.
STOP_PIPELINE 프로시저
이 절차에서는 데이터 파이프라인을 중지합니다. 파이프라인이 정지되면 파이프라인에 대해 미래 작업 일정이 잡히지 않습니다.
구문
DBMS_CLOUD_PIPELINE.STOP_PIPELINE
(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULTFALSE
);
매개변수
매개변수 | 설명 |
---|---|
|
파이프라인의 이름을 지정합니다. 이 매개변수는 필수입니다. |
|
force 매개변수가 적합한 값: 기본값: |
DBMS_CLOUD_PIPELINE 속성
속성은 데이터 파이프라인의 동작을 제어하고 구성하는 데 도움이 됩니다.
속성
주:
파이프라인 유형 열에 표시된 대로 파이프라인 유형LOAD
또는 EXPORT
에 따라 파이프라인은 다른 속성 집합을 지원합니다.
속성 이름 | 설명 | 파이프 라인 유형 | 파이프라인 시작 후 수정 가능 |
---|---|---|---|
credential_name |
소스 클라우드 객체 스토리지에 액세스할 인증서의 이름입니다. 기본값:
|
LOAD , EXPORT |
예 |
field_list |
소스 파일의 필드 및 해당 데이터 유형을 식별합니다. 이 인수의 구문은 일반 Oracle External Table의 기본값: 기본값은 필드 및 해당 데이터 유형이 |
LOAD |
예 |
format |
파이프라인 유형에 대한 형식을 설명하는 옵션입니다.
익스포트 파이프라인에 대해서는 데이터 펌프 이 속성은 |
LOAD , EXPORT |
예 |
interval |
일정이 잡힌 파이프라인 작업의 연속 실행 간격(분)입니다. 기본값: 15분 |
LOAD , EXPORT |
예 |
key_column |
객체 저장소에 지속적으로 최신 데이터를 익스포트하기 위한 지정된 기본값: NULL 익스포트 파이프라인에 대해 |
EXPORT |
아니요 |
location |
오브젝트 스토리지 위치를 가리키는 URI를 지정합니다. URI의 형식은 클라우드 객체 스토리지 서비스에 따라 다릅니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오. 이 속성은 |
LOAD , EXPORT |
아니요 |
priority |
파이프라인에 대해 수행된 병렬 작업 수를 결정하는 문자열 값을 지정합니다.
우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소비하며 더 빨리 완료됩니다. 적합한 값은 다음과 같습니다.
기본값: 최대 동시 파일 작업 수는 64개로 제한됩니다. |
LOAD , EXPORT |
예 |
query |
필요한 데이터만 내보내도록 예:
기본값: 익스포트 파이프라인의 경우 |
EXPORT |
아니요 |
table_name |
데이터를 로드하거나 익스포트할 대상 테이블의 이름을 지정합니다. 로드 파이프라인의 경우 익스포트 파이프라인의 경우 |
LOAD , EXPORT |
아니요 |
table_owner |
데이터를 로드하거나 익스포트하기 위해 대상 테이블이 상주하는 스키마의 이름입니다. 기본값:
|
LOAD , EXPORT |
아니요 |