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:
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”ZGIyICJTRUxFQ1QgVElNRVNUQU1QKFNUQVJUX1RJTUUpIEFTIFNUQVJUX1RJTUUsIFRJTUVTVEFNUChFTkRfVElNRSkgQVMgRU5EX1RJTUUsU1FMQ09ERSxTUUxTVEFURSxOVU1fVEJTUFMsT1BFUkFUSU9OLE9QRVJBVElPTlRZUEUsClNVQlNUUihMT0NBVElPTiwxLDQwKSBBUyBMT0NBVElPTiBGUk9NIFNZU0lCTUFETS5EQl9ISVNUT1JZIFdIRVJFIE9QRVJBVElPTj0nQicgQU5EIFNUQVJUX1RJTUUgPj0gQ1VSUkVOVCBUSU1FU1RBTVAgLSAxIE1PTlRI4oCd” hover_enabled=”0″]ZGIyICJTRUxFQ1QgVElNRVNUQU1QKFNUQVJUX1RJTUUpIEFTIFNUQVJUX1RJTUUsIFRJTUVTVEFNUChFTkRfVElNRSkgQVMgRU5EX1RJTUUsU1FMQ09ERSxTUUxTVEFURSxOVU1fVEJTUFMsT1BFUkFUSU9OLE9QRVJBVElPTlRZUEUsClNVQlNUUihMT0NBVElPTiwxLDQwKSBBUyBMT0NBVElPTiBGUk9NIFNZU0lCTUFETS5EQl9ISVNUT1JZIFdIRVJFIE9QRVJBVElPTj0nQicgQU5EIFNUQVJUX1RJTUUgPj0gQ1VSUkVOVCBUSU1FU1RBTVAgLSAxIE1PTlRI4oCd[/et_pb_dmb_code_snippet]
  •  Quer saber quais são as 10 tabelas maiores, podemos utilizar a SYSIBMADM.ADMINTABINFO.
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”ZGIyICJzZWxlY3Qgc3Vic3RyKFRBQlNDSEVNQSwxLDcpIEFTIFNDSEVNQSxzdWJzdHIoVEFCTkFNRSwxLDIwKSBBUyBUQUJMRSwKKERBVEFfT0JKRUNUX1BfU0laRSArIElOREVYX09CSkVDVF9QX1NJWkUgKyBMT05HX09CSkVDVF9QX1NJWkUgKyBMT0JfT0JKRUNUX1BfU0laRSArIFhNTF9PQkpFQ1RfUF9TSVpFKSBBUyBUT1RBTF9QSFlTWUNBTF9TSVpFX0tCCiwoREFUQV9PQkpFQ1RfTF9TSVpFICsgSU5ERVhfT0JKRUNUX0xfU0laRSArIExPTkdfT0JKRUNUX0xfU0laRSArIExPQl9PQkpFQ1RfTF9TSVpFICsgWE1MX09CSkVDVF9MX1NJWkUpIEFTIFRPVEFMX0xPR0lDQUxfU0laRV9LQgosVEFCVFlQRSxBVkFJTEFCTEUsUkVPUkdfUEVORElORyxJTlBMQUNFX1JFT1JHX1NUQVRVUyxJTkRFWEVTX1JFUVVJUkVfUkVCVUlMRApGUk9NIHN5c2libWFkbS5BRE1JTlRBQklORk8gT1JERVIgQlkgVE9UQUxfUEhZU1lDQUxfU0laRV9LQiBERVNDIEZFVENIIEZJUlNUIDEwIFJPV1MgT05MWeKAnQ==” hover_enabled=”0″]ZGIyICJzZWxlY3Qgc3Vic3RyKFRBQlNDSEVNQSwxLDcpIEFTIFNDSEVNQSxzdWJzdHIoVEFCTkFNRSwxLDIwKSBBUyBUQUJMRSwKKERBVEFfT0JKRUNUX1BfU0laRSArIElOREVYX09CSkVDVF9QX1NJWkUgKyBMT05HX09CSkVDVF9QX1NJWkUgKyBMT0JfT0JKRUNUX1BfU0laRSArIFhNTF9PQkpFQ1RfUF9TSVpFKSBBUyBUT1RBTF9QSFlTWUNBTF9TSVpFX0tCCiwoREFUQV9PQkpFQ1RfTF9TSVpFICsgSU5ERVhfT0JKRUNUX0xfU0laRSArIExPTkdfT0JKRUNUX0xfU0laRSArIExPQl9PQkpFQ1RfTF9TSVpFICsgWE1MX09CSkVDVF9MX1NJWkUpIEFTIFRPVEFMX0xPR0lDQUxfU0laRV9LQgosVEFCVFlQRSxBVkFJTEFCTEUsUkVPUkdfUEVORElORyxJTlBMQUNFX1JFT1JHX1NUQVRVUyxJTkRFWEVTX1JFUVVJUkVfUkVCVUlMRApGUk9NIHN5c2libWFkbS5BRE1JTlRBQklORk8gT1JERVIgQlkgVE9UQUxfUEhZU1lDQUxfU0laRV9LQiBERVNDIEZFVENIIEZJUlNUIDEwIFJPV1MgT05MWeKAnQ==[/et_pb_dmb_code_snippet]
  • 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.
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”ZGIyICJTRUxFQ1QgU1VCU1RSKFRBQk5BTUUsMSwxNSkgQVMgVEFCTEVfTkFNRSxTVUJTVFIoVEFCU0NIRU1BLDEsMTUpIEFTIFRBQkxFX1NDSEVNQSxSRU9SR19TVEFSVCxSRU9SR19FTkQsUkVPUkdfU1RBVFVTLApSRU9SR19QSEFTRSxTVUJTVFIoUkVPUkdfVFlQRSwxLDIwKSBBUyBSRU9SR19UWVBFLFJFT1JHX0lOREVYX0lELFJFT1JHX1RCU1BDX0lECkZST00gU1lTSUJNQURNLlNOQVBUQUJfUkVPUkcgV0hFUkUgUkVPUkdfU1RBVFVTIElOICgnU1RPUFBFRCcsJ1BBVVNFRCcpIE9SREVSIEJZIFJFT1JHX1NUQVRVUyI=” hover_enabled=”0″]ZGIyICJTRUxFQ1QgU1VCU1RSKFRBQk5BTUUsMSwxNSkgQVMgVEFCTEVfTkFNRSxTVUJTVFIoVEFCU0NIRU1BLDEsMTUpIEFTIFRBQkxFX1NDSEVNQSxSRU9SR19TVEFSVCxSRU9SR19FTkQsUkVPUkdfU1RBVFVTLApSRU9SR19QSEFTRSxTVUJTVFIoUkVPUkdfVFlQRSwxLDIwKSBBUyBSRU9SR19UWVBFLFJFT1JHX0lOREVYX0lELFJFT1JHX1RCU1BDX0lECkZST00gU1lTSUJNQURNLlNOQVBUQUJfUkVPUkcgV0hFUkUgUkVPUkdfU1RBVFVTIElOICgnU1RPUFBFRCcsJ1BBVVNFRCcpIE9SREVSIEJZIFJFT1JHX1NUQVRVUyI=[/et_pb_dmb_code_snippet]
  • Como saber o tamanho dos meu containers e com isso mensurar uma taxa de crescimento. Podemos utilizar a SYSIBMADM.CONTAINER_UTILIZATION.
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”ZGIyICJTRUxFQ1QgREFURShTTkFQU0hPVF9USU1FU1RBTVApIEFTIERBVEEsVEJTUF9JRCxTVUJTVFIoVEJTUF9OQU1FLDEsMTUpIEFTIFRCU1BBQ0UsQ09OVEFJTkVSX0lELENPTlRBSU5FUl9JRCxTVUJTVFIoQ09OVEFJTkVSX05BTUUsMSw4MCkgQVMgQ09OVEFJTkVSLApGU19VU0VEX1NJWkVfS0IsKChGU19VU0VEX1NJWkVfS0IgKiAxMDApL0ZTX1RPVEFMX1NJWkVfS0IpIEFTIFBDVF9VU0VEIEZST00gU1lTSUJNQURNLkNPTlRBSU5FUl9VVElMSVpBVElPTiI=” hover_enabled=”0″]ZGIyICJTRUxFQ1QgREFURShTTkFQU0hPVF9USU1FU1RBTVApIEFTIERBVEEsVEJTUF9JRCxTVUJTVFIoVEJTUF9OQU1FLDEsMTUpIEFTIFRCU1BBQ0UsQ09OVEFJTkVSX0lELENPTlRBSU5FUl9JRCxTVUJTVFIoQ09OVEFJTkVSX05BTUUsMSw4MCkgQVMgQ09OVEFJTkVSLApGU19VU0VEX1NJWkVfS0IsKChGU19VU0VEX1NJWkVfS0IgKiAxMDApL0ZTX1RPVEFMX1NJWkVfS0IpIEFTIFBDVF9VU0VEIEZST00gU1lTSUJNQURNLkNPTlRBSU5FUl9VVElMSVpBVElPTiI=[/et_pb_dmb_code_snippet]
  • Para saber a quantidade de logs archives (LOGARCMETH1) gerados em 1 mês, também podemos utilizar a SYSIBMADM.DB_HISTORY.
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”ZGIyICJTRUxFQ1QgREFURShUSU1FU1RBTVAoU1RBUlRfVElNRSkpIEFTIFNUQVJUX0RBVEUsQ09VTlQoKikgQVMgUVREX0xPR1MsIE9QRVJBVElPTlRZUEUgQVMgTE9HX1RZUEUKRlJPTSBTWVNJQk1BRE0uREJfSElTVE9SWQpXSEVSRSBPUEVSQVRJT049J1gnCkFORCBPUEVSQVRJT05UWVBFID0g4oCYMeKAmQpBTkQgREFURShUSU1FU1RBTVAoU1RBUlRfVElNRSkpID49IENVUlJFTlQgREFURSAtIDEgTU9OVEgKR1JPVVAgQlkgREFURShUTUVTVEFNUChTVEFSVF9USU1FKSksIE9QRVJBVElPTlRZUEUgV0lUSCBVUiI=” hover_enabled=”0″]ZGIyICJTRUxFQ1QgREFURShUSU1FU1RBTVAoU1RBUlRfVElNRSkpIEFTIFNUQVJUX0RBVEUsQ09VTlQoKikgQVMgUVREX0xPR1MsIE9QRVJBVElPTlRZUEUgQVMgTE9HX1RZUEUKRlJPTSBTWVNJQk1BRE0uREJfSElTVE9SWQpXSEVSRSBPUEVSQVRJT049J1gnCkFORCBPUEVSQVRJT05UWVBFID0g4oCYMeKAmQpBTkQgREFURShUSU1FU1RBTVAoU1RBUlRfVElNRSkpID49IENVUlJFTlQgREFURSAtIDEgTU9OVEgKR1JPVVAgQlkgREFURShUTUVTVEFNUChTVEFSVF9USU1FKSksIE9QRVJBVElPTlRZUEUgV0lUSCBVUiI=[/et_pb_dmb_code_snippet]

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