대량 파일 관리를 위한 DBMS_CLOUD

필수 조건

개발자는 Oracle Public Cloud, 멀티클라우드 또는 Exadata Cloud@Customer에 배포된 자율운영 AI 데이터베이스와 함께 DBMS_CLOUD 절차를 사용할 수 있습니다.

배포 선택에 따라 Amazon S3, Azure Blob Storage 및 Google Cloud Storage 서비스 공급자와 함께 DBMS_CLOUD 절차를 사용하려면 다음 필요 조건을 충족해야 합니다.

대량 파일 관리에 대한 DBMS_CLOUD 하위 프로그램 요약

DBMS_CLOUD 패키지 내에서 대량 파일 작업을 위한 서브 프로그램입니다.

하위 프로그램 설명
BULK_COPY 프로시저 이 절차에서는 클라우드 오브젝트 스토리지 버킷 간에 파일을 복사합니다.
BULK_DELETE 프로시저 이 절차에서는 클라우드 오브젝트 스토리지 버킷 또는 폴더에서 파일을 삭제합니다.
BULK_DOWNLOAD 프로시저 이 절차에서는 클라우드 객체 저장소 버킷에서 자율운영 AI 데이터베이스의 디렉토리로 파일을 다운로드합니다.
BULK_MOVE 프로시저 이 절차에서는 클라우드 오브젝트 스토리지 버킷 간에 파일을 이동합니다.
BULK_UPLOAD 프로시저 이 절차에서는 자율운영 AI 데이터베이스의 디렉토리에서 클라우드 객체 스토리지로 파일을 업로드합니다.

BULK_COPY 프로시저

이 절차에서는 클라우드 오브젝트 스토리지 버킷 간에 파일을 대량 복사합니다. 오버로드된 폼을 사용하여 operation_id 매개변수를 사용할 수 있습니다.

REGEXP_LIKE 연산자와 호환되는 정규식 패턴을 사용하여 삭제할 파일 목록을 필터링할 수 있습니다.

소스 및 대상 버킷 또는 폴더는 동일하거나 다른 클라우드 객체 저장소 제공자에 있을 수 있습니다.

소스 및 대상이 고유한 객체 저장소에 있거나 동일한 클라우드 제공자의 계정이 서로 다른 경우 소스 및 대상 위치에 대해 별도의 인증서 이름을 지정할 수 있습니다.

소스 인증서 이름은 기본적으로 대상 위치에서도 사용됩니다.

구문

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

매개변수

매개변수 설명
source_credential_name

클라우드 오브젝트 스토리지에 액세스할 자격 증명 이름입니다.

source_credential_name 값을 제공하지 않을 경우 credential_nameNULL로 설정됩니다.

source_location_uri

소스 오브젝트 스토리지 버킷 또는 폴더 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

클라우드 소스 파일 URI

클라우드 소스 파일 URI의 파일 이름에 와일드카드와 정규 표현식을 사용할 수 있습니다.

정규 표현식은 regexuri format 매개변수가 TRUE로 설정된 경우에만 사용할 수 있습니다.

regexuri 매개변수가 FALSE로 설정된 경우 "*" 및 "?" 문자는 와일드카드 문자로 간주됩니다. regexuri 매개변수가 TRUE로 설정된 경우 "*" 및 "?" 문자는 지정된 정규 표현식 패턴의 일부입니다.

정규식 패턴은 URI의 파일 이름 또는 하위 폴더 경로에 대해서만 지원되며 패턴 일치는 REGEXP_LIKE 함수에 의해 수행되는 것과 동일합니다.

정규 표현식을 사용하는 예제:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

와일드카드를 사용하는 예:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

URI 형식은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

REGEXP_LIKE 조건에 대한 자세한 내용은 Oracle Database 19c SQL 언어 참조REGEXP_LIKE 조건 또는 Oracle Database 26ai SQL 언어 참조를 참조하십시오.

target_location_uri

파일을 복사해야 하는 대상 오브젝트 스토리지 버킷 또는 폴더에 대한 URI를 지정합니다.

이 매개변수는 필수입니다.

소스 오브젝트 스토리지 버킷 또는 폴더 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

URI의 형식은 클라우드 오브젝트 스토리지 서비스에 따라 다릅니다. 자세한 내용은 DBMS_CLOUD 패키지 파일 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

target_credential_name

대상 클라우드 오브젝트 스토리지 위치에 액세스하기 위한 인증서의 이름입니다.

target_credential_name 값을 제공하지 않을 경우 target_location_urisource_credential_name 값으로 설정됩니다.

regex_filter

파일을 필터링할 REGEX 표현식을 지정합니다. REGEX 표현식 패턴은 REGEXP_LIKE 연산자와 호환되어야 합니다.

regex_filter 값을 제공하지 않을 경우 regex_filterNULL로 설정됩니다.

자세한 내용은 REGEXP_LIKE 조건을 참조하십시오.

format

파일 작업에 대한 추가 구성 옵션을 지정합니다. 이러한 옵션은 JSON 문자열로 지정됩니다.

지원되는 형식 옵션은 다음과 같습니다.

  • logretention: 대량 작업을 위해 상태 테이블이 보존되는 기간(일)을 결정하는 정수 값을 사용합니다.

    기본값은 2일입니다.

  • logprefix: 대량 작업 상태 테이블 이름 접두어 문자열을 결정하는 문자열 값을 허용합니다.

    작업 유형이 기본값입니다. BULK_COPY의 경우 기본 logprefix 값은 COPYOBJ입니다.

  • priority: 동시에 수행되는 파일 작업 수를 결정하는 문자열 값을 받아들입니다.

    우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소모하므로 더 빠르게 실행되어야 합니다.

    이 매개변수는 다음 값을 받아들입니다.

    • HIGH: 데이터베이스의 ECPU 수를 사용하여 처리되는 병렬 파일 수를 결정합니다(데이터베이스에서 OCPU를 사용하는 경우 OCPU 수).

    • MEDIUM: 중간 서비스에 대한 동시성 제한을 사용하여 동시 프로세스 수를 결정합니다. 기본값은 4입니다.

    • LOW: 파일을 순차적으로 처리합니다.

    기본값은 MEDIUM입니다.

    최대 동시 파일 작업 수는 64개로 제한됩니다.

format 값을 제공하지 않을 경우 formatNULL로 설정됩니다.

operation_id 이 매개변수를 사용하여 로드 작업의 진행률 및 최종 상태를 USER_LOAD_OPERATIONS 뷰의 해당 ID로 추적할 수 있습니다.

주: 소스 및 대상 URI가 동일한 오브젝트 스토리지 버킷 또는 폴더를 가리킬 때 오류가 반환됩니다.

BEGIN
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format       => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/

BULK_DELETE 프로시저

이 절차에서는 클라우드 오브젝트 스토리지에서 파일을 대량 삭제합니다. 오버로드된 폼을 사용하여 operation_id 매개변수를 사용할 수 있습니다. REGEXP_LIKE 연산자와 호환되는 정규식 패턴을 사용하여 삭제할 파일 목록을 필터링할 수 있습니다.

구문

DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

매개변수

매개변수 설명
credential_name

클라우드 오브젝트 스토리지에 액세스할 자격 증명 이름입니다.

credential_name 값을 제공하지 않을 경우 credential_nameNULL로 설정됩니다.

location_uri

자율운영 AI 데이터베이스에서 객체 스토리지 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

클라우드 소스 파일 URI

클라우드 소스 파일 URI의 파일 이름에 와일드카드와 정규 표현식을 사용할 수 있습니다.

정규 표현식은 regexuri format 매개변수가 TRUE로 설정된 경우에만 사용할 수 있습니다.

regexuri 매개변수가 FALSE로 설정된 경우 "*" 및 "?" 문자는 와일드카드 문자로 간주됩니다. regexuri 매개변수가 TRUE로 설정된 경우 "*" 및 "?" 문자는 지정된 정규 표현식 패턴의 일부입니다.

정규식 패턴은 URI의 파일 이름 또는 하위 폴더 경로에 대해서만 지원되며 패턴 일치는 REGEXP_LIKE 함수에 의해 수행되는 것과 동일합니다.

예:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

URI 형식은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

REGEXP_LIKE 조건에 대한 자세한 내용은 Oracle Database 19c SQL 언어 참조REGEXP_LIKE 조건 또는 Oracle Database 26ai SQL 언어 참조를 참조하십시오.

URI의 형식은 클라우드 오브젝트 스토리지 서비스에 따라 다릅니다. 자세한 내용은 DBMS_CLOUD 패키지 파일 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

regex_filter

파일을 필터링할 REGEX 표현식을 지정합니다. REGEX 표현식 패턴은 REGEXP_LIKE 연산자와 호환되어야 합니다.

regex_filter 값을 제공하지 않을 경우 regex_filterNULL로 설정됩니다.

자세한 내용은 REGEXP_LIKE 조건을 참조하십시오.

format

파일 작업에 대한 추가 구성 옵션을 지정합니다. 이러한 옵션은 JSON 문자열로 지정됩니다.

지원되는 형식 옵션은 다음과 같습니다.

  • logretention: 상태 테이블이 대량 작업에 대해 유지되는 기간(일)을 결정하는 정수 값을 허용합니다.

    기본값은 2일입니다.

  • logprefix: 대량 작업 상태 테이블 이름 접두어 문자열을 결정하는 문자열 값을 허용합니다.

    작업 유형이 기본값입니다. BULK_DELETE의 경우 기본 logprefix 값은 DELETE입니다.

  • priority: 동시에 수행되는 파일 작업 수를 결정하는 문자열 값을 받아들입니다.

    우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소모하며 더 빨리 완료됩니다.

    이 매개변수는 다음 값을 받아들입니다.

    • HIGH: 데이터베이스의 ECPU 수를 사용하여 처리되는 병렬 파일 수를 결정합니다(데이터베이스에서 OCPU를 사용하는 경우 OCPU 수).

    • MEDIUM: 중간 서비스에 대한 동시성 제한을 사용하여 동시 프로세스 수를 결정합니다. 기본값은 4입니다.

    • LOW: 파일을 순차적으로 처리합니다.

    기본값은 MEDIUM입니다.

    최대 동시 파일 작업 수는 64개로 제한됩니다.

format 값을 제공하지 않을 경우 formatNULL로 설정됩니다.

operation_id 이 매개변수를 사용하여 로드 작업의 진행률 및 최종 상태를 USER_LOAD_OPERATIONS 뷰의 해당 ID로 추적할 수 있습니다.

BEGIN
DBMS_CLOUD.BULK_DELETE (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

BULK_DOWNLOAD 프로시저

이 절차에서는 Cloud Object Storage에서 자율운영 AI 데이터베이스 디렉토리로 파일을 다운로드합니다. 오버로드된 폼을 사용하여 operation_id 매개변수를 사용할 수 있습니다. REGEXP_LIKE 연산자와 호환되는 정규식 패턴을 사용하여 다운로드할 파일 목록을 필터링할 수 있습니다.

구문

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

매개변수

매개변수 설명
credential_name

클라우드 오브젝트 스토리지에 액세스할 자격 증명 이름입니다.

credential_name 값을 제공하지 않을 경우 credential_nameNULL로 설정됩니다.

location_uri

자율운영 AI 데이터베이스에서 객체 스토리지 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

클라우드 소스 파일 URI

클라우드 소스 파일 URI의 파일 이름에 와일드카드와 정규 표현식을 사용할 수 있습니다.

정규 표현식은 regexuri format 매개변수가 TRUE로 설정된 경우에만 사용할 수 있습니다.

regexuri 매개변수가 FALSE로 설정된 경우 "*" 및 "?" 문자는 와일드카드 문자로 간주됩니다. regexuri 매개변수가 TRUE로 설정된 경우 "*" 및 "?" 문자는 지정된 정규 표현식 패턴의 일부입니다.

정규식 패턴은 URI의 파일 이름 또는 하위 폴더 경로에 대해서만 지원되며 패턴 일치는 REGEXP_LIKE 함수에 의해 수행되는 것과 동일합니다.

예:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

URI 형식은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

REGEXP_LIKE 조건에 대한 자세한 내용은 Oracle Database 19c SQL 언어 참조REGEXP_LIKE 조건 또는 Oracle Database 26ai SQL 언어 참조를 참조하십시오.

directory_name

파일을 다운로드할 자율운영 AI 데이터베이스의 디렉토리 이름입니다.

이 매개변수는 필수입니다.

regex_filter

파일을 필터링할 REGEX 표현식을 지정합니다. REGEX 표현식 패턴은 REGEXP_LIKE 연산자와 호환되어야 합니다.

regex_filter 값을 제공하지 않을 경우 regex_filterNULL로 설정됩니다.

자세한 내용은 REGEXP_LIKE 조건을 참조하십시오.

format

파일 작업에 대한 추가 구성 옵션을 지정합니다. 이러한 옵션은 JSON 문자열로 지정됩니다.

지원되는 형식 옵션은 다음과 같습니다.

  • logretention: 대량 작업을 위해 상태 테이블이 보존되는 기간(일)을 결정하는 정수 값을 사용합니다.

    기본값은 2일입니다.

  • logprefix: 대량 작업 상태 테이블 이름 접두어 문자열을 결정하는 문자열 값을 허용합니다. BULK_DOWNLOAD의 경우 기본 logprefix 값은 DOWNLOAD입니다.

    작업 유형이 기본값입니다.

  • priority: 동시에 수행되는 파일 작업 수를 결정하는 문자열 값을 받아들입니다.

    우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소모하며 더 빨리 완료됩니다.

    이 매개변수는 다음 값을 받아들입니다.

    • HIGH: 데이터베이스의 ECPU 수를 사용하여 처리되는 병렬 파일 수를 결정합니다(데이터베이스에서 OCPU를 사용하는 경우 OCPU 수).

    • MEDIUM: 중간 서비스에 대한 동시성 제한을 사용하여 동시 프로세스 수를 결정합니다. 기본값은 4입니다.

    • LOW: 파일을 순차적으로 처리합니다.

    기본값은 MEDIUM입니다.

    최대 동시 파일 작업 수는 64개로 제한됩니다.

format 값을 제공하지 않을 경우 formatNULL로 설정됩니다.

operation_id 이 매개변수를 사용하여 로드 작업의 진행률 및 최종 상태를 USER_LOAD_OPERATIONS 뷰의 해당 ID로 추적할 수 있습니다.

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

BULK_MOVE 프로시저

이 절차에서는 클라우드 오브젝트 스토리지 버킷 또는 폴더 간에 파일을 대량으로 이동합니다. 오버로드된 폼을 사용하여 operation_id 매개변수를 사용할 수 있습니다.

REGEXP_LIKE 연산자와 호환되는 정규식 패턴을 사용하여 삭제할 파일 목록을 필터링할 수 있습니다.

소스 및 대상 버킷 또는 폴더는 동일하거나 다른 클라우드 객체 저장소 제공자에 있을 수 있습니다.

소스 및 대상이 고유한 객체 저장소에 있거나 동일한 클라우드 제공자의 계정이 서로 다른 경우 소스 및 대상 위치에 대해 별도의 인증서 이름을 지정할 수 있습니다.

소스 인증서 이름은 기본적으로 대상 인증서 이름이 제공되지 않은 경우 대상 위치에서도 사용됩니다.

파일을 이동하는 첫 번째 단계는 파일을 대상 위치로 복사한 다음 소스 파일을 성공적으로 복사한 후 삭제하는 것입니다.

객체 저장소에서 소스 위치와 대상 위치 간의 이름 바꾸기 작업을 허용하는 경우 객체 이름이 이동되지 않고 이름이 바뀝니다.

구문

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

매개변수

매개변수 설명
source_credential_name

소스 클라우드 오브젝트 스토리지에 액세스할 수 있는 인증서의 이름입니다.

source_credential_name 값을 제공하지 않을 경우 credential_nameNULL로 설정됩니다.

source_location_uri

소스 오브젝트 스토리지 버킷 또는 폴더 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

클라우드 소스 파일 URI

클라우드 소스 파일 URI의 파일 이름에 와일드카드와 정규 표현식을 사용할 수 있습니다.

정규 표현식은 regexuri format 매개변수가 TRUE로 설정된 경우에만 사용할 수 있습니다.

regexuri 매개변수가 FALSE로 설정된 경우 "*" 및 "?" 문자는 와일드카드 문자로 간주됩니다. regexuri 매개변수가 TRUE로 설정된 경우 "*" 및 "?" 문자는 지정된 정규 표현식 패턴의 일부입니다.

정규식 패턴은 URI의 파일 이름 또는 하위 폴더 경로에 대해서만 지원되며 패턴 일치는 REGEXP_LIKE 함수에 의해 수행되는 것과 동일합니다.

정규 표현식을 사용하는 예제:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

와일드카드를 사용하는 예:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

URI 형식은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

REGEXP_LIKE 조건에 대한 자세한 내용은 Oracle Database 19c SQL 언어 참조REGEXP_LIKE 조건 또는 Oracle Database 26ai SQL 언어 참조를 참조하십시오.

target_location_uri

파일을 이동해야 하는 대상 오브젝트 스토리지 버킷 또는 폴더에 대한 URI를 지정합니다.

이 매개변수는 필수입니다.

URI 형식은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다. 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

target_credential_name

대상 클라우드 오브젝트 스토리지 위치에 액세스하기 위한 인증서의 이름입니다.

target_credential_name 값을 제공하지 않을 경우 target_location_urisource_credential_name 값으로 설정됩니다.

regex_filter

파일을 필터링할 REGEX 표현식을 지정합니다. REGEX 표현식 패턴은 REGEXP_LIKE 연산자와 호환되어야 합니다.

regex_filter 값을 제공하지 않을 경우 regex_filterNULL로 설정됩니다.

자세한 내용은 REGEXP_LIKE 조건을 참조하십시오.

format

파일 작업에 대한 추가 구성 옵션을 지정합니다. 이러한 옵션은 JSON 문자열로 지정됩니다.

지원되는 형식 옵션은 다음과 같습니다.

  • logretention: 대량 작업을 위해 상태 테이블이 보존되는 기간(일)을 결정하는 정수 값을 사용합니다.

    기본값은 2일입니다.

  • logprefix: 대량 작업 상태 테이블 이름 접두어 문자열을 결정하는 문자열 값을 허용합니다.

    작업 유형이 기본값입니다. BULK_MOVE의 경우 기본 logprefix 값은 MOVE입니다.

  • priority: 동시에 수행되는 파일 작업 수를 결정하는 문자열 값을 받아들입니다.

    우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소모하며 더 빨리 완료됩니다.

    이 매개변수는 다음 값을 받아들입니다.

    • HIGH: 데이터베이스의 ECPU 수를 사용하여 처리되는 병렬 파일 수를 결정합니다(데이터베이스에서 OCPU를 사용하는 경우 OCPU 수).

    • MEDIUM: 중간 서비스에 대한 동시성 제한을 사용하여 동시 프로세스 수를 결정합니다. 기본값은 4입니다.

    • LOW: 파일을 순차적으로 처리합니다.

    기본값은 MEDIUM입니다.

    최대 동시 파일 작업 수는 64개로 제한됩니다.

format 값을 제공하지 않을 경우 formatNULL로 설정됩니다.

operation_id 이 매개변수를 사용하여 로드 작업의 진행률 및 최종 상태를 USER_LOAD_OPERATIONS 뷰의 해당 ID로 추적할 수 있습니다.

BEGIN
DBMS_CLOUD.BULK_MOVE (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

주: 소스 및 대상 URI가 동일한 오브젝트 스토리지 버킷 또는 폴더를 가리킬 때 오류가 반환됩니다.

BULK_UPLOAD 프로시저

이 절차에서는 자율운영 AI 데이터베이스 디렉토리에서 클라우드 오브젝트 스토리지에 파일을 복사합니다. 오버로드된 폼을 사용하여 operation_id 매개변수를 사용할 수 있습니다.

구문

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

매개변수

매개변수 설명
credential_name

클라우드 오브젝트 스토리지에 액세스할 자격 증명 이름입니다.

credential_name 값을 제공하지 않을 경우 credential_nameNULL로 설정됩니다.

location_uri

파일을 업로드할 오브젝트 스토리지 위치를 가리키는 URI를 지정합니다.

이 매개변수는 필수입니다.

URI의 형식은 클라우드 오브젝트 스토리지 서비스에 따라 다릅니다. 자세한 내용은 DBMS_CLOUD 패키지 파일 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

directory_name

파일을 업로드하는 자율운영 AI 데이터베이스의 디렉토리 이름입니다.

이 매개변수는 필수입니다.

디렉토리

하나의 디렉토리와 하나 이상의 파일 이름을 지정하거나 콤마로 구분된 디렉토리 및 파일 이름 목록을 사용할 수 있습니다. 디렉토리를 지정하는 형식은 'MY_DIR:filename.ext'입니다. 기본적으로 디렉토리 이름 MY_DIR은 데이터베이스 객체이며 대소문자를 구분하지 않습니다. 파일 이름은 대/소문자를 구분합니다.

디렉토리에서 파일 이름을 지정할 때는 정규 표현식이 지원되지 않습니다. 와일드카드를 사용하여 디렉토리에 파일 이름만 지정할 수 있습니다. 문자 "*"는 여러 문자에 대한 와일드카드 문자로 사용할 수 있으며, 문자 "?"는 단일 문에 대한 와일드 카드 문으로 사용할 수 있으며, 예: 'MY_DIR:*" 또는 'MY_DIR:test?'

여러 디렉토리를 지정하려면 콤마로 구분된 디렉토리 목록을 사용합니다. 예:'MY_DIR1:*, MY_DIR2:test?'

큰따옴표를 사용하여 대소문자를 구분하는 디렉토리 이름을 지정합니다. 예: '"my_dir1":*, "my_dir2":Test?'

따옴표를 포함하려면 두 개의 따옴표를 사용합니다. 예: 'MY_DIR:''filename.ext'. filename가 따옴표(')로 시작하도록 지정합니다.

regex_filter

파일을 필터링할 REGEX 표현식을 지정합니다. REGEX 표현식 패턴은 REGEXP_LIKE 연산자와 호환되어야 합니다.

regex_filter 값을 제공하지 않을 경우 regex_filterNULL로 설정됩니다.

자세한 내용은 REGEXP_LIKE 조건을 참조하십시오.

format

파일 작업에 대한 추가 구성 옵션을 지정합니다. 이러한 옵션은 JSON 문자열로 지정됩니다.

지원되는 형식 옵션은 다음과 같습니다.

  • logretention: 대량 작업을 위해 상태 테이블이 유지되는 기간(일)을 결정하는 정수 값을 사용합니다.

    기본값은 2일입니다.

  • logprefix: 대량 작업 상태 테이블 이름 접두어 문자열을 결정하는 문자열 값을 허용합니다.

    작업 유형이 기본값입니다. BULK_UPLOAD의 경우 기본 logprefix 값은 UPLOAD입니다.

  • priority: 동시에 수행되는 파일 작업 수를 결정하는 문자열 값을 받아들입니다.

    우선 순위가 높은 작업은 더 많은 데이터베이스 리소스를 소모하며 더 빨리 완료됩니다.

    이 매개변수는 다음 값을 받아들입니다.

    • HIGH: 데이터베이스의 ECPU 수를 사용하여 처리되는 병렬 파일 수를 결정합니다(데이터베이스에서 OCPU를 사용하는 경우 OCPU 수).

    • MEDIUM: 중간 서비스에 대한 동시성 제한을 사용하여 동시 프로세스 수를 결정합니다. 기본값은 4입니다.

    • LOW: 파일을 순차적으로 처리합니다.

    기본값은 MEDIUM입니다.

    최대 동시 파일 작업 수는 64개로 제한됩니다.

format 값을 제공하지 않을 경우 formatNULL로 설정됩니다.

operation_id 이 매개변수를 사용하여 로드 작업의 진행률 및 최종 상태를 USER_LOAD_OPERATIONS 뷰의 해당 ID로 추적할 수 있습니다.

BEGIN
DBMS_CLOUD.BULK_UPLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/

관련 콘텐츠

클라우드의 파일에 대한 대량 작업