A idéia desse artigo é mostrar para vocês uma outra maneira interessante de coletar informações sobre sua instância e seus bancos de dados. O DB2 tem uma série de utilitários importantes que te ajudam nessa missão, mas o enfoque é utilizar essa “feature” que foi englobada ao DB2 a partir da versão 9 do produto.

Com essas informações podemos montar ótimos relatórios, além de que se bem aproveitadas temos informações históricas, capacity planing e uma boa “arma” para monitorar o banco de dados.

Como fazemos para listar essas views? Simples! Abaixo vamos mostrar o processo.

 

1)      VAMOS LISTAR NOSSOS BANCOS DE DADOS PRIMEIRO COM O COMANDO DB2 LIST DB DIRECTORY.

2)      VAMOS CONECTAR NO NOSSO BANCO DE DADOS COM O COMANDO DB2 CONNECT TO <DATABASE NAME>.

Nesse caso estou utilizando o DB2 9.7 com seu último fix pack. As novas versões do DB2 (10.1 e 10.5) englobam novas views administrativas.

 

3)      DEPOIS DE CONECTADO NO BANCO DE DADOS VAMOS LISTAR AS VIEWS COM O COMANDO DB2 LIST TABLES FOR SCHEMA SYSIBMADM. NESTE CASO ABAIXO VOU UTILIZAR O COMANDO MORE PARA LISTAR AOS POUCOS.

Uma outra forma de trazer o nome dessas views é fazendo um select na SYSCAT.TABLES com o comando: db2 "select substr(tabname,1,40) as table_name from syscat.tables where tabschema = 'SYSIBMADM'"

4)      DEPOIS DE LISTA-LAS, PRECISAMOS VER O CONTEÚDO DE CADA VIEW. ISSO É POSSÍVEL COM O COMANDO DB2 “DESCRIBE TABLE SYSIBMADM.<NOME DA VIEW/TABELA>”

Cada view tem uma série de colunas que trazem informações importantes. Quando usamos no nosso dia a dia já sabemos o que buscar e aonde buscar

 

Depois de passar pra vocês um overview básico de como listar e etc, agora vamos dar alguns exemplos do nosso dia a dia utilizando essas views.

 

  • Se precisamos de informações de backup, podemos utilizar a SYSIBMADM.DB_HISTORY. No exemplo abaixo estou listando os backups de 1 mês:
  •  Quer saber quais são as 10 tabelas maiores, podemos utilizar a SYSIBMADM.ADMINTABINFO.
  • Quer saber se existe alguma operação de reorg em stop, pause ou completo. Utilize a SYSIBMADM.SNAPTAB_REORG. Com ela conseguimos trazer em qual fase está o reorg também.
  • Como saber o tamanho dos meu containers e com isso mensurar uma taxa de crescimento. Podemos utilizar a SYSIBMADM.CONTAINER_UTILIZATION.
  • Para saber a quantidade de logs archives (LOGARCMETH1) gerados em 1 mês, também podemos utilizar a SYSIBMADM.DB_HISTORY.

Pessoal, as queries acima são exemplos de como podemos utilizar de maneira dinâmica os dados. Essas views guardam os dados desde o último stop/start da instância.

 

Saiba mais em: http://public.dhe.ibm.com/ps/products/db2/info/vr105/pdf/en_US/DB2AdminRoutinesViews-db2are1050.pdf

Rafael Balaguer é DBA DB2 LUW Sênior na empresa UOL DIVEO, em São Paulo capital. Certificações: IBM Certified DBA – DB2 10.1 for LUW / IBM Certified Database Associate – DB2 10.1 Fundamentals / IBM Certified Database Associate – DB2 9 Fundamentals / IBM Information Management DB2 Technical Professional v2 / IBM Certified System Administrator – AIX 7IBM Certified Operator – AIX 6.1 Basic OperationsIBM Certified Specialist – System x Technical Fundamentals V11ITIL V3 FoundationMCTS Implementation and Maintenance – SQL Server 2008MCITP Database Administrator – SQL Server 2008