O Database Migration Service utiliza 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 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 (ou trocado), o processo de arquivamento copia esse arquivo em um Archive Storage. Enquanto isso, o banco de dados promove outro arquivo para servir como o 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 a 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 do 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 tamanho menor (por exemplo, < 256 MB), o Database Migration Service poderá replicar mudanças mais rapidamente.
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. É 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_TARGETfornece 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 alternância do registro, pois considera o tempo necessário para arquivar o registro. O valor padrão é
0(sem limite máximo), e um valor razoável de1800(ou 30 minutos) ou menos é sugerido.Você pode usar 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 abranger.ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds;Use esse comando para mudar o limite máximo.Por exemplo, para definir o limite máximo como 10 minutos (ou 600 segundos), insira
ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;