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

O Database Migration Service usa a API Oracle LogMiner, que faz parte do Oracle Database, para consultar arquivos de registro de redo log arquivados. Esses arquivos contêm informações sobre o histórico de atividades em um banco de dados. Cada banco de dados Oracle tem um conjunto de arquivos de redo log on-line. Todos os registros de transações no banco de dados são salvos nos arquivos.

Quando o arquivo de redo log atual é alternado, o processo de arquivamento copia esse arquivo para um armazenamento de arquivo. Enquanto isso, o banco de dados promove outro arquivo para servir como o arquivo atual.

Quando o Database Migration Service usa a API Oracle LogMiner, ele não acessa os arquivos de redo log on-line, mas funciona apenas com os arquivos de registro arquivados. O acesso aos arquivos de redo log arquivados adiciona alguma latência ao processo de migração. Nesta página, descrevemos a configuração sugerida para que os bancos de dados de origem do Oracle controlem o impacto da latência.

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

Esse design tem implicações profundas na latência potencial do Database Migration Service. Se os arquivos de redo log do Oracle forem trocados com frequência ou mantidos em um tamanho menor (por exemplo, < 256 MB), o Database Migration Service poderá replicar as alterações mais rapidamente.

É possível definir parâmetros de configuração para controlar a frequência de rotação do arquivo de registro:

  • 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. É possível modificar o tamanho dos arquivos de registro criando novos arquivos de registro on-line e descartando 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 máximo de tempo (em segundos) que o registro atual do banco de dados principal pode abranger.

    Esse não é o horário exato da troca de registro, porque ele 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 comandos a seguir para definir o parâmetro ARCHIVE_LAG_TARGET durante a inicialização ou enquanto o banco de dados estiver ativo:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Esse comando mostra quantos segundos o registro atual vai levar para ser gerado.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Use este comando para alterar o limite superior.

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