quarta-feira, 13 de janeiro de 2010

Monitorando Crescimento da Base de Dados

Olá pessoal, como foram de festas ? Espero que tenham passado muitíssimo bem.

Mais um ano se inicia e dinovo estamos aqui na busca do aprimoramento de nossos conhecimentos, sempre nos preocupando em compartilhar com o maior número de pessoas possíveis, afim de proporcionar maior integração e prestigio a nossa tão crescente área.

Mas vamos ao Post então? Hoje vou conversar com vocês sobre uma das atribuições mais triviais do DBA, que é monitorar o crescimento da sua base de dados.

COMO PODEMOS FAZER ISSO?

Esse será o tema deste artigo, e trataremos de uma das inúmeras maneiras de se fazer este acompanhamento da base de dados bem de perto.

LOCALIZANDO O “VILÃO”

Bem, como dito acima essa é mais uma das tantas atribuições que os DBA’s de toda empresa tem como tarefa do seu dia-a-dia, a monitoração de seu Banco de Dados , consiste em várias tarefas direcionadas de várias maneiras diferentes.

Aqui mostraremos como detectar um determinado usuário de banco ( owner ), possa estar consumindo mais espaço em disco do que o devido.

PORQUE ISSO OCORRE?

Bom questionamento este, via de regra as empresas sempre tem “N” projetos novos em andamento, muitos deles são melhorias, acertos em determinadas regras de negócios, etc e tal, e é em virtude dessas “pequenas” intervenções que ocorrem os “desperdícios”.

QUAIS SÃO ESSES DESPERDICIOS?

No decorrer dos projetos , são criadas algumas tabelas , que variam deste TEMPORARIAS que depois se tornam PERMANENTES até aquelas que são criadas apenas para dar suporte em um processo (Tabelas de Backup, Tabelas com Configurações paralelas, etc) todos esses objetos que poderiam ser descartados depois, contribuem para um crescimento desordenado do seu banco de dados, são os famosos “LIXOS DIGITAIS”, coisas que não tem mais utilidades, mas que porem ninguém os apaga ou pede para que sejam apagados após os projetos terminados.

É por essa razão que o DBA deve ficar de olho sempre, para não “pecar”, e acabar pedindo a sua gerencia uma aprovação de compra de Discos novos para o Server de Banco, quando na verdade havia espaço suficiente, mas estava sendo ocupado por todo esse arcabouço de lixo.

Este script pode ajudalos a verificar melhor esse crescimento.

Veja :

Script:
=====

select
owner,
round((byte_count/1024/1024),2) “space|used|Mb”,
round(100*(byte_count/tot_bytes),2) “pct|of|Database”
from
(select owner,
sum(bytes) as byte_count
from sys.dba_segments
where segment_type not in (‘TEMPORARY’,’CACHE’)
group by owner
order by 2 desc),
(select sum(bytes) as tot_bytes
from sys.dba_segments);

Output do Script :
==================






Note acima que esta em ordem decrescente, onde a segunda coluna nos mostra a porcentagem que esta sendo ocupada por aquela conta de usuário (Owner), caso ela esteja muito grande, vale a pena fazer alguns selects de verificação para localizar possíveis objetos que poderiam ser descartados sem prejudicar a saúde do seu banco, o que contribuiria para uma melhor performance de seu Banco bem como uma utilização limpa e correta do espaço em disco. Fique de olho!!!...

Bem é isso pessoal, espero que tenham apreciado este primeiro post de 2010, e boa sorte a todos neste ano, continuem estudando Oracle e outras tecnologias também.

Um abraço á todos!!!