Trabalhar com arquivos de registros que refazem o banco de dados da Oracle

O Datastream extrai eventos de captura de dados alterados (CDC) dos arquivos de registro de redo do Oracle para replicar as alterações do banco de dados de origem no destino. Os bancos de dados Oracle registram todas as transações em arquivos de redo log on-line e arquivam esses arquivos quando o arquivo de registro atual é alternado. É possível escolher como o Datastream acessa os arquivos de redo log e configurar o tamanho do arquivo de registro e a frequência de rotação para reduzir a latência de replicação.

Acessar arquivos de redo log

O Datastream pode usar a API Oracle LogMiner ou o método de leitor binário para acessar os arquivos de registro de redo log:

  • Oracle LogMiner: um utilitário pronto para uso incluído nos bancos de dados Oracle. Se você configurar o Datastream para usar a API Oracle LogMiner, ele só poderá trabalhar com arquivos de registro de redo arquivados. Arquivos de registro de redo on-line não são compatíveis. O método da API LogMiner é de linha de execução única e está sujeito a uma latência maior e uma capacidade de processamento menor ao trabalhar com bancos de dados de origem com um grande número de transações. O LogMiner é compatível com a maioria dos tipos de dados e recursos do banco de dados Oracle.

  • Leitor binário (pré-lançamento): um utilitário especializado de alto desempenho que funciona com arquivos de redo log on-line e arquivados. O leitor binário pode acessar os arquivos de registro usando o Gerenciamento automático de armazenamento (ASM, na sigla em inglês) ou lendo os arquivos diretamente usando objetos de diretório do banco de dados. O leitor binário é multithread e oferece suporte à CDC de baixa latência. Ele também cria um baixo impacto no banco de dados de origem, já que os redo logs são analisados fora das operações do banco de dados. O método CDC do leitor binário tem suporte limitado para determinados tipos de dados ou recursos. Para mais informações, consulte Limitações conhecidas.

Definir parâmetros de configuração para arquivos de redo log do Oracle

Ao usar o método CDC do LogMiner, esse design tem implicações profundas na latência potencial do Datastream. Como o LogMiner só lê arquivos de registro arquivados, se os arquivos de redo log do Oracle forem trocados com frequência ou mantidos em um tamanho menor (por exemplo, < 256 MB), o Datastream poderá replicar as mudanças mais rapidamente. Isso não se aplica ao método de leitor binário, que lê ativamente os arquivos de redo log on-line.

Existem parâmetros de configuração que você pode definir para controlar a frequência de rotação do arquivo de registros:

  • Tamanho: os arquivos de redo log on-line têm um tamanho mínimo de 4 MB, e o tamanho padrão depende do seu sistema operacional. Para modificar o tamanho dos arquivos de registros, crie novos arquivos de registros on-line e solte os mais antigos.

    Para encontrar o tamanho dos arquivos de redo log on-line, execute a seguinte consulta:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • Tempo: o parâmetro ARCHIVE_LAG_TARGET fornece um limite superior de quanto tempo (em segundos) o registro atual do banco de dados primário pode abranger.

    Esse não é o horário exato da alternância do registro, pois considera o tempo necessário para arquivar o registro. O valor padrão é 0 (sem limite superior), e um valor razoável de 1800 (ou 30 minutos) ou menos é sugerido.

    Use os seguintes comandos para definir o parâmetro ARCHIVE_LAG_TARGET durante a inicialização ou enquanto o banco de dados está ativo:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Esse comando exibe o número de segundos de duração do registro atual.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Use este comando para alterar o limite superior.

      Por exemplo, para definir o limite máximo como 10 minutos (ou 600 segundos), insira ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;.

A seguir