db2

 

No primeiro artigo mostrei como listar e coletar algumas informações.

Hoje vou demonstrar mais exemplos práticos de como coletar essas informações e mostrar a função de algumas delas.

Vou separar por diferentes “áreas”:

 

1)     Variáveis de ambiente

Todos sabemos que uma forma de listar as variáveis de ambientes é com o comando db2set –all, mas podemos usar uma view para isso. A SYSIBMADM.REG_VARIABLES traz essas informações vejam:

db2 "SELECT CURRENT DATE AS DATA,SUBSTR(REG_VAR_NAME,1,45) AS VAR, SUBSTR(REG_VAR_VALUE,1,70) AS VALUE, LEVEL,SUBSTR(AGGREGATE_NAME,1,15) AS AGGREGATE FROM SYSIBMADM.REG_VARIABLES”

var1

 

2)     Permissões

Para trazer informações de quais usuários e grupos que tem algum tipo de privilégio no banco de dados em que você está conectado, utilize a SYSIBMADM.AUTHORIZATIONIDS

db2 "SELECT CURRENT DATE AS DATA,SUBSTR(AUTHID,1,30) AS AUTHID,AUTHIDTYPE FROM SYSIBMADM.AUTHORIZATIONIDS ORDER BY AUTHIDTYPE”

 

perm1

 

 

Uma view interessante para trazer que são os owners dos objetos é a SYSIBMADM.OBJECTOWNERS

 

db2 "SELECT SUBSTR(OWNER,1,10) AS OWNER, OWNERTYPE,SUBSTR(OBJECTNAME,1,30) AS OBJECTNAME, SUBSTR(OBJECTSCHEMA,1,10) AS OBJECTSCHEMA, OBJECTTYPE FROM SYSIBMADM.OBJECTOWNERS WHERE OBJECTSCHEMA='SYSIBMADM'”

 

perm2

 

 

3)     Banco de dados

Se você deseja listar os “paths” do seu banco de dados utilize a view SYSIBMADM.DBPATHS

db2 "SELECT TYPE,SUBSTR(PATH,1,60) AS PATH FROM SYSIBMADM.DBPATHS”

Em um banco de dados sem automatic storage você vai ver os diretórios com os containers:

 

path0

 

Já em um banco com automatic storage você vê os seus storage path’s.

Path1,jpeg

path1

 

Para coletar o tamanho dos seus storage path’s utilize a view SYSIBMADM.SNAPSTORAGE_PATHS

db2 "SELECT DATE(SNAPSHOT_TIMESTAMP) AS DATA,SUBSTR(DB_NAME,1,10) AS DATABASE,SUBSTR(DB_STORAGE_PATH,1,40) AS STORAGE_PATH,(FS_USED_SIZE/2048) AS FS_USED_SIZE_MB,(FS_TOTAL_SIZE/2048) AS FS_TOTAL_SIZE_MB,((FS_TOTAL_SIZE - FS_USED_SIZE)/2048) AS FS_FREE_SIZE_MB,(((FS_TOTAL_SIZE - FS_USED_SIZE) * 100)/ FS_TOTAL_SIZE) AS PCT_FREE FROM SYSIBMADM.SNAPSTORAGE_PATHS"

 

path2

 

 

4)     Tablespaces

Precisa saber quanto que um tablespace DMS cresce diariamente? Utilize a SYSIBMADM.TBSP_UTILIZATION

db2 "SELECT DATE(SNAPSHOT_TIMESTAMP) AS DATA,TBSP_ID ,SUBSTR(TBSP_NAME,1,20) AS TBSP_NAME,TBSP_UTILIZATION_PERCENT,TBSP_TOTAL_SIZE_KB,TBSP_FREE_SIZE_KB,(TBSP_TOTAL_SIZE_KB - TBSP_FREE_SIZE_KB) AS TBSP_USED_SIZE_KB FROM SYSIBMADM.TBSP_UTILIZATION WHERE TBSP_TYPE = 'DMS'”

 

tbsp1

 

 

Para trazer dados, de pagesize, extent, prefetch e file system caching dos seus tablespaces use a SYSIBMADM.SNAPTBSP

tbsp2

 

5)     Bufferpools

Para informações de escrita nos bufferpools utilize a SYSIBMADM.BP_WRITE_IO

Com essas informações em mãos sabemos a quantidade de escritas síncronas e a assíncronas, além do tempo em milissegundos.

db2 "SELECT CURRENT DATE AS DATA,SUBSTR(BP_NAME,1,15) AS BUFFEPOOL,TOTAL_WRITES,TOTAL_ASYNC_WRITES,TOTAL_SYNC_WRITES,PERCENT_WRITES_ASYNC,AVERAGE_SYNC_WRITE_TIME_MS,AVERAGE_ASYNC_WRITE_TIME_MS FROM SYSIBMADM.BP_WRITE_IO”

buff1

 

Para informações de leitura nos buffers a SYSIBMADM.BP_READ_IO

db2 "SELECT SUBSTR(BP_NAME,1,15) AS BUFFEPOOL,TOTAL_PHYSICAL_READS,TOTAL_ASYNC_READS,TOTAL_SYNC_READS, ASYNC_NOT_READ_PERCENT,PERCENT_SYNC_READS,AVERAGE_ASYNC_READ_TIME_MS,AVERAGE_SYNC_READ_TIME_MS FROM SYSIBMADM.BP_READ_IO”

 

buff2

 

No próximo artigo, vou publicar informações importantes para detectar problema de performance em queries.

Até a próxima pessoal!

 

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 Operations / IBM Certified Specialist – System x Technical Fundamentals V11ITIL V3 Foundation / MCTS Implementation and Maintenance – SQL Server 2008 / MCITP Database Administrator – SQL Server 2008