Migrei de um Oracle XE local para o Amazon RDS. Ele está sendo executado em um servidor T3.medium com armazenamento gp3 (200 GB/12000 IOPS).
Quase a cada cinco minutos o alert.log diz assim:
"Thread 1 cannot allocate new log, sequence 10209
Checkpoint not complete"
3-4 segundos depois, ele registra outra mensagem:
"Thread 1 advanced to log sequence 10209 (LGWR switch), current SCN: 472780758"
E imediatamente depois disso:
"ARC1 (PID:6427): Archived Log entry 10205 added for B-1189761742.T-1.S-10208 ID 0x7efecf3c1c4d LAD:1 [krse.c:4934]"
Assim:
Lendo sobre a primeira mensagem ("não é possível alocar novo log") parece uma mensagem "ruim". O conselho típico é aumentar o tamanho do arquivo de log de redo. Então adicionei 4 arquivos de log, cada um com 512 Mb. O conselho era remover os arquivos de log antigos (128 Mb cada), mas eles estão quase sempre "ATIVOS", então consegui remover apenas 1. Este é o status atual:
... e ainda recebo a mensagem de erro em alert.log.
O parâmetro archive_lag_target está definido como 300 (5 minutos), então acho que é por isso que ele alterna o arquivo de log a cada cinco minutos. (Não acho que posso alterar essa configuração no RDS.)
Observar as operações de disco na AWS não significa que o disco esteja sob carga muito pesada:
Devo me preocupar com a mensagem "Thread 1 cannot allocate new log..."?
Se sim: qual pode ser o motivo e o que posso fazer a respeito?
Atualização:
Quando emiti um ponto de verificação manual usando:
EXEC rdsadmin.rdsadmin_util.checkpoint;
... ele fez um checkpoint em menos de um segundo e todos os arquivos de log, exceto um, ficaram INATIVOS.
Parece que ele não faz checkpoints automáticos.