Trabalhar com arquivos de log de refazer do banco de dados Oracle

O Database Migration Service aproveita a API Oracle LogMiner, que faz parte do Oracle Database, para consultar arquivos 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 possui um conjunto de arquivos de redo log online. Todos os registros de transações no banco de dados são registrados nos arquivos.

Quando o arquivo de redo log atual é rotacionado (ou trocado), o processo de arquivamento copia esse arquivo para um armazenamento de arquivamento . Enquanto isso, o banco de dados promove outro arquivo para servir como 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 log arquivados. Acessar arquivos de redo log arquivados adiciona inerentemente alguma latência ao processo de migração. Esta página descreve a configuração sugerida para seus bancos de dados de origem Oracle para controlar 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 alternados com frequência ou mantidos em um tamanho menor (por exemplo, < 256 MB), o Database Migration Service poderá replicar as alterações com mais rapidez.

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

  • Tamanho: os arquivos de redo log on-line têm tamanho mínimo de 4 MB e o tamanho padrão depende do seu sistema operacional. Você pode modificar o tamanho dos arquivos de log criando novos arquivos de log on-line e eliminando os arquivos de log mais antigos.

    Para encontrar o tamanho dos arquivos de redo log online, 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 log atual do banco de dados primário pode abranger.

    Este não é o tempo exato de troca de log, porque leva em consideração quanto tempo levará para arquivar o log. O valor padrão é 0 (sem limite superior) e é sugerido um valor razoável de 1800 (ou 30 minutos) ou menos.

    Você pode usar os seguintes comandos 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; Este comando exibe quantos segundos levará para o log atual abranger.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds ; Use este comando para alterar o limite superior.

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