Gerenciamento de fluxos

Este tópico descreve as tarefas administrativas associadas ao gerenciamento de fluxos.

Neste tópico:

Habilitação do rastreamento de alterações em exibições e tabelas subjacentes

Para que os usuários possam consultar os dados de alteração de uma exibição, o rastreamento de alterações deve ser habilitado na exibição e tabelas subjacentes.

Somente o proprietário do objeto (ou seja, a função com o privilégio OWNERSHIP) em uma determinada exibição ou tabelas subjacentes pode permitir o rastreamento de alterações.

As seguintes opções estão disponíveis para permitir o rastreamento de alterações:

  1. Criar um fluxo na exibição usando a função de proprietário da exibição. Esta ação permite o rastreamento das alterações na exibição.

    Se a mesma função também for proprietária das tabelas subjacentes, o rastreamento de alterações também é habilitado nas tabelas. Caso contrário, o proprietário da tabela deve permitir explicitamente o rastreamento das alterações nas tabelas. Para estas etapas, consulte Habilitação explícita do rastreamento de alterações em tabelas subjacentes (neste tópico).

  2. Permitir explicitamente o rastreamento de alterações na exibição e nas tabelas. Para instruções, consulte as demais instruções nesta seção.

Habilitação explícita do rastreamento de alterações em exibições

Defina o parâmetro CHANGE_TRACKING ao criar uma exibição (usando CREATE VIEW) ou mais tarde (usando ALTER VIEW).

Observe que o rastreamento de alterações também deve ser explicitamente habilitado nas tabelas subjacentes para uma exibição. Para instruções, consulte Habilitação explícita do rastreamento de alterações em tabelas subjacentes (neste tópico).

Por exemplo, crie uma exibição segura no esquema atual que seleciona um subconjunto de linhas a partir de uma tabela:

CREATE SECURE VIEW v CHANGE_TRACKING = TRUE AS SELECT col1, col2 FROM t;
Copy

Por exemplo, modifique uma exibição existente para permitir o rastreamento de alterações:

ALTER VIEW v2 SET CHANGE_TRACKING = TRUE;
Copy

Habilitação explícita do rastreamento de alterações em tabelas subjacentes

Importante

Ao criar ou alterar uma exibição para especificar CHANGE_TRACKING, os objetos de banco de dados dependentes associados são automaticamente atualizados para permitir o rastreamento de alterações. Durante a operação, os recursos subjacentes são bloqueados, o que pode causar latência para operações DDL/DML. Para obter mais informações, consulte Bloqueio de recursos.

Se o usuário que executa a instrução não tiver especificado uma função com permissões suficientes (OWNERSHIP), a instrução falhará, os objetos subjacentes de banco de dados não serão atualizados e os bloqueios serão liberados.

Defina o parâmetro CHANGE_TRACKING ao criar uma tabela (usando CREATE TABLE) ou mais tarde (usando ALTER TABLE).

Por exemplo, para criar uma tabela no esquema atual:

CREATE TABLE t (col1 STRING, col2 NUMBER) CHANGE_TRACKING = TRUE;
Copy

Por exemplo, para modificar uma tabela existente para permitir o rastreamento de alterações:

ALTER TABLE t1 SET CHANGE_TRACKING = TRUE;
Copy

Importante

Ao criar ou alterar uma TABLE para especificar CHANGE_TRACKING, a tabela é bloqueada pela duração da operação, o que pode causar latência para as operações DML. Para obter mais informações, consulte Bloqueio de recursos.

Como evitar a desatualização de um fluxo

Para evitar que um fluxo se torne desatualizado, recomendamos que você consuma regularmente os dados de alteração antes do carimbo de data/hora STALE_AFTER (ou seja, dentro do período de retenção de dados estendido para o objeto de origem).

Para visualizar o período de retenção de dados para um fluxo, execute o comando DESCRIBE STREAM ou SHOW STREAMS. O carimbo de data/hora da coluna STALE_AFTER indica quando o fluxo está atualmente previsto para se tornar desatualizado (ou quando se tornou desatualizado, se o carimbo de data/hora estiver no passado). Este carimbo de data/hora é calculado adicionando o maior valor da configuração dos parâmetros DATA_RETENTION_TIME_IN_DAYS ou MAX_DATA_EXTENSION_TIME_IN_DAYS para o carimbo de data/hora atual. Observe que, se o carimbo de data/hora estiver no passado, o fluxo já pode estar desatualizado. A coluna STALE também indica se é esperado que o fluxo esteja desatualizado, embora o fluxo possa ainda não estar desatualizado.

Consumir os dados de alteração para um fluxo faz avançar o carimbo de data/hora STALE_AFTER.

Para obter mais informações, consulte Período de retenção de dados e desatualização.

Visualização e gerenciamento de fluxos em Snowsight

Para visualizar e gerenciar um fluxo em Snowsight, faça o seguinte:

  1. Entre em Snowsight.

  2. Selecione Data » Databases.

  3. Para um banco de dados e esquema específicos, selecione Streams e selecione o fluxo que deseja gerenciar.

Ao visualizar o fluxo no Snowsight, você pode fazer o seguinte: