Retenção de logs redo arquivados
Você pode reter logs de refazimento arquivados localmente emsua instância de banco de dados para uso com produtos como o Oracle LogMiner (DBMS_LOGMNR
). Depois de ter retido os redo logs, você pode usar o LogMiner para analisar esses logs. Para obter mais informações, consulte Using LogMiner to analyze redo log files
Para reter logs redo arquivados, use o procedimento rdsadmin.rdsadmin_util.set_configuration
do Amazon RDS. Se você usar esse procedimento em uma instância primária no Oracle Data Guard, o RDS alterará a configuração de retenção do log de arquivamento na instância primária e nas réplicas de leitura abertas, mas não nas réplicas montadas. O RDS retém os últimos logs de redo arquivados em réplicas montadas por um curto período. O RDS exclui automaticamente os logs mais antigos baixados para as réplicas montadas.
O procedimento set_configuration
tem os seguintes parâmetros.
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
varchar |
— |
Sim |
O nome da configuração a ser atualizada. Para alterar as horas de retenção do log de redo arquivado, defina o nome como |
|
varchar |
— |
Sim |
O valor para a configuração. Defina o valor como o número de horas para reter os logs. |
O exemplo a seguir retém 24 horas de logs redo.
begin rdsadmin.rdsadmin_util.set_configuration( name => 'archivelog retention hours', value => '24'); end; / commit;
nota
A confirmação é necessária para que a alteração entre em vigor.
Para visualizar por quanto tempo os logs redo arquivados são mantidos para a instância de banco de dados, use o procedimento rdsadmin.rdsadmin_util.show_configuration
do Amazon RDS.
O seguinte exemplo mostra o tempo de retenção do log.
set serveroutput on EXEC rdsadmin.rdsadmin_util.show_configuration;
A saída mostra a definição atual de archivelog retention hours
. A seguinte saída mostra que logs redo arquivados são mantidos por 48 horas.
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
Como os logs redo arquivados são retidos na sua instância de banco de dados, certifique-se de que essa instância tenha armazenamento alocado suficiente para os logs retidos. Para determinar quanto espaço sua instância de banco de dados usou nas últimas X horas, você pode executar a consulta a seguir, substituindo X pelo número de horas.
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes FROM V$ARCHIVED_LOG WHERE FIRST_TIME >= SYSDATE-(
X
/24) AND DEST_ID=1;
O RDS for Oracle apenas gera logs de refazimento arquivados se o período de retenção de backup de sua instância de banco de dados for maior que zero. Por padrão, o período de retenção de backup é maior que zero.
Quando o período de retenção de logs arquivados expira, o RDS for Oracle remove os logs de refazimento arquivados de sua instância de banco de dados. Para oferecer suporte à restauração point-in-time de sua instância de banco de dados, o Amazon RDS retém os logs de refazimento arquivados fora de sua instância de banco de dados com base no período de retenção de backup. Para modificar o período de retenção de backup, consulte Modificar uma instância de banco de dados do Amazon RDS.
nota
Em alguns casos, você pode estar usando o JDBC no Linux para baixar logs redo arquivados e fazer testes com tempos de latência longos e redefinições de conexão. Nesses casos, os problemas podem ser causados pela configuração padrão do gerador de números aleatórios no seu cliente Java. Recomendamos que você configure seus drivers JDBC para usar um gerador de números aleatórios sem bloqueio.