Translate

Mostrar mensagens com a etiqueta display bufferpool. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta display bufferpool. Mostrar todas as mensagens

quarta-feira, 16 de maio de 2018

🔥☕ “O MAINFRAME NÃO ESTÁ LENTO — VOCÊ É QUE NÃO OLHOU O DB2 PELO PAINEL DE COMANDO” 💾🚨

 

Bellacosa Mainframe Painel de Comando do DB2

🔥☕ “O MAINFRAME NÃO ESTÁ LENTO — VOCÊ É QUE NÃO OLHOU O DB2 PELO PAINEL DE COMANDO” 💾🚨

O laboratório definitivo de DB2 Commands para Sysprogs, DBAs e sobreviventes de produção no IBM Z

Existe um momento na vida de todo profissional de Mainframe em que ele percebe uma verdade brutal:

O problema não está no COBOL.
Não está no CICS.
Não está no batch.
Muitas vezes… o DB2 já estava gritando há horas no painel de comandos.

E é exatamente aí que nasce o verdadeiro operador de produção, o DBA raiz e o sysprog veterano.

Porque enquanto muita gente depende:

  • de dashboard web,
  • monitor colorido,
  • ferramenta gráfica,
  • console “moderninho”,

o profissional de IBM Z abre um terminal 3270 e digita:

-DIS THD(*)

E em segundos ele enxerga:

  • travamentos,
  • contenção,
  • deadlocks,
  • pressão de memória,
  • gargalo de I/O,
  • DDF congestionado,
  • utilities presas,
  • aplicações morrendo lentamente.

Tudo isso diretamente no coração do DB2.


💾 O QUE É O DB2 COMMAND FACILITY?

O DB2 Command Facility é o mecanismo operacional do DB2 z/OS usado para:

  • monitoramento,
  • administração,
  • troubleshooting,
  • recovery,
  • tuning,
  • análise de performance.

Ele permite conversar diretamente com o subsystem DB2.

Na prática:

  • você não executa SQL,
  • você conversa com o motor interno do DB2.

É quase como abrir um shell administrativo do banco.


🔥 O PAINEL QUE ASSUSTA INICIANTES… E SALVA PRODUÇÃO

A clássica tela:

DB2 COMMANDS

parece simples.

Mas ela é uma das interfaces mais poderosas do ecossistema IBM Z.

Ali vivem comandos capazes de:

  • parar databases,
  • analisar locks,
  • detectar gargalos,
  • visualizar threads,
  • monitorar DDF,
  • inspecionar bufferpools,
  • acompanhar utilities,
  • identificar problemas de log.

Em ambientes bancários isso significa:

milhões de transações por minuto.


🚨 O PRIMEIRO ERRO QUE TODO MUNDO COMETE

Você digitou:

-DIS

e recebeu:

REQUIRED KEYWORD IS MISSING

Esse erro é quase um ritual de iniciação 😄

O DB2 funciona com estrutura:

-VERBO OBJETO(OPÇÕES)

Exemplo:

ComandoFunção
-DIS THREAD(*)Mostra threads
-DIS DB(*)Mostra databases
-DIS LOGMostra logs
-DIS UTIL(*)Mostra utilities
-DIS DDFMostra Distributed Data Facility

🔥 DISPLAY THREAD — O ELETROCARDIOGRAMA DO DB2

Comando

-DIS THD(*)

ou:

-DIS THREAD(*)

💣 O QUE ELE MOSTRA?

Esse comando revela:

  • conexões ativas,
  • jobs batch,
  • usuários TSO,
  • transações CICS,
  • conexões distribuídas,
  • planos DB2,
  • waits,
  • locks.

É literalmente o “quem está vivo” dentro do DB2.


🚨 O QUE UM SYSPOG PROCURA?

🔥 STATUS=WAIT

Pode indicar:

  • lock contention,
  • deadlock,
  • timeout,
  • gargalo I/O.

🔥 THREADS DDF EXCESSIVAS

Pode indicar:

  • avalanche de conexão distribuída,
  • problema de aplicação Java,
  • pool mal configurado.

🔥 CPU DISPARANDO

Às vezes um único thread:

  • está executando SQL ruim,
  • segurando recurso crítico,
  • consumindo zIIP,
  • causando storm de lock.

💾 DISPLAY DATABASE — A RADIOGRAFIA DO STORAGE LÓGICO

Comando

-DIS DB(*)

ou:

-DIS DB(DBPROD) SP(*)

🔥 O QUE ISSO ENTREGA?

Mostra:

  • status databases,
  • tablespaces,
  • pendências recovery,
  • copy pending,
  • utility pending,
  • read only,
  • stop states.

🚨 STATUS QUE ASSUSTAM DBA

StatusProblema
STOPDatabase indisponível
UTUtility executando
COPYBackup pendente
CHKPCheck pending
RECOVERRecovery necessário

💣 O QUE ISSO SIGNIFICA EM PRODUÇÃO?

Um database em:

STOP

pode derrubar:

  • internet banking,
  • PIX,
  • cartão,
  • ATM,
  • APIs distribuídas.

🔥 DISPLAY DDF — O “PULMÃO” DAS CONEXÕES DISTRIBUÍDAS

Comando

-DIS DDF

💾 O QUE É DDF?

DDF = Distributed Data Facility.

É o componente responsável pelas conexões:

  • JDBC,
  • Java,
  • APIs,
  • microservices,
  • aplicações distribuídas,
  • Linux,
  • cloud.

Ou seja:

praticamente o mundo moderno acessa DB2 via DDF.


🚨 O QUE O SYSPOG ANALISA?

STATUS=STOPD

🔥 Grave.

Significa:

  • aplicações externas perderam conexão.

CONDBAT EXCEDIDO

Pode indicar:

  • excesso de conexões,
  • pool mal configurado,
  • tempestade de microservices.

💣 DISPLAY LOCKS — O DETETIVE DE CRIMES EM PRODUÇÃO

Comando

-DIS LOCKS

🔥 O QUE ELE MOSTRA?

  • locks ativos,
  • quem segura lock,
  • recursos travados,
  • deadlocks,
  • waits.

💾 CENÁRIO CLÁSSICO

Batch noturno:

UPDATE MASSIVO

segura lock exclusivo.

Resultado:

  • CICS trava,
  • online para,
  • filas aumentam,
  • CPU sobe,
  • usuários reclamam.

E então o DBA roda:

-DIS LOCKS

e encontra o culpado.


🔥 DISPLAY UTIL — O “CENTRO CIRÚRGICO” DO DB2

Comando

-DIS UTIL(*)

💾 O QUE MOSTRA?

Utilities ativas:

  • REORG,
  • COPY,
  • LOAD,
  • RUNSTATS,
  • RECOVER.

🚨 O QUE UM DBA OBSERVA?

Utility presa

Pode indicar:

  • lock,
  • falta de espaço,
  • erro dataset,
  • deadlock utility.

REORG eterno

Pode indicar:

  • tablespace gigantesca,
  • I/O saturado,
  • SORT insuficiente.

🔥 DISPLAY LOG — O DNA TRANSACIONAL DO DB2

Comando

-DIS LOG

💾 O QUE ANALISAR?

  • active logs,
  • archive logs,
  • checkpoints,
  • dual logging,
  • status de escrita.

🚨 LOG LOTADO = CAOS

Se active logs saturam:

  • aplicações param,
  • commits travam,
  • DB2 entra em pressão severa.

Pouca gente percebe:

o log é literalmente o sistema nervoso do DB2.


🔥 DISPLAY BUFFERPOOL — O RAIO-X DA MEMÓRIA

Comando

-DIS BPOOL(*)

💾 O QUE É BUFFERPOOL?

Cache inteligente do DB2.

Armazena:

  • páginas,
  • índices,
  • dados recentes.

Quanto melhor o bufferpool:

  • menos disco,
  • menos I/O,
  • menos CPU.

🚨 O QUE UM SYSPOG ANALISA?

PGFIX(NO)

Pode aumentar:

  • paging,
  • CPU,
  • overhead.

VPSIZE PEQUENO

Pode causar:

  • sync I/O,
  • leituras físicas excessivas.

HIT RATIO BAIXO

Indica:

  • cache ineficiente,
  • memória insuficiente.

💣 A VERDADE QUE POUCOS ACEITAM

Muitos problemas “de SQL” são:

problemas de bufferpool.


🔥 EXECUTANDO VIA JCL BATCH

O verdadeiro poder aparece no batch.


💾 EXEMPLO REAL

//STEP1 EXEC PGM=IKJEFT01
//STEPLIB DD DISP=SHR,DSN=DSN910.SDSNLOAD
//SYSTSIN DD *
DSN SYSTEM(DB9G)
-DIS DDF
-DIS THD(*)
-DIS LOG
END
/*

🚨 O ERRO CLÁSSICO

Você encontrou:

IKJ56500I COMMAND DSN NOT FOUND

Isso significa:

  • SDSNLOAD ausente,
  • DB2 runtime não alocado,
  • comando DSN indisponível.

É um dos erros mais clássicos do mundo DB2 batch.


💾 O QUE É SDSNLOAD?

Biblioteca que contém:

  • DSN,
  • utilities,
  • runtime DB2,
  • SPUFI,
  • módulos administrativos.

Sem ela:

não existe DB2 no batch.


🔥 O QUE SEPARA JUNIOR DE VETERANO

O iniciante:

  • olha dashboard.

O veterano:

  • olha DISPLAY THREAD,
  • DISPLAY LOCKS,
  • DISPLAY LOG,
  • BUFFERPOOL,
  • utilities,
  • waits.

Porque ele sabe:

o DB2 sempre dá sinais antes do desastre.


☕ A FILOSOFIA DO SYSPOG MAINFRAME

No mundo distribuído:

  • muita gente troca ferramenta.

No IBM Z:

  • primeiro se entende o problema.

E o painel de comandos DB2 continua sendo:

  • rápido,
  • confiável,
  • preciso,
  • resiliente,
  • praticamente eterno.

Quarenta anos depois…
ele ainda está ali.

Piscando em verde, azul ou branco no 3270.

Esperando alguém digitar:

-DIS THD(*)

…e descobrir o que realmente está acontecendo dentro do Mainframe IBM Z 🔥💾