Retenção de logs redo arquivados - Amazon Relational Database Service

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 na documentação da Oracle.

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

name

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 archivelog retention hours.

value

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.