Pular para o conteúdo

Como Configurar a Retenção do UNDO no Oracle para Otimizar a Eficiência e Integridade do Banco de Dados

Retenção Garantida: Um Voo Sem Atrasos

No cenário dinâmico da administração de bancos de dados, a retenção adequada das informações de transações é um aspecto vital para manter a operação suave e sem interrupções. A “Retenção do Undo” é uma configuração que pode fazer toda a diferença, permitindo que os DBAs controlem o período em que as transações não finalizadas são mantidas no sistema.

Neste artigo, discutiremos como utilizar a visualização V$UNDOSTAT para analisar o tempo de retenção ideal e implementar estratégias que otimizem o desempenho do seu banco de dados Oracle. Ao final, você terá uma compreensão clara de como as decisões sobre a Retenção do Undo podem influenciar não apenas a integridade dos dados, mas também a eficiência operacional geral do seu ambiente de banco de dados.

Gostaria de chamar a atenção para a consulta apresentada abaixo. Ela armazena informações sobre o tempo de retenção ideal para cada hora das atividades do banco de dados nos últimos dias. Os dados estão refletindo apenas o dia 15.

V$UNDOSTAT

Quando falamos sobre a retenção do UNDO no Oracle Database, podemos pensar em um aeroporto bem organizado. Imagine que cada transação não finalizada é como um passageiro aguardando para embarcar. Assim como um aeroporto garante que todos os passageiros estejam prontos e disponíveis até o momento do embarque, a retenção do UNDO assegura que as informações necessárias para finalizar transações permaneçam acessíveis.

A “retention guarantee” atua como o sistema de check-in de um aeroporto, que assegura que os passageiros não serão deixados para trás. Se o banco de dados estiver configurado corretamente, ele poderá suportar operações contínuas, garantindo a integridade dos dados e evitando interrupções.

Assim, ao otimizar a retenção do UNDO, você garante que seu ambiente de banco de dados opere com a mesma eficiência de um aeroporto onde os voos decolam pontualmente.

Se repararem, ele nos mostra claramente a retenção de dados, o que é crucial para nossa análise de desempenho. Vamos dar uma olhada nos números e entender como isso pode nos ajudar a otimizar nossas operações.

Podemos pensar em um aeroporto bem organizado. Imagine que cada transação não finalizada é como um passageiro aguardando para embarcar. Assim como um aeroporto que todos os passageiros precisam fazer o checkin  Esse é o seu “tempo de revisão”, onde se e garanta que tudo fique em ordem.

No banco de dados, o tuned_undoretention funciona como esse tempo de revisão. Ele indica quanto tempo as “aeronaves” (transações não finalizadas) devem ser mantidas disponíveis para correção. O comando acima mostra esse tempo de retenção para as últimas transações.

Com um valor de 900 segundos (ou 15 minutos), você diz: “Quero redefinir meu acento, deciso despachar minha bagagem de mão”. As linhas que você vê representam momentos em que pode decidir reorganizar algo.

Atualmente, o período de retenção está configurado para 900 segundos, um valor pré determinado pelo banco de dados. Esse ajuste é conforme as necessidades do sistema.

O tamanho da tablespace também é importante. A configuração atual é reduzida e, se você adicionar mais dois datafiles, isso pode mudar o comportamento do banco de dados.

Sabendo que é possível vamos realizar alguns ajustes nestes parâmetros.

ALTER SYSTEM SET UNDO_RETENTION = 2400
SQL
ALTER SYSTEM SET UNDO_RETENTION = 2400;

Feita a alteração de 900 para 2400, podemos passar para o próximo passo, que visualizar qual é o estado atual do banco.

SELECT TABLESPACE_NAME, RETENTION FROM DBA_TABLESPACES
SQL
SELECT TABLESPACE_NAME, RETENTION FROM DBA_TABLESPACES WHERE CONTENTS='UNDO';

Esse comando consulta a visualização DBA_TABLESPACES para identificar os tablespaces do tipo UNDO no banco de dados e suas configurações de retenção.

NOGUARANTEE: Imagine o porão de cargas de um avião, onde é feita uma relação de todos os passageiros para estimar o número de bagagens que será despachado. No entanto, devido a um regulamento rígido, se algum passageiro apresentar uma bagagem extra, será impedido de despachá-la, já que a estimativa de bagagens não poderá acomodar essa bagagem adicional. À primeira vista, isso pode parecer estranho, mas essa regra rígida garante que todos os passageiros que não têm bagagens extras tenham espaço garantido para despachar suas malas.

Essa abordagem é útil para evitar o desperdício de espaço, mas significa que você não pode contar com a disponibilidade de todos os registros anteriores.

Aqui no laboratório, vou usar minha liberdade para alterar este parâmetro para GUARANTEE.

ALTER TABLESPACE UNDOTBS1 RETENTION GUARANTEE
SQL
ALTER TABLESPACE UNDOTBS1 RETENTION GUARANTEE;

A questão da garantia de retenção do UNDO varia significativamente de ambiente para ambiente. Se você possui um sistema bem dimensionado, com o tempo de retenção ajustado adequadamente, a probabilidade de enfrentar problemas relacionados ao LOCK de UNDO diminui consideravelmente, permitindo que a garantia de retenção seja aplicada sem preocupações.

Por outro lado, se sua TABLESPACE ainda não estiver otimizada durante o processo de ajuste do UNDO, o mais recomendável é não garantir a retenção. Essa abordagem evita que transações falhem devido à falta de espaço ou ao excesso de concorrência.

Assim, a decisão de garantir ou não a retenção do UNDO deve ser cuidadosamente avaliada, considerando as particularidades do ambiente e as necessidades específicas do negócio.

Tercio Haring

Tercio Haring

Tércio Haring é pai do Max e um entusiasta incansável de TI. Sua paixão pelo próximo o levou a ser socorrista, sempre pronto para ajudar. No universo da tecnologia, seu objetivo vai além de simplesmente compartilhar conhecimento; ele busca manter sua mente conectada ao futuro e abraçar os desafios como oportunidades disfarçadas. Escreve com o objetivo de tornar o complexo mundo dos bancos de dados mais acessível e compreensível, sempre com um toque de humor para tornar a jornada mais leve e divertida. Se você procura insights valiosos, explicações claras e, claro, algumas boas risadas, Tércio é a pessoa certa para te guiar. Junte-se a ele para explorar, aprender e crescer nesse vasto e fascinante universo Oracle!

Prestigie o autor e deixe o seu comentário:

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Marcações: