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

Durante a captura de dados alterados, o Datastream lê arquivos de redo log da Oracle para monitorar mudanças nos bancos de dados de origem e replicá-las na instância de destino. Cada banco de dados Oracle tem um conjunto de arquivos de registros refazer on-line. Todos os registros de transações no banco de dados são salvos nos arquivos. Quando o arquivo de registros refazer é alternado (ou trocado), o processo copia esse arquivo em um armazenamento. Enquanto isso, o banco de dados promove outro arquivo para servir como o arquivo atual.

O conector Oracle do Datastream extrai eventos de captura de dados alterados (CDC) dos arquivos de redo log da Oracle.

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 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 redo log arquivados. Os arquivos de redo log on-line não são compatíveis. O método da API LogMiner é de linha de execução única e está sujeito a maior latência e menor capacidade de processamento ao trabalhar com bancos de dados de origem de 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évia): um utilitário especializado de alta performance que funciona com arquivos de redo log on-line e arquivados. O leitor binário pode acessar os arquivos 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 ao CDC de baixa latência. Ele também cria um impacto baixo no banco de dados de origem, já que os registros refazer 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 da Oracle

Ao usar o método CDC do LogMiner, esse projeto tem implicações profundas na possível latência do Datastream. Como o LogMiner só lê registros arquivados, se os arquivos de redo log da Oracle forem alternados com frequência ou mantidos em tamanho menor (por exemplo, < 256 MB), o Datastream poderá replicar mudanças mais rapidamente. Isso não se aplica ao método do leitor binário, que lê ativamente 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 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 registros refazer 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