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 ' Esse parâmetro é opcional e o valor padrão desse parâmetro é |
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 |
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_LIKEignora 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
forcepara 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 |
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_FILEignora 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
forcepara 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 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 é |
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_FILESignora 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
forcepara 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 |
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_TABLEtenta armazenar em cache toda a tabela ou uma porcentagem especificada do conteúdo do arquivo no cache. -
Os parâmetros
percent_fileseforcesão mutuamente exclusivos. -
Por padrão, o procedimento
DBMS_EXT_TABLE_CACHE.ADD_TABLEignora 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
forcepara 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
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_CACHEcria 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.DISABLEnã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 ' Esse parâmetro é opcional e o valor padrão desse parâmetro é |
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_SIZEeGLOBAL_CACHE_PERCENTforem definidos, o valor maior será usado. -
Se nenhuma propriedade de cota global for definida explicitamente, o padrão de
GLOBAL_CACHE_PERCENTserá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
|
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_PERCENTse baseia na cota global resolvida. Caso contrário, será baseado na cota de tablespace do esquema ou cache. -
Se
MAX_CACHE_SIZEeMAX_CACHE_PERCENTforem 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_PERCENTserá20. -
Caches manuais e caches
AUTOconsomem 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_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_PERCENTse baseia na cota global resolvida. Caso contrário, será baseado na cota de tablespace do esquema ou cache. -
Se
MAX_CACHE_SIZEeMAX_CACHE_PERCENTforem 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_PERCENTserá20. -
Se
MAX_CACHE_SIZEfor definido como maior queGLOBAL_CACHE_SIZE, o banco de dados gerará um erro. -
Caches manuais e caches
AUTOconsomem 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.