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 y desde tablas expuestas a través de catálogos montados en Autonomous AI 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
Procedimiento ADD_BY_LIKE Agrega uno o más archivos que coinciden con los filtros especificados en Lake Cache.
Procedimiento ADD_FILE Agrega un archivo a Lake Cache.
Procedimiento ADD_LATEST_FILES Rellena uno o más archivos según el intervalo de tiempo especificado por el argumento SINCE y el registro de hora actual.
Procedimiento ADD_TABLE Agrega archivos de la tabla de origen especificada en Lake Cache. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
Procedimiento CLEAR Borra una caché de lago.
Procedimiento CREATE_CACHE Crea una caché de lago.
Desactivar procedimiento Desactiva una caché de lago.
Procedimiento DROP_BY_LIKE Borrar archivos de la caché del lago según los filtros especificados.
Procedimiento DROP_CACHE Borra una caché de lago.
Procedimiento DROP_FILE Elimina el archivo de origen especificado de la caché de lago.
ENABLE Procedimiento Activa una caché de lago desactivada anteriormente.
Función GET_AVAILABLE_QUOTA Devuelve la cuota de caché disponible restante para un esquema o para una caché de tabla externa específica.
Función GET_GLOBAL_CACHE_QUOTA Devuelve la cuota de caché global resuelta.
Función GET_USER_PROPERTY Recupera la preferencia de almacenamiento en caché para Lake Cache.
Procedimiento REFRESH_TABLE Suprime los datos almacenados en caché para los archivos que ya no existen y carga los archivos que son nuevos o recién modificados.
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 Lake Cache.
Procedimiento VALIDATE Valida una caché de lago.

ADD_BY_LIKE Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE carga uno o más archivos de origen especificados en la caché de lago.

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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

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

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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

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 se almacenó en caché el archivo.

  • 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 rellena uno o más archivos en la caché de lago. Los archivos se rellenan 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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 completar los archivos, en función de la hora de la última modificación.
max_files

Especifique el valor max_files para limitar el número de archivos que se pueden rellenar en la caché de lago.

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

Nota de uso

  • De manera predeterminada, el procedimiento DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES omite el relleno 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 de origen en la caché. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

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 lago mientras conserva 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

Ejemplo

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

CREATE_CACHE Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea una caché de lago 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,
      col_subset     IN VARCHAR2 DEFAULT NULL
);

Parámetros

Parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
partition_type

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

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

  • PATH: particiona la caché de lago 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.

col_subset col_subset especifica las columnas que se van a almacenar en caché. Proporcione un JSON_ARRAY de nombres de columna de tabla externa; solo estas columnas se almacenan en caché en la caché de lago.

col_subset es opcional. Si no especifica col_subset, la caché del lago incluye todas las columnas por defecto.

Ejemplos

Ejemplo: creación de una caché de lago que incluya todas las columnas

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

Ejemplo: creación de una caché de lago con un subjuego de columnas

BEGIN
    DBMS_EXT_TABLE_CACHE.CREATE_CACHE (
    owner          => 'SALES',
    table_name     => 'STORE_SALES',
    partition_type => 'FILE',
    col_subset     => '["PROD_ID","STORE_ID","SALES_AMT"]');
END;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

Nota de uso

  • DBMS_EXT_TABLE_CACHE.CREATE_CACHE crea la caché de lago 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 lago 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

Ejemplo

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

Nota de uso

  • DBMS_EXT_TABLE_CACHE.DISABLE no suprime ningún dato de la caché de lago. 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 lago. 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

DROP_CACHE Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.DROP_CACHE borra la caché de lago 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

Ejemplo

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

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

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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

ENABLE Procedimiento

El procedimiento DBMS_EXT_TABLE_CACHE.ENABLE activa una caché de lago 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

Ejemplo

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

Función GET_AVAILABLE_QUOTA

Utilice la función DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA para recuperar la cuota de caché disponible restante para un esquema o para una caché de tabla externa específica.

Sintaxis

DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA (
    owner       IN   VARCHAR2,
    table_name  IN   VARCHAR2 DEFAULT NULL,
    no_cache    OUT  BOOLEAN,
    total_quota OUT  NUMBER
)
RETURN NUMBER;

Parámetros

Parámetro Descripción
owner Especifica el nombre del esquema.
table_name Especifica el nombre de tabla externa. Si table_name es NULL, la función devuelve información de cuota para el esquema.
no_cache Devuelve TRUE cuando no hay ninguna cuota de caché disponible.
total_quota Devuelve la cuota total disponible para el esquema o la caché.

Valor devuelto

Devuelve la cuota disponible restante.

Ejemplos

Ejemplo para comprobar la cuota disponible de un esquema:

SET SERVEROUTPUT ON;
DECLARE
  l_available_quota NUMBER;
  l_total_quota     NUMBER;
  l_no_cache        BOOLEAN;
BEGIN
  l_available_quota := DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA(
                         owner       => 'HR',
                         table_name  => NULL,
                         no_cache    => l_no_cache,
                         total_quota => l_total_quota);

  IF l_no_cache THEN
    DBMS_OUTPUT.PUT_LINE('NO_CACHE=TRUE');
  ELSE
    DBMS_OUTPUT.PUT_LINE('NO_CACHE=FALSE');
  END IF;

  DBMS_OUTPUT.PUT_LINE('TOTAL_QUOTA=' || l_total_quota);
  DBMS_OUTPUT.PUT_LINE('AVAILABLE_QUOTA=' || l_available_quota);
END;
/

Ejemplo para comprobar la cuota disponible para una caché de tabla externa específica:

SET SERVEROUTPUT ON;
DECLARE
  l_available_quota NUMBER;
  l_total_quota     NUMBER;
  l_no_cache        BOOLEAN;
BEGIN
  l_available_quota := DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA(
                         owner       => 'SALES',
                         table_name  => 'STORE_SALES',
                         no_cache    => l_no_cache,
                         total_quota => l_total_quota);

  IF l_no_cache THEN
    DBMS_OUTPUT.PUT_LINE('NO_CACHE=TRUE');
  ELSE
    DBMS_OUTPUT.PUT_LINE('NO_CACHE=FALSE');
  END IF;

  DBMS_OUTPUT.PUT_LINE('TOTAL_QUOTA=' || l_total_quota);
  DBMS_OUTPUT.PUT_LINE('AVAILABLE_QUOTA=' || l_available_quota);
END;
/

Función GET_GLOBAL_CACHE_QUOTA

Utilice la función DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA para recuperar la cuota de caché global resuelta.

Sintaxis

DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA
RETURN NUMBER;

Valor devuelto

Devuelve la cuota de caché global resuelta basada en GLOBAL_CACHE_SIZE y GLOBAL_CACHE_PERCENT.

Notas de uso

  • Si se definen GLOBAL_CACHE_SIZE y GLOBAL_CACHE_PERCENT, se utiliza el valor más grande.

  • Si ninguna de las propiedades de cuota global está definida explícitamente, GLOBAL_CACHE_PERCENT se define por defecto en 20.

Ejemplo

SET SERVEROUTPUT ON;
DECLARE
  l_global_quota NUMBER;
BEGIN
  l_global_quota := DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA;
  DBMS_OUTPUT.PUT_LINE('GLOBAL_CACHE_QUOTA=' || l_global_quota);
END;
/

Función GET_USER_PROPERTY

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

MAX_CACHE_SIZE y MAX_CACHE_PERCENT son controles de cuota a nivel de esquema dentro del modelo de cuota global.

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_PERCENT en Number. Según el parámetro property_name, la función devuelve el valor MAX_CACHE_SIZE o MAX_CACHE_PERCENT.

Notas de uso

  • Cuando se conoce la cuota de caché global, MAX_CACHE_PERCENT se basa en la cuota global resuelta. De lo contrario, se basa en la cuota de tablespace de esquema o caché.

  • Si se definen MAX_CACHE_SIZE y MAX_CACHE_PERCENT, se utiliza el valor más grande.

  • Si no se define explícitamente ninguna propiedad de cuota de nivel de esquema, MAX_CACHE_PERCENT se define por defecto en 20.

  • Las cachés manuales y las cachés AUTO consumen el mismo pool de cuotas.

Ejemplo

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

Procedimiento REFRESH_TABLE

El procedimiento DBMS_EXT_TABLE_CACHE.REFRESH_TABLE suprime los datos almacenados en caché para los archivos que ya no existen y carga los archivos que son nuevos o recién modificados.

Sintaxis

DBMS_EXT_TABLE_CACHE.REFRESH_TABLE (
    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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.

Ejemplo

En este ejemplo se refrescan los datos almacenados en caché para la tabla STORE_SALES en el esquema SALES.

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.

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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
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;
/

Este procedimiento también admite tablas expuestas a través de catálogos montados.

SET_USER_PROPERTY Procedimiento

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

Utilice MAX_CACHE_SIZE y MAX_CACHE_PERCENT para definir las preferencias de cuota de nivel de esquema para las cachés basadas en políticas.

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.

Notas de uso

  • Cuando se conoce la cuota de caché global, MAX_CACHE_PERCENT se basa en la cuota global resuelta. De lo contrario, se basa en la cuota de tablespace de esquema o caché.

  • Si se definen MAX_CACHE_SIZE y MAX_CACHE_PERCENT, se utiliza el valor más grande.

  • Si no se define explícitamente ninguna propiedad de cuota de nivel de esquema, MAX_CACHE_PERCENT se define por defecto en 20.

  • Si MAX_CACHE_SIZE está definido en un valor mayor que GLOBAL_CACHE_SIZE, la base de datos genera un error.

  • Las cachés manuales y las cachés AUTO consumen el mismo pool de cuotas.

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 lago. Se informa de un error si no se encuentra la tabla de origen 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 la tabla de origen. La tabla de origen puede ser una tabla externa o una tabla expuesta a través de un catálogo montado.
raise_errors Informa cuando una caché de lago está marcada como no válida.

Ejemplo

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

Este procedimiento también admite tablas expuestas a través de catálogos montados.