Paquete DBMS_EXT_TABLE_CACHE

En esta tabla se resumen los subprogramas incluidos en el paquete DBMS_EXT_TABLE_CACHE.

Subprograma Descripción
Procedimiento ADD_BY_LIKE Agrega uno o más archivos que coinciden con los filtros especificados en una caché de tabla externa.
Procedimiento ADD_FILE Agrega un archivo a la caché de tabla externa.
Procedimiento ADD_TABLE Agrega archivos de la tabla externa especificada a una caché de tabla externa.
Procedimiento CLEAR Borra una caché de tabla externa.
Procedimiento CREATE_CACHE Crea una caché de tabla externa.
Desactivar procedimiento Desactiva una caché de tabla externa.
Procedimiento DROP_BY_LIKE Borrar archivos de una caché de tabla externa según los filtros especificados.
Procedimiento DROP_CACHE Borra una caché de tabla externa.
Procedimiento DROP_FILE Elimina el archivo de tabla externa especificado de la caché de tabla externa.
ENABLE Procedimiento Activa una caché de tabla externa desactivada anteriormente.
Función GET_USER_PROPERTY Recupera la preferencia de almacenamiento en caché para una caché de tabla externa.
Procedimiento RETIRE_FILES Suprime uno o más archivos de la caché que son anteriores al intervalo especificado.
Procedimiento SET_USER_PROPERTY Especifica la preferencia de almacenamiento en caché para una caché de tabla externa.
Procedimiento VALIDATE Valida una caché de tabla externa.

Procedimiento ADD_BY_LIKE

El procedimiento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE carga uno o más archivos especificados del almacén de objetos en la caché de tabla externa.

Sintaxis

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);

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
path_filters PATH_FILTERS es un JSON_ARRAY de filtros de ruta de acceso que se utilizan para buscar patrones especificados en las URL de archivo.
esc_char

Especifica el carácter de escape que se utilizará en los filtros de ruta. Si el carácter de escape precede a '%' o '_' en el patrón, el carácter especial se interpreta literalmente y no como un carácter de coincidencia de patrones especial.

Este parámetro es opcional y el valor predeterminado para este parámetro es NULL.

force

Fuerza que los archivos existentes especificados se sobrescriban en la caché incluso si los archivos no se modificaron.

Este parámetro es opcional y el valor por defecto para el parámetro force es FALSE.

Ejemplo

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;
/

Notas de uso

Por defecto, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE omite la carga de los archivos cuando:

Procedimiento ADD_FILE

El procedimiento DBMS_EXT_TABLE_CACHE.ADD_FILE carga el archivo especificado en la caché de tabla externa.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
file_url Especifica la URL del archivo.
force

Fuerza que los archivos existentes especificados se sobrescriban en la caché incluso si los archivos no se modificaron.

Este parámetro es opcional y el valor por defecto del parámetro force es FALSE.

Ejemplo

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;
/

Notas de uso

Procedimiento ADD_LATEST_FILES

DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES carga uno o más archivos en la caché de tabla externa. Los archivos se cargan en función del intervalo de tiempo determinado por el argumento SINCE y el registro de hora actual.

Sintaxis

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);

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
since El parámetro since acepta un valor INTERVAL DAY TO SECOND y se utiliza para calcular el intervalo de tiempo entre el valor since y el registro de hora actual. A continuación, el intervalo de tiempo resultante se utiliza para cargar los archivos en función de la hora de última modificación.
max_files

Especifique el valor max_files para limitar el número de archivos que se pueden cargar en la caché de tabla externa.

Este parámetro es opcional y el valor por defecto es ilimitado cuando no se especifica.

force

Fuerza que los archivos existentes especificados se sobrescriban en la caché incluso si los archivos no se modificaron.

Este parámetro es opcional y el valor predeterminado de este parámetro es FALSE.

Ejemplo

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

Notas de uso

Por defecto, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES omite la carga de los archivos cuando:

Procedimiento ADD_TABLE

El procedimiento DBMS_EXT_TABLE_CACHE.ADD_TABLE carga una tabla completa o un determinado porcentaje de la tabla externa en la caché.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
percent_files

Especifica el porcentaje de los datos de tabla que se van a almacenar en caché. Por ejemplo, de 1 a 100.

Por defecto, se cargan todos los archivos.

force

Fuerza la sobrescritura de los archivos especificados en la caché aunque los archivos no se hayan modificado.

Este parámetro es opcional y el valor por defecto para force es FALSE.

Ejemplo

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

Notas de uso

Procedimiento CLEAR

El procedimiento DBMS_EXT_TABLE_CACHE.CLEAR elimina todos los archivos de una caché de tabla externa al conservar la caché.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.

Ejemplo

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

Procedimiento CREATE_CACHE

El procedimiento DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea una caché de tabla externa en una instancia de base de datos de IA autónoma.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de la tabla externa.
partition_type

A continuación se muestran los valores válidos para el parámetro partition_type:

  • FILE: particiona la caché de tabla externa mediante las columnas invisibles FILE$PATH y FILE$NAME.

  • PATH: particiona la caché de tabla externa mediante la columna invisible FILE$PATH.

file$path: especifica el texto de la ruta de acceso del archivo hasta el principio del nombre del objeto.

file$name: especifica el nombre del objeto, incluido todo el texto que sigue al final '/'.

Consulte Columnas de Metadatos de Tabla Externa para obtener más información.

Ejemplo

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

Notas de uso

DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea la caché de tabla externa en una instancia de base de datos de IA autónoma. La creación de una caché es similar a la creación de una tabla en el esquema de base de datos.

Desactivar procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.DISABLE desactiva la caché de tabla externa especificada. La caché se marca como desactivada; sin embargo, los datos de la caché se conservan.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.

Ejemplo

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

Notas de uso

DBMS_EXT_TABLE_CACHE.DISABLE no suprime ningún dato de la caché de tabla externa. En su lugar, marca la caché como DISABLED, lo que significa que el optimizador no puede utilizar la caché para reescrituras de consulta.

Procedimiento DROP_BY_LIKE

El procedimiento DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE borra uno o más archivos de la caché de tabla externa. Los archivos se borran según los filtros especificados.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
path_filters PATH_FILTERS es un JSON_ARRAY de filtros de ruta de acceso que se utilizan para buscar patrones especificados en las URL de archivo.
esc_char

Especifica el carácter de escape que se utilizará en los filtros de ruta. Si el carácter de escape precede a '%' o '_' en el patrón, el carácter especial se interpreta literalmente y no como un carácter de coincidencia de patrones especial.

Este parámetro es opcional y el valor predeterminado para este parámetro es NULL.

Ejemplo

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;
/

Procedimiento DROP_CACHE

El procedimiento DBMS_EXT_TABLE_CACHE.DROP_CACHE borra la caché de tabla externa especificada. Este procedimiento borra la caché y libera el espacio de almacenamiento asociado a la caché.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.

Ejemplo

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

Notas de uso

Al borrar una caché, se eliminan los metadatos del diccionario de datos y se suprimen todos los datos almacenados en caché.

Procedimiento DROP_FILE

El procedimiento DBMS_EXT_TABLE_CACHE.DROP_FILE borra el archivo especificado de una caché de tabla externa.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
file_url Especifica la URL del archivo.

Ejemplo

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 Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.ENABLE activa una caché de tabla externa desactivada anteriormente. Cuando se crea una caché, se activa por defecto.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.

Ejemplo

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

Función GET_USER_PROPERTY

La función devuelve la preferencia de almacenamiento en caché del esquema especificado y devuelve un valor Number.

Sintaxis

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

RETURN NUMBER;

Parámetros

parámetro Descripción
property_name

Especifica el nombre de la propiedad.

A continuación se muestran los valores válidos para property_name:

  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

owner Especifica el nombre del esquema.

Valores devueltos

Valor devuelto Descripción
El valor MAX_CACHE_SIZE o MAX_CACHE_SIZE en Number. Según el parámetro property_name, el número devuelto es el valor MAX_CACHE_SIZE o MAX_CACHE_SIZE.

Ejemplo

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;
/

Procedimiento RETIRE_FILES

DBMS_EXT_TABLE_CACHE.RETIRE_FILES borra los archivos de la caché que son anteriores al intervalo especificado. Los archivos se suprimen en función del intervalo de tiempo calculado mediante el valor del parámetro BEFORE.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
before El parámetro before acepta un valor INTERVAL DAY TO SECOND y se utiliza para calcular el intervalo de tiempo entre el valor before y el registro de hora actual. El intervalo de tiempo resultante se utiliza para suprimir los archivos de la caché.

Ejemplo

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

Procedimiento SET_USER_PROPERTY

El procedimiento DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY define la preferencia de almacenamiento en caché para un esquema.

Sintaxis

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

Parámetros

parámetro Descripción
property_name

Especifica el nombre de la propiedad.

A continuación se muestran los valores válidos para property_name:

  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

property_value Especifica el valor de la propiedad.
owner Especifica el nombre del esquema.

Ejemplo

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

Procedimiento VALIDATE

El procedimiento DBMS_EXT_TABLE_CACHE.VALIDATE valida la caché de tabla externa. Se informa de un error si no se encuentra la tabla externa a la que se hace referencia en la base de datos.

Sintaxis

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

Parámetros

parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa.
raise_errors Informa cuando una caché de tabla externa está marcada como no válida.

Ejemplo

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

Contenido relacionado

Mejorar el rendimiento de las consultas con la caché de tablas externas