DBMS_EXT_TABLE_CACHE 패키지

이 표에는 DBMS_EXT_TABLE_CACHE 패키지에 포함된 서브 프로그램이 요약되어 있습니다.

하위 프로그램 설명

ADD_BY_LIKE 프로시저

지정된 필터와 일치하는 하나 이상의 파일을 External Table 캐시에 추가합니다.

ADD_FILE 프로시저

외부 테이블 캐시에 파일을 추가합니다.

ADD_TABLE 프로시저

지정된 External Table의 파일을 External Table 캐시에 추가합니다.

처리 절차

외부 테이블 캐시를 지웁니다.

CREATE_CACHE 프로시저

외부 테이블 캐시를 생성합니다.

DISABLE 프로시저

외부 테이블 캐시를 비활성화합니다.

DROP_BY_LIKE 프로시저

지정된 필터를 기반으로 External Table 캐시에서 파일을 삭제합니다.

DROP_CACHE 프로시저

External Table 캐시를 삭제합니다.

DROP_FILE 프로시저

지정된 External Table 파일을 External Table 캐시에서 제거합니다.

ENABLE 프로시저

이전에 비활성화된 외부 테이블 캐시를 활성화합니다.

GET_USER_PROPERTY 함수

외부 테이블 캐시에 대한 캐시 환경설정을 검색합니다.

RETIRE_FILES 프로시저

지정된 간격보다 오래된 파일을 캐시에서 하나 이상 삭제합니다.

SET_USER_PROPERTY 프로시저

External Table 캐시에 대한 캐시 환경 설정을 지정합니다.

VALIDATE 프로시저

외부 테이블 캐시를 검증합니다.

ADD_BY_LIKE 프로시저

DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE 프로시저는 객체 저장소에서 외부 테이블 캐시로 지정된 하나 이상의 파일을 로드합니다.

구문

DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      path_filters IN CLOB,
      esc_char     IN VARCHAR2 DEFAULT NULL,
      force        IN BOOLEAN  DEFAULT FALSE);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

path_filters

PATH_FILTERS는 파일 URL에서 지정된 패턴을 검색하는 데 사용되는 경로 필터의 JSON_ARRAY입니다.

esc_char

경로 필터에 사용할 이스케이프 문자를 지정합니다. 패턴에서 이스케이프 문자가 '%' 또는 '_' 앞에 오면 특수 문자는 특수 패턴 일치 문자가 아닌 문자 그대로 해석됩니다.

이 매개변수는 선택 사항이며 이 매개변수의 기본값은 NULL입니다.

force

파일이 수정되지 않은 경우에도 지정된 기존 파일을 캐시에 강제로 덮어씁니다.

이 매개변수는 선택 사항이며 force 매개변수의 기본값은 FALSE입니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (
    owner        => 'SALES', 
    table_name   =>'STORE_SALES',
    path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
                      "https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/

사용 노트

  • 기본적으로 DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE 프로시저는 다음과 같은 경우 파일 로드를 건너뜁니다.
    • 파일은 이전에 캐시되었으며 캐시에서 계속 사용할 수 있습니다.

    • 파일이 마지막으로 캐시된 이후로 수정되지 않았습니다.

    그러나 파일이 수정되지 않은 경우에도 force 매개변수를 사용하여 캐시에 있는 파일을 겹쳐쓸 수 있습니다.

ADD_FILE 프로시저

DBMS_EXT_TABLE_CACHE.ADD_FILE 프로시저는 지정된 파일을 외부 테이블 캐시로 로드합니다.

구문

DBMS_EXT_TABLE_CACHE.ADD_FILE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      file_url     IN VARCHAR2,
      force        IN BOOLEAN DEFAULT FALSE);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

file_url

파일 URL을 지정합니다.

force

파일이 수정되지 않은 경우에도 지정된 기존 파일을 캐시에 강제로 덮어씁니다.

이 매개변수는 선택 사항이며 force 매개변수의 기본값은 FALSE입니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_FILE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    file_url     => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/

사용법 참고

  • 지정된 파일이 캐시에 있고 파일이 마지막으로 캐시된 이후 수정되지 않은 경우 DBMS_EXT_TABLE_CACHE.ADD_FILE 프로시저는 캐시로 파일 로드를 건너뜁니다.

  • force 매개변수를 사용하여 파일이 수정되지 않은 경우에도 캐시의 파일을 겹쳐쓸 수 있습니다.

ADD_LATEST_FILES 프로시저

DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES는 하나 이상의 파일을 외부 테이블 캐시로 로드합니다. 파일은 SINCE 인수 및 현재 시간 기록에 의해 결정된 시간 간격에 따라 로드됩니다.

구문

DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (       
      owner        IN  VARCHAR2,
      table_name   IN  VARCHAR2,
      since        IN  INTERVAL DAY TO SECOND,
      max_files    IN  NUMBER,
      force        IN  BOOLEAN DEFAULT FALSE);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

since

since 매개변수는 INTERVAL DAY TO SECOND 값을 수락하며 since 값과 현재 시간 기록 사이의 시간 간격을 계산하는 데 사용됩니다. 그러면 결과 시간 간격이 마지막 수정 시간을 기준으로 파일을 로드하는 데 사용됩니다.

max_files

외부 테이블 캐시로 로드할 수 있는 파일 수를 제한하려면 max_files 값을 지정합니다.

이 파라미터는 선택 사항이며 지정하지 않을 경우 기본값이 unlimited로 설정됩니다.

force

파일이 수정되지 않은 경우에도 지정된 기존 파일을 캐시에 강제로 덮어씁니다.

이 매개변수는 선택 사항이며 이 매개변수에 대한 기본값은 FALSE입니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    since        => INTERVAL '7' DAY,
    max_files    => 5,
    force        => TRUE);
END;
/

사용 노트

  • 기본적으로 DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES 프로시저는 다음과 같은 경우 파일 로드를 건너뜁니다.
    • 지정된 파일은 이전에 캐시되었으며 캐시에서 계속 사용할 수 있습니다.

    • 지정된 파일이 마지막 캐시된 이후 수정되지 않았습니다.

    그러나 파일이 수정되지 않은 경우에도 force 매개변수를 사용하여 캐시에 있는 파일을 겹쳐쓸 수 있습니다.

ADD_TABLE 프로시저

DBMS_EXT_TABLE_CACHE.ADD_TABLE 프로시저는 전체 테이블 또는 특정 비율의 외부 테이블을 캐시에 로드합니다.

구문

DBMS_EXT_TABLE_CACHE.ADD_TABLE (       
      owner         IN VARCHAR2,
      table_name    IN VARCHAR2,
      percent_files IN NUMBER DEFAULT NULL,
      force         IN BOOLEAN DEFAULT FALSE);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

percent_files

캐시할 테이블 데이터의 백분율을 지정합니다. 예를 들어, 1에서 100 사이입니다.

기본적으로 모든 파일이 로드됩니다.

force

파일이 수정되지 않은 경우에도 캐시에서 지정된 파일을 강제로 덮어씁니다.

이 매개변수는 선택 사항이며 force의 기본값은 FALSE입니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_TABLE (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES',
    percent_files => 50);
END;
/

사용법 참고

  • DBMS_EXT_TABLE_CACHE.ADD_TABLE는 전체 테이블 또는 지정된 백분율의 파일 컨텐츠를 캐시에 캐시하려고 시도합니다.

  • percent_filesforce 매개변수는 함께 사용할 수 없습니다.

  • 기본적으로 DBMS_EXT_TABLE_CACHE.ADD_TABLE 프로시저는 다음과 같은 경우 파일 로드를 건너뜁니다.
    • 지정된 파일은 이전에 캐시되었으며 캐시에서 계속 사용할 수 있습니다.

    • 지정된 파일이 마지막 캐시된 이후 수정되지 않았습니다.

    그러나 파일이 수정되지 않은 경우에도 force 매개변수를 사용하여 캐시에 있는 파일을 겹쳐쓸 수 있습니다.

처리 절차

DBMS_EXT_TABLE_CACHE.CLEAR 프로시저는 캐시를 유지하면서 외부 테이블 캐시에서 모든 파일을 제거합니다.

구문

DBMS_EXT_TABLE_CACHE.CLEAR (       
      owner         IN VARCHAR2,
      table_name    IN VARCHAR2);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.CLEAR (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES');
END;
/

CREATE_CACHE 프로시저

DBMS_EXT_TABLE_CACHE.CREATE_CACHE 프로시저는 Autonomous Database 인스턴스에 외부 테이블 캐시를 생성합니다.

구문

DBMS_EXT_TABLE_CACHE.CREATE_CACHE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2,
      partition_type   IN    VARCHAR2);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블의 이름을 지정합니다.

partition_type

다음은 partition_type 매개변수에 적합한 값입니다.
  • FILE: FILE$PATHFILE$NAME 보이지 않는 열을 사용하여 외부 테이블 캐시를 분할합니다.

  • PATH: FILE$PATH 보이지 않는 열을 사용하여 외부 테이블 캐시를 분할합니다.

file$path: 객체 이름의 시작 부분까지 파일 경로 텍스트를 지정합니다.

file$name: 최종 '/' 다음에 오는 모든 텍스트를 포함하여 객체 이름을 지정합니다.

자세한 내용은 외부 테이블 메타데이터 열을 참조하십시오.

BEGIN
    DBMS_EXT_TABLE_CACHE.CREATE_CACHE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES',
      partition_type => 'FILE');                                                                 
END;                                                                 
/

사용 노트

  • DBMS_EXT_TABLE_CACHE.CREATE_CACHEAutonomous Database 인스턴스에 외부 테이블 캐시를 생성합니다. 캐시 생성은 데이터베이스 스키마에 테이블을 생성하는 것과 유사합니다.

DISABLE 프로시저

DBMS_EXT_TABLE_CACHE.DISABLE 프로시저는 지정된 외부 테이블 캐시를 사용 안함으로 설정합니다. 캐시는 사용 안함으로 플래그 지정되지만 캐시 내의 데이터는 유지됩니다.

구문

DBMS_EXT_TABLE_CACHE.DISABLE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2
);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

BEGIN
    DBMS_EXT_TABLE_CACHE.DISABLE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES');                                                                 
END;                                                                 
/

사용 노트

  • DBMS_EXT_TABLE_CACHE.DISABLE는 외부 테이블 캐시에서 데이터를 삭제하지 않습니다. 대신, 캐시를 DISABLED로 표시합니다. 즉, 옵티마이저가 질의 재작성에 캐시를 사용할 수 없습니다.

DROP_BY_LIKE 프로시저

DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE 프로시저는 외부 테이블 캐시에서 하나 이상의 파일을 삭제합니다. 지정된 필터를 기준으로 파일이 삭제됩니다.

구문

DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      path_filters IN CLOB,
      esc_char     IN VARCHAR2 DEFAULT NULL);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

path_filters

PATH_FILTERS는 파일 URL에서 지정된 패턴을 검색하는 데 사용되는 경로 필터의 JSON_ARRAY입니다.

esc_char

경로 필터에 사용할 이스케이프 문자를 지정합니다. 패턴에서 이스케이프 문자가 '%' 또는 '_' 앞에 오면 특수 문자는 특수 패턴 일치 문자가 아닌 문자 그대로 해석됩니다.

이 매개변수는 선택사항이며 이 매개변수의 기본값은 NULL입니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
                      "https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/

DROP_CACHE 프로시저

DBMS_EXT_TABLE_CACHE.DROP_CACHE 프로시저는 지정된 외부 테이블 캐시를 삭제합니다. 이 절차에서는 캐시를 삭제하고 캐시와 연관된 스토리지 공간을 해제합니다.

구문

DBMS_EXT_TABLE_CACHE.DROP_CACHE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2
);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

BEGIN
    DBMS_EXT_TABLE_CACHE.DROP_CACHE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES');                                                             
END;                                                                 
/

사용 노트

  • 캐시를 삭제하면 데이터 딕셔너리에서 해당 메타 데이터가 제거되고 캐시된 모든 데이터가 삭제됩니다.

DROP_FILE 프로시저

DBMS_EXT_TABLE_CACHE.DROP_FILE 프로시저는 지정된 파일을 외부 테이블 캐시에서 삭제합니다.

구문

DBMS_EXT_TABLE_CACHE.DROP_FILE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      file_url     IN VARCHAR2);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

file_url

파일 URL을 지정합니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.DROP_FILE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    file_url     => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/

ENABLE 프로시저

DBMS_EXT_TABLE_CACHE.ENABLE 프로시저는 이전에 사용 안함으로 설정된 외부 테이블 캐시를 사용으로 설정합니다. 캐시가 생성되면 기본적으로 사용으로 설정됩니다.

구문

DBMS_EXT_TABLE_CACHE.ENABLE (       
    owner         IN    VARCHAR2,
    table_name    IN    VARCHAR2
);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.ENABLE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES'
 );
END;
/

GET_USER_PROPERTY 함수

이 함수는 지정된 스키마에 대한 캐싱 환경설정을 반환하고 Number를 반환합니다.

구문


DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY (
    property_name   IN   VARCHAR2,
    owner           IN   VARCHAR2 DEFAULT NULL);

RETURN NUMBER;

매개변수

매개변수 설명

property_name

등록 정보 이름을 지정합니다.

다음은 property_name에 적합한 값입니다.
  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

owner

스키마 이름을 지정합니다.

반환 값

반환 값 설명

번호의 MAX_CACHE_SIZE 또는 MAX_CACHE_SIZE 값입니다.

property_name 매개변수에 따라 반환되는 숫자는 MAX_CACHE_SIZE 또는 MAX_CACHE_SIZE 값입니다.

SET SERVEROUTPUT ON
    DECLARE
    max_cache_sz NUMBER,
    BEGIN
    max_cache_sz := DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY (
        property_name       => 'MAX_CACHE_SIZE',         
        owner               => 'SALES');                                                                
END;                                                                 
/

RETIRE_FILES 프로시저

DBMS_EXT_TABLE_CACHE.RETIRE_FILES는 지정된 간격보다 오래된 파일을 캐시에서 삭제합니다. 파일은 BEFORE 매개변수 값을 사용하여 계산된 시간 간격에 따라 삭제됩니다.

구문

DBMS_EXT_TABLE_CACHE.RETIRE_FILES (       
    owner        IN VARCHAR2,
    table_name   IN VARCHAR2,
    before       IN INTERVAL DAY TO SECOND
);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

before

before 매개변수는 INTERVAL DAY TO SECOND 값을 수락하며 before 값과 현재 시간 기록 사이의 시간 간격을 계산하는 데 사용됩니다. 그런 다음 결과 시간 간격을 사용하여 캐시에서 파일을 삭제합니다.

BEGIN
 DBMS_EXT_TABLE_CACHE.RETIRE_FILES (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    before       => INTERVAL '30' DAY);
END;
/

SET_USER_PROPERTY 프로시저

DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY 프로시저는 스키마에 대한 캐싱 환경설정을 설정합니다.

구문

DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY (         
    property_name    IN    VARCHAR2,         
    property_value   IN    NUMBER,                   
    owner            IN    VARCHAR2 DEFAULT NULL);

매개변수

매개변수 설명

property_name

등록 정보 이름을 지정합니다.

다음은 property_name에 적합한 값입니다.
  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

property_value

등록 정보 값을 지정합니다.

owner

스키마 이름을 지정합니다.

BEGIN
    DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY (
    property_name  => 'MAX_CACHE_PERCENT',          
    property_value => 100,                   
    owner          => 'SALES');                                                                
END;                                                                 
/

VALIDATE 프로시저

DBMS_EXT_TABLE_CACHE.VALIDATE 프로시저는 외부 테이블 캐시를 검증합니다. 데이터베이스에서 참조된 외부 테이블을 찾을 수 없는 경우 오류가 보고됩니다.

구문

DBMS_EXT_TABLE_CACHE.VALIDATE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2,
      raise_errors     IN    BOOLEAN DEFAULT TRUE);

매개변수

매개변수 설명

owner

스키마 이름을 지정합니다.

table_name

외부 테이블 이름을 지정합니다.

raise_errors

External Table 캐시가 invalid로 표시된 경우를 보고합니다.

BEGIN
  DBMS_EXT_TABLE_CACHE.VALIDATE (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES',
    raise_errors  => TRUE);
END;
/