Pacote DBMS_EXT_TABLE_CACHE

O pacote DBMS_EXT_TABLE_CACHE fornece rotinas para configurar e gerenciar o armazenamento em cache de dados acessados com frequência de tabelas externas e de tabelas expostas por meio de catálogos montados no Autonomous AI Database.

Resumo dos Subprogramas DBMS_EXT_TABLE_CACHE

Esta tabela resume os subprogramas incluídos no pacote DBMS_EXT_TABLE_CACHE.

Subprograma Descrição
Procedimento ADD_BY_LIKE Adiciona um ou mais arquivos que correspondem aos filtros especificados no Cache do Lake.
Procedimento ADD_FILE Adiciona um arquivo ao Lake Cache.
Procedimento ADD_LATEST_FILES Preenche um ou mais arquivos com base no intervalo de tempo especificado pelo argumento SINCE e o timestamp atual.
Procedimento ADD_TABLE Adiciona arquivos da tabela de origem especificada ao Cache do Lake. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
Procedimento CLEAR Limpa um Lake Cache.
Procedimento CREATE_CACHE Cria um Lake Cache.
Desabilitar procedimento Desativa um Cache do Lake.
Procedimento DROP_BY_LIKE Elimine arquivos do Lake Cache com base nos filtros especificados.
Procedimento DROP_CACHE Elimina um Lake Cache.
Procedimento DROP_FILE Remove o arquivo de origem especificado do Lake Cache.
Ativar procedimento Ativa um Lake Cache desativado anteriormente.
Função GET_AVAILABLE_QUOTA Retorna a cota de cache restante disponível para um esquema ou para um cache de tabela externa específico.
Função GET_GLOBAL_CACHE_QUOTA Retorna a cota de cache global resolvida.
Função GET_USER_PROPERTY Recupera a preferência de armazenamento em cache para um Lake Cache.
Procedimento REFRESH_TABLE Exclui os dados armazenados em cache de qualquer arquivo que não exista mais e carrega os arquivos novos ou recém-modificados.
Procedimento RETIRE_FILES Exclui um ou mais arquivos do cache que são mais antigos que o intervalo especificado.
Procedimento SET_USER_PROPERTY Especifica a preferência de armazenamento em cache para o Lake Cache.
Procedimento VALIDATE Valida um Cache do Lake.

ADD_BY_LIKE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE carrega um ou mais arquivos de origem especificados no Cache do Lake.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
path_filters PATH_FILTERS é um JSON_ARRAY de filtros de caminho usados para procurar padrões especificados em URLs de arquivo.
esc_char

Especifica o caractere de escape a ser usado nos filtros de caminho. Se o caractere de escape preceder o '%' ou o '_' no padrão, o caractere especial será interpretado literalmente, e não como um caractere de correspondência de padrão especial.

Esse parâmetro é opcional e o valor padrão desse parâmetro é NULL.

force

Força os arquivos existentes especificados a serem substituídos no cache, mesmo que os arquivos não tenham sido modificados.

Esse parâmetro é opcional e o valor padrão do parâmetro force é FALSE.

Exemplo

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 procedimento também suporta tabelas expostas através de catálogos montados.

Observação do Uso

  • Por padrão, o procedimento DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE ignora o carregamento dos arquivos quando:

    • Os arquivos foram armazenados em cache anteriormente e ainda estão disponíveis no cache.

    • Os arquivos não foram modificados desde que foram armazenados em cache pela última vez.

    No entanto, você pode usar o parâmetro force para substituir os arquivos no cache, mesmo que os arquivos não tenham sido modificados.

ADD_FILE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.ADD_FILE carrega o arquivo especificado no Cache do Lake.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
file_url Especifica o URL do arquivo.
force

Força os arquivos existentes especificados a serem substituídos no cache, mesmo que os arquivos não tenham sido modificados.

Esse parâmetro é opcional e o valor padrão para o parâmetro force é FALSE.

Exemplo

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 procedimento também suporta tabelas expostas através de catálogos montados.

Observações de Uso

  • O procedimento DBMS_EXT_TABLE_CACHE.ADD_FILE ignora o carregamento do arquivo no cache se o arquivo especificado existir no cache e não tiver sido modificado desde que o arquivo foi armazenado no cache pela última vez.

  • Você pode usar o parâmetro force para substituir o arquivo no cache, mesmo que o arquivo não tenha sido modificado.

ADD_LATEST_FILES Procedimento

O DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES preenche um ou mais arquivos no Cache do Lake. Os arquivos são preenchidos com base no intervalo de tempo determinado pelo argumento SINCE e pelo timestamp atual.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
since O parâmetro since aceita um valor INTERVAL DAY TO SECOND e é usado para calcular o intervalo de tempo entre o valor since e o timestamp atual. O intervalo de tempo resultante é usado para preencher os arquivos, com base no horário da última modificação.
max_files

Especifique o valor max_files para limitar o número de arquivos que podem ser preenchidos no Cache do Lake.

Esse parâmetro é opcional e assume ilimitado como padrão quando não especificado.

force

Força os arquivos existentes especificados a serem substituídos no cache, mesmo que os arquivos não tenham sido modificados.

Este parâmetro é opcional e o valor padrão para este parâmetro é FALSE.

Exemplo

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 procedimento também suporta tabelas expostas através de catálogos montados.

Observação do Uso

  • Por padrão, o procedimento DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES ignora o preenchimento dos arquivos quando:

    • Os arquivos especificados foram armazenados em cache anteriormente e ainda estão disponíveis no cache.

    • Os arquivos especificados não foram modificados desde que foram armazenados em cache pela última vez.

    No entanto, você pode usar o parâmetro force para substituir os arquivos no cache, mesmo que os arquivos não tenham sido modificados.

ADD_TABLE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.ADD_TABLE carrega uma tabela inteira ou uma determinada porcentagem da tabela de origem no cache. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
percent_files

Especifica a porcentagem dos dados de tabela a serem armazenados em cache. Por exemplo, 1 a 100.

Por padrão, todos os arquivos são carregados.

force

Força os arquivos especificados a serem substituídos no cache, mesmo que os arquivos não tenham sido modificados.

Esse parâmetro é opcional e o valor padrão para force é FALSE.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

Observações de Uso

  • O DBMS_EXT_TABLE_CACHE.ADD_TABLE tenta armazenar em cache toda a tabela ou uma porcentagem especificada do conteúdo do arquivo no cache.

  • Os parâmetros percent_files e force são mutuamente exclusivos.

  • Por padrão, o procedimento DBMS_EXT_TABLE_CACHE.ADD_TABLE ignora o carregamento dos arquivos quando:

    • Os arquivos especificados foram armazenados em cache anteriormente e ainda estão disponíveis no cache.

    • Os arquivos especificados não foram modificados desde que foram armazenados em cache pela última vez.

    No entanto, você pode usar o parâmetro force para substituir os arquivos no cache, mesmo que os arquivos não tenham sido modificados.

Procedimento CLEAR

O procedimento DBMS_EXT_TABLE_CACHE.CLEAR remove todos os arquivos de um Cache do Lake enquanto mantém o cache.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

CREATE_CACHE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.CREATE_CACHE cria um Cache de Lake em uma instância do Autonomous AI Database.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
partition_type

A seguir estão os valores válidos para o parâmetro partition_type:

  • FILE: particiona o Lake Cache usando as colunas invisíveis FILE$PATH e FILE$NAME.

  • PATH: particiona o Lake Cache usando a coluna invisível FILE$PATH.

file$path: Especifica o texto do caminho do arquivo até o início do nome do objeto.

file$name: Especifica o nome do objeto, incluindo todo o texto que segue o '/' final.

Consulte Colunas de Metadados da Tabela Externa para obter mais informações.

col_subset col_subset especifica as colunas a serem armazenadas no cache. Forneça um JSON_ARRAY de nomes de coluna de tabela externa; somente essas colunas são armazenadas em cache no Cache do Lake.

col_subset é opcional. Se você não especificar col_subset, o Lake Cache incluirá todas as colunas por padrão.

Exemplos

Exemplo: Criar um Lake Cache incluindo todas as colunas

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

Exemplo: Criar um Cache do Lake com um subconjunto de colunas

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 procedimento também suporta tabelas expostas através de catálogos montados.

Observação do Uso

  • O DBMS_EXT_TABLE_CACHE.CREATE_CACHE cria o Lake Cache em uma instância do Autonomous AI Database. Criar um cache é semelhante a criar uma tabela no esquema do banco de dados.

Desabilitar procedimento

O procedimento DBMS_EXT_TABLE_CACHE.DISABLE desativa o Cache do Lake especificado. O cache é sinalizado como desativado; no entanto, os dados dentro do cache são mantidos.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

Observação do Uso

  • O DBMS_EXT_TABLE_CACHE.DISABLE não exclui dados do Lake Cache. Em vez disso, ele marca o cache como DISABLED, o que significa que o otimizador não pode usar o cache para regravações de consulta.

DROP_BY_LIKE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE elimina um ou mais arquivos do Cache do Lake. Os arquivos são eliminados com base nos filtros especificados.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
path_filters PATH_FILTERS é um JSON_ARRAY de filtros de caminho usados para procurar padrões especificados em URLs de arquivo.
esc_char

Especifica o caractere de escape a ser usado nos filtros de caminho. Se o caractere de escape preceder o '%' ou o '_' no padrão, o caractere especial será interpretado literalmente, e não como um caractere de correspondência de padrão especial.

Esse parâmetro é opcional e o valor padrão desse parâmetro é NULL.

Exemplo

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 procedimento também suporta tabelas expostas através de catálogos montados.

DROP_CACHE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.DROP_CACHE elimina o cache do Lake especificado. Este procedimento elimina o cache e libera o espaço de armazenamento associado ao cache.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

Observação do Uso

  • A eliminação de um cache remove seus metadados do dicionário de dados e exclui todos os dados armazenados no cache.

DROP_FILE Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.DROP_FILE elimina o arquivo especificado de um cache do Lake.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
file_url Especifica o URL do arquivo.

Exemplo

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 procedimento também suporta tabelas expostas através de catálogos montados.

Ativar procedimento

O procedimento DBMS_EXT_TABLE_CACHE.ENABLE ativa um cache do Lake desativado anteriormente. Quando um cache é criado, ele é ativado por padrão.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

Função GET_AVAILABLE_QUOTA

Use a função DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA para recuperar a cota de cache restante disponível para um esquema ou para um cache de tabela externa específico.

Sintaxe

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 Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome de tabela externa. Se table_name for NULL, a função retornará informações de cota para o esquema.
no_cache Retorna TRUE quando nenhuma cota de cache está disponível.
total_quota Retorna a cota total disponível para o esquema ou cache.

Valor de Retorno

Retorna a cota disponível restante.

Exemplos

Exemplo para verificar a cota disponível para um 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;
/

Exemplo para verificar a cota disponível para um cache de tabela externa específico:

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

Função GET_GLOBAL_CACHE_QUOTA

Use a função DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA para recuperar a cota de cache global resolvida.

Sintaxe

DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA
RETURN NUMBER;

Valor de Retorno

Retorna a cota de cache global resolvida com base em GLOBAL_CACHE_SIZE e GLOBAL_CACHE_PERCENT.

Observações de Uso

  • Se GLOBAL_CACHE_SIZE e GLOBAL_CACHE_PERCENT forem definidos, o valor maior será usado.

  • Se nenhuma propriedade de cota global for definida explicitamente, o padrão de GLOBAL_CACHE_PERCENT será 20.

Exemplo

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

Função GET_USER_PROPERTY

A função retorna a preferência de armazenamento em cache para o esquema especificado e retorna um Number.

MAX_CACHE_SIZE e MAX_CACHE_PERCENT são controles de cota no nível do esquema dentro do modelo de cota global.

Sintaxe

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

RETURN NUMBER;

Parâmetros

Parâmetro Descrição
property_name

Especifica o nome da propriedade.

Estes são os valores válidos para property_name:

  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

owner Especifica o nome do esquema.

Valores de Retorno

Valor de Retorno Descrição
O valor MAX_CACHE_SIZE ou MAX_CACHE_PERCENT em Number. Dependendo do parâmetro property_name, a função retorna o valor MAX_CACHE_SIZE ou MAX_CACHE_PERCENT.

Observações de Uso

  • Quando a cota do cache global é conhecida, o MAX_CACHE_PERCENT se baseia na cota global resolvida. Caso contrário, será baseado na cota de tablespace do esquema ou cache.

  • Se MAX_CACHE_SIZE e MAX_CACHE_PERCENT forem definidos, o valor maior será usado.

  • Se nenhuma propriedade de cota no nível do esquema for definida explicitamente, o padrão de MAX_CACHE_PERCENT será 20.

  • Caches manuais e caches AUTO consomem o mesmo pool de cotas.

Exemplo

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

Procedimento REFRESH_TABLE

O procedimento DBMS_EXT_TABLE_CACHE.REFRESH_TABLE exclui dados armazenados em cache para qualquer arquivo que não exista mais e carrega os arquivos novos ou recém-modificados.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.

Exemplo

Este exemplo atualiza os dados armazenados no cache para a tabela STORE_SALES no esquema SALES.

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

RETIRE_FILES Procedimento

O DBMS_EXT_TABLE_CACHE.RETIRE_FILES elimina arquivos do cache que são mais antigos que o intervalo especificado. Os arquivos são excluídos com base no intervalo de tempo calculado usando o valor do parâmetro BEFORE.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
before O parâmetro before aceita um valor INTERVAL DAY TO SECOND e é usado para calcular o intervalo de tempo entre o valor before e o timestamp atual. O intervalo de tempo resultante é então usado para excluir os arquivos do cache.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.

SET_USER_PROPERTY Procedimento

O procedimento DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY define a preferência de armazenamento em cache para um esquema.

Use MAX_CACHE_SIZE e MAX_CACHE_PERCENT para definir preferências de cota no nível do esquema para caches baseados em política.

Sintaxe

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

Parâmetros

Parâmetro Descrição
property_name

Especifica o nome da propriedade.

Estes são os valores válidos para property_name:

  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

property_value Especifica o valor da propriedade.
owner Especifica o nome do esquema.

Observações de Uso

  • Quando a cota do cache global é conhecida, o MAX_CACHE_PERCENT se baseia na cota global resolvida. Caso contrário, será baseado na cota de tablespace do esquema ou cache.

  • Se MAX_CACHE_SIZE e MAX_CACHE_PERCENT forem definidos, o valor maior será usado.

  • Se nenhuma propriedade de cota no nível do esquema for definida explicitamente, o padrão de MAX_CACHE_PERCENT será 20.

  • Se MAX_CACHE_SIZE for definido como maior que GLOBAL_CACHE_SIZE, o banco de dados gerará um erro.

  • Caches manuais e caches AUTO consomem o mesmo pool de cotas.

Exemplo

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

Procedimento VALIDATE

O procedimento DBMS_EXT_TABLE_CACHE.VALIDATE valida o cache do Lake. Um erro será reportado se a tabela de origem referenciada não for encontrada no banco de dados.

Sintaxe

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

Parâmetros

Parâmetro Descrição
owner Especifica o nome do esquema.
table_name Especifica o nome da tabela de origem. A tabela de origem pode ser uma tabela externa ou uma tabela exposta por meio de um catálogo montado.
raise_errors Informa quando um cache do Lake é marcado como inválido.

Exemplo

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

Este procedimento também suporta tabelas expostas através de catálogos montados.