Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

11/19/2013

Monitorando Espaço no Informix


Para qualquer DBAo monitoramento do espaço nos bancos é de fundamental importância. Se o mesmo não for monitorado de forma correta, as aplicações e usuários que conectam no banco dados poderão se deparar com problemas de falta de espaço em algum momento.

Ocorrência de falta de espaço demonstra uma falha grave no monitoramento do banco de dados. A não ser que algo totalmente repentino e inesperado ocorra, este tipo de situação é inadmissível em um ambiente de produção. Muitos DBA checam na manhã o espaço disponível, não anotam e não sabem quando espaço foi utilizado por por dia, na semana ou no mês, para resolver este problema criei um script que roda todos os dias as 6 horas da manhã e que salva em um arquivo essa informação, pra mim foi bom pois além de monitorar o espaço livre/utilizado do banco diariamente tenho uma estatística diária sobre o espaço dos bancos Informix, com essa informação na hora que for pedir mais espaço para o banco eu tenho como provar que o espaço que estou pedindo vai atender por x dias.

Script que monitora os espaços livre e utilizado;
#!/bin/bash

# ===============================================================================================================
# Funcao - Grava em arquivo todo o dia as 08 hs a quantidade utilizada/livre dos dbspace informix
# Autor  - Claudemar Martins de Sá
# Data   - 17/02/2012
# ===============================================================================================================

# Vou usar esses arquivos temporários  
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"

# Pegando os dados dos bancos - espaço livre
dbaccess sysmaster > /dev/null <<+
unload to $LOG1
select current, name dbspace, (nfree/1024/1024*2) Pages_free from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
+
cat $LOG1 | awk -F "|" '{
printf("%-12s - %-11s - %-23s Gb \n",$1,$2,$3)}' >> $LOG2

# Do arquivo temporario pego cada um dos dbspaces e gravo no seu especifico
cat $LOG2 | grep 'rootdbs' >>  /export/home/informix/logs/espaco_banco_livre/rootdbs_livre.out
cat $LOG2 | grep 'sin_dbs' >>  /export/home/informix/logs/espaco_banco_livre/phydbs_livre.out
cat $LOG2 | grep 'sin_dbs' >>  /export/home/informix/logs/espaco_banco_livre/sintegra_livre.out
cat $LOG2 | grep 'ods_dbs' >>  /export/home/informix/logs/espaco_banco_livre/ods_fazenda_livre.out
cat $LOG2 | grep 'faz_dbs' >>  /export/home/informix/logs/espaco_banco_livre/faz_desenv_livre.out
cat $LOG2 | grep 'dw_dbs'  >>  /export/home/informix/logs/espaco_banco_livre/dw_sig_livre.out
cat $LOG2 | grep 'des_dbs' >>  /export/home/informix/logs/espaco_banco_livre/des_dbs_livre.out

# Deletando os arquivos temporarios
rm $LOG1
rm $LOG2

# Vou usar esses arquivos temporarios; 
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"

# Pegando os dados dos bancos - espaço Utilizado
dbaccess sysmaster > /dev/null <<+
unload to $LOG1
select current, name dbspace, (chksize/1024/1024*2 - nfree/1024/1024*2) Pages_used from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
+
cat $LOG1 | awk -F "|" '{
printf("%-12s - %-11s - %-23s Gb \n",$1,$2,$3)}' >> $LOG2

# Do arquivo temporario pego cada um dos dbspaces e gravo no seu especifico
cat $LOG2 | grep 'rootdbs' >>  /export/home/informix/logs/espaco_banco_usado/rootdbs_usado.out
cat $LOG2 | grep 'sin_dbs' >>  /export/home/informix/logs/espaco_banco_usado/sintegra_usado.out
cat $LOG2 | grep 'ods_dbs' >>  /export/home/informix/logs/espaco_banco_usado/ods_fazenda_usado.out
cat $LOG2 | grep 'faz_dbs' >>  /export/home/informix/logs/espaco_banco_usado/faz_desenv_usado.out
cat $LOG2 | grep 'dw_dbs'  >>  /export/home/informix/logs/espaco_banco_usado/dw_sig_usado.out
cat $LOG2 | grep 'des_dbs' >>  /export/home/informix/logs/espaco_banco_usado/desenv_usado.out

# Vou usar esses arquivos temporarios; 
rm $LOG1
rm $LOG2
Resumo dos dbspace da instância que monitoro - tenho o espaço utilizado e espaço livre
-------------------------------------------------------------------------------------------------
19/11/2013                      ***** INFORMIX BASIC SERVICES *****                      15:39:16
-------------------------------------------------------------------------------------------------

Dia                       Banco       Espaco Utilizado
=======================   ==========  ========================================
2013-11-19 06:00:01.692 - sin_dbs     - 640.7025299072265625    Gb 
2013-11-19 06:00:01.692 - ods_dbs     - 486.5484161376953125    Gb 
2013-11-19 06:00:01.692 - faz_dbs     - 231.5858154296875       Gb 
2013-11-19 06:00:01.692 - dw_dbs      - 6.2089385986328125      Gb 
2013-11-19 06:00:01.692 - des_dbs     - 1.3702850341796875      Gb 
2013-11-19 06:00:01.692 - rootdbs     - 19.0632991790771484375  Gb 
=======================   ==========  ========================================

Dia                       Chunck        Espaco Livre
=======================   ===========   ==========================
2013-11-19 06:00:01.546 - rootdbs     - 13.5392856597900390625  Gb 
2013-11-19 06:00:01.546 - sin_dbs     - 400.96478271484375      Gb 
2013-11-19 06:00:01.546 - ods_dbs     - 592.6471710205078125    Gb 
2013-11-19 06:00:01.546 - faz_dbs     - 327.2165374755859375    Gb 
2013-11-19 06:00:01.546 - dw_dbs      - 12.4287567138671875     Gb 
2013-11-19 06:00:01.546 - des_dbs     - 12.609893798828125      Gb 
=======================   ===========   ==========================
Monitoramento dos últimos 29 dias do espaço ocupado do dbspace ods_dbs
2013-10-22 06:00:01.766 - ods_dbs     - 560.0102386474609375    Gb 
2013-10-23 06:00:02.018 - ods_dbs     - 560.0102386474609375    Gb 
2013-10-24 06:00:01.454 - ods_dbs     - 560.0102386474609375    Gb 
2013-10-25 06:00:01.600 - ods_dbs     - 560.3598175048828125    Gb 
2013-10-26 06:00:02.172 - ods_dbs     - 560.4400177001953125    Gb 
2013-10-27 06:00:02.059 - ods_dbs     - 562.7288360595703125    Gb 
2013-10-28 06:00:01.640 - ods_dbs     - 537.0156707763671875    Gb 
2013-10-29 06:00:01.340 - ods_dbs     - 537.0156707763671875    Gb 
2013-10-30 06:00:01.897 - ods_dbs     - 537.2139129638671875    Gb 
2013-10-31 06:00:01.318 - ods_dbs     - 537.2139129638671875    Gb 
2013-11-01 06:00:02.006 - ods_dbs     - 537.2139129638671875    Gb 
2013-11-02 06:00:01.962 - ods_dbs     - 537.5190887451171875    Gb 
2013-11-03 06:00:02.254 - ods_dbs     - 537.5190887451171875    Gb 
2013-11-04 06:00:02.152 - ods_dbs     - 537.5190887451171875    Gb 
2013-11-05 06:00:01.946 - ods_dbs     - 537.5658721923828125    Gb 
2013-11-06 06:00:02.186 - ods_dbs     - 537.5658721923828125    Gb 
2013-11-07 06:00:01.477 - ods_dbs     - 481.62078857421875      Gb 
2013-11-08 06:00:02.297 - ods_dbs     - 481.62518310546875      Gb 
2013-11-09 06:00:02.037 - ods_dbs     - 481.625732421875        Gb 
2013-11-10 06:00:01.994 - ods_dbs     - 506.686309814453125     Gb 
2013-11-11 06:00:02.256 - ods_dbs     - 482.329620361328125     Gb 
2013-11-12 06:00:02.305 - ods_dbs     - 482.4180908203125       Gb 
2013-11-13 06:00:01.798 - ods_dbs     - 482.55438232421875      Gb 
2013-11-14 06:00:01.930 - ods_dbs     - 482.55438232421875      Gb 
2013-11-15 06:00:01.551 - ods_dbs     - 482.568603515625        Gb 
2013-11-16 06:00:01.320 - ods_dbs     - 482.600372314453125     Gb 
2013-11-17 06:00:01.378 - ods_dbs     - 508.42388916015625      Gb 
2013-11-18 06:00:02.054 - ods_dbs     - 482.600372314453125     Gb 
2013-11-19 06:00:01.692 - ods_dbs     - 486.5484161376953125    Gb 
Monitoramento dos últimos 29 dias do espaço livre do dbspace ods_dbs
2013-10-22 06:00:01.578 - ods_dbs     - 519.1853485107421875    Gb 
2013-10-23 06:00:01.937 - ods_dbs     - 519.1853485107421875    Gb 
2013-10-24 06:00:01.177 - ods_dbs     - 519.1853485107421875    Gb 
2013-10-25 06:00:01.550 - ods_dbs     - 518.8357696533203125    Gb 
2013-10-26 06:00:02.058 - ods_dbs     - 518.7555694580078125    Gb 
2013-10-27 06:00:01.786 - ods_dbs     - 516.4667510986328125    Gb 
2013-10-28 06:00:01.490 - ods_dbs     - 542.1799163818359375    Gb 
2013-10-29 06:00:01.293 - ods_dbs     - 542.1799163818359375    Gb 
2013-10-30 06:00:01.860 - ods_dbs     - 541.9816741943359375    Gb 
2013-10-31 06:00:01.229 - ods_dbs     - 541.9816741943359375    Gb 
2013-11-01 06:00:01.956 - ods_dbs     - 541.9816741943359375    Gb 
2013-11-02 06:00:01.908 - ods_dbs     - 541.6764984130859375    Gb 
2013-11-03 06:00:02.197 - ods_dbs     - 541.6764984130859375    Gb 
2013-11-04 06:00:02.038 - ods_dbs     - 541.6764984130859375    Gb 
2013-11-05 06:00:01.890 - ods_dbs     - 541.6297149658203125    Gb 
2013-11-06 06:00:02.138 - ods_dbs     - 541.6297149658203125    Gb 
2013-11-07 06:00:01.339 - ods_dbs     - 597.574798583984375     Gb 
2013-11-08 06:00:02.211 - ods_dbs     - 597.570404052734375     Gb 
2013-11-09 06:00:01.961 - ods_dbs     - 597.569854736328125     Gb 
2013-11-10 06:00:01.885 - ods_dbs     - 572.50927734375         Gb 
2013-11-11 06:00:02.042 - ods_dbs     - 596.865966796875        Gb 
2013-11-12 06:00:02.177 - ods_dbs     - 596.777496337890625     Gb 
2013-11-13 06:00:01.684 - ods_dbs     - 596.641204833984375     Gb 
2013-11-14 06:00:01.821 - ods_dbs     - 596.641204833984375     Gb 
2013-11-15 06:00:01.268 - ods_dbs     - 596.626983642578125     Gb 
2013-11-16 06:00:01.253 - ods_dbs     - 596.59521484375         Gb 
2013-11-17 06:00:01.262 - ods_dbs     - 570.771697998046875     Gb 
2013-11-18 06:00:01.913 - ods_dbs     - 596.59521484375         Gb 
2013-11-19 06:00:01.546 - ods_dbs     - 592.6471710205078125    Gb 

1 comentário:

  1. Um novo recurso do IBM ® Informix® 11.7, facilita muito o gerenciamento de armazenamento. Com essa nova funcionalidade, os DBAs não precisam monitorar o Informix para prever quando um aplicativo pode esgotar o armazenamento. Agora o Informix pode alocar automaticamente o armazenamento a contêineres sempre que um banco de dados precisa de espaço adicional. Neste artigo, saiba como implementar essa funcionalidade.

    Com o recurso de fornecimento de armazenamento, é possível configurar o servidor para que gerencie automaticamente os espaços de armazenamento quando há necessidade de mais espaço. O recurso de fornecimento de armazenamento permite usar o espaço de forma mais efetiva e garante que o espaço seja alocado conforme a necessidade, ao mesmo tempo que reduz os erros de falta de espaço e o tempo necessário para monitorar manualmente o espaço para determinar qual espaço de armazenamento ficará sem espaço e quando isso ocorrerá. Referencia

    O Informix tem uma funcionalidade que gerencia quando falta espaço - é legal mais se você definiu em Raw Device em cada banco (cada um no seu quadrado) quando este recurso cria mais espaço ele cria automaticamente ele cria com Cooked File - no futuro se você quiser organizar os Raw Device e tirar os Cook Files você terá um bom trabalho - por isso é bom ter um controle da quantidade de espaço livre\usado da instancia;

    Sobre os tipos de armazenamento;

    - Raw Device é um tipo especial que é criado pelo UNIX/Linux, proporciona uma melhor performance uma vez que não é montado e o seu controle é independente do UNIX/Linux file system.

    - Cooked File é um arquivo comum que é gerenciado pelo sistema operacional. Enquanto o servidor de banco de dados (IDS) controla o conteúdo do arquivo, faz requisições de I/O para o sistema operacional. Referencia

    ResponderEliminar