O serviço de migração de base de dados tira partido da API Oracle LogMiner, que faz parte da base de dados Oracle, para consultar ficheiros de registo de refazer arquivados. Estes ficheiros contêm informações sobre o histórico de atividade numa base de dados. Cada base de dados do Oracle tem um conjunto de ficheiros de registo de refazimento online. Todos os registos de transações na base de dados são registados nos ficheiros.
Quando o ficheiro de registo de refazer atual é rodado (ou comutado), o processo de arquivo copia este ficheiro para um armazenamento de arquivo. Entretanto, a base de dados promove outro ficheiro para servir como o ficheiro atual.
Quando o serviço de migração de bases de dados usa a API Oracle LogMiner, não acede aos ficheiros de registo de refazer online, mas funciona apenas com os ficheiros de registo arquivados. O acesso a ficheiros de registo de refazer arquivados adiciona inerentemente alguma latência ao processo de migração. Esta página descreve a configuração sugerida para as bases de dados de origem da Oracle para controlar o impacto da latência.
Defina parâmetros de configuração para ficheiros de registo de repetição do Oracle
Este design tem implicações profundas na potencial latência do serviço de migração de bases de dados. Se os ficheiros de registo de refazer do Oracle forem comutados com frequência ou mantidos com um tamanho inferior (por exemplo, < 256 MB), o Database Migration Service pode replicar as alterações mais rapidamente.
Existem parâmetros de configuração que pode definir para controlar a frequência de rotação do ficheiro de registo:
Tamanho: os ficheiros de registo de refazer online têm um tamanho mínimo de 4 MB e o tamanho predefinido depende do seu sistema operativo. Pode modificar o tamanho dos ficheiros de registo criando novos ficheiros de registo online e eliminando os ficheiros de registo mais antigos.
Para encontrar o tamanho dos ficheiros de registo de refazer online, execute a seguinte consulta:
SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
- Hora: o parâmetro
ARCHIVE_LAG_TARGET
fornece um limite superior de quanto tempo (em segundos) o registo atual da base de dados principal pode abranger.Este não é o momento exato da mudança de registo, porque tem em conta o tempo necessário para arquivar o registo. O valor predefinido é
0
(sem limite superior) e sugere-se um valor razoável de1800
(ou 30 minutos) ou menos.Pode usar os seguintes comandos para definir o parâmetro
ARCHIVE_LAG_TARGET
durante a inicialização ou enquanto a base de dados está ativa:SHOW PARAMETER ARCHIVE_LAG_TARGET;
Este comando apresenta quantos segundos o registo atual vai 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), introduza
ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;