Paquete DBMS_EXT_TABLE_CACHE

El paquete DBMS_EXT_TABLE_CACHE proporciona rutinas para configurar y gestionar el almacenamiento en caché de los datos a los que se accede con frecuencia desde tablas externas a Autonomous Database.

Resumen de Subprogramas DBMS_EXT_TABLE_CACHE

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

Subprograma Descripción

ADD_BY_LIKE Procedimiento

Agrega uno o más archivos que coinciden con los filtros especificados en una caché de tabla externa.

ADD_FILE Procedimiento

Agrega un archivo a la caché de tabla externa.

ADD_TABLE Procedimiento

Agrega archivos de la tabla externa especificada a una caché de tabla externa.

Procedimiento CLEAR

Borra una caché de tabla externa.

CREATE_CACHE Procedimiento

Crea una caché de tabla externa.

Desactivar procedimiento

Desactiva una caché de tabla externa.

DROP_BY_LIKE Procedimiento

Borrar archivos de una caché de tabla externa según los filtros especificados.

DROP_CACHE Procedimiento

Borra una caché de tabla externa.

DROP_FILE Procedimiento

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.

RETIRE_FILES Procedimiento

Suprime uno o más archivos de la caché que son anteriores al intervalo especificado.

SET_USER_PROPERTY Procedimiento

Especifica la preferencia de almacenamiento en caché para una caché de tabla externa.

Procedimiento VALIDATE

Valida una caché de tabla externa.

ADD_BY_LIKE Procedimiento

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

Nota de uso

  • Por defecto, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE omite la carga de los archivos cuando:
    • Los archivos se almacenaban previamente en caché y aún estaban disponibles en la caché.

    • Los archivos no se han modificado desde la última vez que se almacenaron en caché.

    Sin embargo, puede utilizar el parámetro force para sobrescribir los archivos en la caché aunque los archivos no se hayan modificado.

ADD_FILE Procedimiento

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 para el 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

  • El procedimiento DBMS_EXT_TABLE_CACHE.ADD_FILE omite la carga del archivo en la caché si el archivo especificado existe en la caché y no se ha modificado desde la última vez que el archivo se almacenó en caché.

  • Puede utilizar el parámetro force para sobrescribir el archivo en la caché aunque el archivo no se haya modificado.

ADD_LATEST_FILES Procedimiento

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

Nota de uso

  • Por defecto, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES omite la carga de los archivos cuando:
    • Los archivos especificados se almacenaron previamente en caché y aún están disponibles en la caché.

    • Los archivos especificados no se han modificado desde la última vez que se almacenaron en caché.

    Sin embargo, puede utilizar el parámetro force para sobrescribir los archivos en la caché aunque los archivos no se hayan modificado.

ADD_TABLE Procedimiento

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

  • DBMS_EXT_TABLE_CACHE.ADD_TABLE intenta almacenar en caché toda la tabla o un porcentaje especificado del contenido del archivo en la caché.

  • Los parámetros percent_files y force se excluyen mutuamente.

  • Por defecto, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_TABLE omite la carga de los archivos cuando:
    • Los archivos especificados se almacenaron previamente en caché y aún están disponibles en la caché.

    • Los archivos especificados no se han modificado desde la última vez que se almacenaron en caché.

    Sin embargo, puede utilizar el parámetro force para sobrescribir los archivos en la caché aunque los archivos no se hayan modificado.

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

CREATE_CACHE Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea una caché de tabla externa en una instancia de Autonomous Database.

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

Nota de uso

  • DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea la caché de tabla externa en una instancia de Autonomous Database. 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;                                                                 
/

Nota 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.

DROP_BY_LIKE Procedimiento

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

DROP_CACHE Procedimiento

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

Nota de uso

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

DROP_FILE Procedimiento

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 de Retorno

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

RETIRE_FILES Procedimiento

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

SET_USER_PROPERTY Procedimiento

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