Translate

Mostrar mensagens com a etiqueta mainframe ibm z. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta mainframe ibm z. Mostrar todas as mensagens

domingo, 10 de maio de 2026

🔥☕ DB2 PERFORMANCE TUNING — O “MOTOR INVISÍVEL” DO MAINFRAME IBM Z

 

Bellacosa Mainframe em tuning DB2

🔥☕ DB2 PERFORMANCE TUNING — O “MOTOR INVISÍVEL” DO MAINFRAME IBM Z

Como um SYSprog/DBA Padawan Aprende a Domar SQL, Buffer Pool, RID Pool, SORT e LOCKING no DB2 z/OS 💾🚀

No universo do DB2 for z/OS existe uma verdade brutal:

💣 “O problema quase nunca é o Mainframe.”

O IBM Z aguenta pancada absurda.
Quem normalmente destrói CPU, I/O e tempo de resposta é:

  • SQL mal escrito

  • Buffer pool mal dimensionado

  • RID pool estourando

  • SORT explodindo em WORKFILE

  • Locking gerando contenção

O DB2 é praticamente uma cidade viva dentro do z/OS.
E tuning é aprender onde o trânsito trava. ☕🏛️


🔥 1. SQL TUNING — O VERDADEIRO REI DA PERFORMANCE

💣 Regra número 1:

“O SQL errado derruba até z17.”


☕ O que mais mata performance?

🚨 TABLESPACE SCAN (TBSCAN)

Quando o DB2 lê a tabela inteira.

Exemplo ruim:

SELECT *
FROM CLIENTES
WHERE NOME = 'JOAO'

Sem índice em NOME:

-> scan completo
-> milhões de linhas
-> CPU sobe
-> I/O explode

🔥 Como melhorar?

✅ Use índices corretos

CREATE INDEX IX1
ON CLIENTES (NOME)

🚀 Prefira Stage 1 Predicates

Predicados Stage 1 são processados cedo pelo DB2.

Bom:

WHERE DATA = '2026-05-14'

Ruim:

WHERE YEAR(DATA) = 2026

A função quebra o uso eficiente do índice.


💣 Evite SELECT *

Ruim:

SELECT *

Bom:

SELECT ID, NOME

Menos colunas:

  • menos GETPAGE

  • menos I/O

  • menos CPU


🔥 Verifique o ACCESS PATH

Use:

EXPLAIN PLAN

Olhe:

  • MATCHCOLS

  • INDEX ONLY

  • TBSCAN

  • SORT

  • RID LIST


🚨 Sinais perigosos no EXPLAIN

ProblemaImpacto
TBSCANscan completo
SORTuso pesado de workfile
Hybrid Join ruimCPU explode
List Prefetch excessivoRID pool sofre
Cartesian Joincaos absoluto

☕ Ferramentas clássicas

SPUFI

EXPLAIN YES

PLAN_TABLE

Tabela mágica do DBA.


Visual Explain

No Data Studio ou ferramentas IBM.


🔥 2. BUFFER POOL TUNING — O “CACHE SAGRADO” DO DB2

O Buffer Pool é onde páginas ficam em memória.

Quanto mais HIT:

  • menos I/O

  • menos disco

  • mais velocidade


☕ Conceito simples

Sem buffer pool:

Programa -> Disco

Com buffer pool:

Programa -> Memória

Muito mais rápido.


🔥 Métricas importantes

Buffer Hit Ratio

Ideal:

> 90%

🚨 Sintomas de buffer pool ruim

  • Sync I/O alto

  • Read I/O excessivo

  • CPU esperando disco

  • Response time ruim


☕ Comandos úteis

Ver status

-DISPLAY BUFFERPOOL(BP0) DETAIL

🚀 Alterar tamanho

ALTER BUFFERPOOL BP0 VPSIZE 200000

💣 Mas cuidado…

Buffer pool gigante demais:

  • rouba memória do z/OS

  • aumenta paging

  • piora tudo

Tuning é equilíbrio.


🔥 Estratégia clássica

Separar objetos críticos

Exemplo:

Buffer PoolUso
BP0sistema
BP1OLTP
BP2batch
BP32KLOB/XML

☕ Pagesize correta

TipoPage
OLTP4K
Scan grande32K

🔥 3. RID POOL TUNING — A GUERRA DAS RID LISTS

RID = Record ID.

DB2 usa RID LIST quando:

  • vários índices participam

  • list prefetch ocorre


💣 Quando RID pool estoura…

O DB2 muda estratégia:

RID LIST -> TABLESPACE SCAN

Resultado:
🔥 desastre de performance


☕ Verificar RID pool

-DISPLAY BUFFERPOOL

ou IFCID traces.


🚀 Ajustar tamanho

ZPARM:

MAXRBLK

🔥 Sintomas clássicos

SintomaCausa
RID overflowpool pequeno
fallback para scanRID cheio
CPU altaexcesso de leitura

☕ Soluções

Melhorar índices

Muitas vezes RID pool explode porque:

  • índice ruim

  • predicates ruins

  • cardinalidade ruim


Atualizar RUNSTATS

Sem estatística:
DB2 toma decisões erradas.

RUNSTATS TABLESPACE ...

🔥 4. SORT TUNING — O BURACO NEGRO DO WORKFILE

SORT é caro.

Muito caro.


💣 O que gera SORT?

  • ORDER BY

  • GROUP BY

  • DISTINCT

  • UNION

  • JOIN sem índice


☕ O perigo invisível

SORT -> WORKFILE -> I/O -> CPU -> contenção

🚀 Como reduzir SORT?

Criar índices compatíveis

Exemplo:

SELECT *
FROM VENDAS
ORDER BY DATA

Índice:

CREATE INDEX IXDATA
ON VENDAS(DATA)

O DB2 evita SORT.


🔥 Monitorar WORKFILE

Veja:

  • DSNDB07

  • utilização

  • overflow

  • spill


☕ ZPARMs importantes

ParâmetroFunção
SRTPOOLmemória do sort
MAXSORT_IN_MEMORYsort em memória
DSMAXdatasets

🚨 Sintomas clássicos

  • DSNDB07 lotado

  • I/O absurdo

  • elapsed alto

  • batch lento


🔥 5. LOCKING TUNING — O INFERNO DAS CONTENÇÕES

O DB2 protege dados com locks.

Mas lock demais:
💣 trava o sistema inteiro.


☕ Tipos de lock

TipoNível
Rowlinha
Pagepágina
Tabletabela
Tablespacetudo

🚨 Deadlock

Dois processos esperam um ao outro.

Resultado:

SQLCODE -911
ou
SQLCODE -913

🔥 Timeout

Um processo espera demais.


☕ Estratégias de tuning

✅ Commit frequente

Ruim:

COMMIT a cada 1 milhão

Bom:

COMMIT a cada 1000

🚀 Use LOCKSIZE ROW

LOCKSIZE ROW

Menos contenção.


💣 Evite lock escalation

Quando muitos locks viram lock maior.

Exemplo:

10000 row locks
-> table lock

Caos no OLTP.


☕ CURRENTDATA(NO)

Ajuda em consultas read-only.


🔥 ISOLATION LEVEL

NívelCaracterística
URmais rápido
CScomum
RSconsistente
RRmáximo lock

🚨 RR é perigoso

Repeatable Read

Pode prender milhares de locks.


☕ Comandos úteis

Ver locks

-DISPLAY DATABASE(*) LOCKS

Threads travadas

-DISPLAY THREAD(*)

🔥 O SEGREDO QUE TODO DBA MAINFRAME APRENDE

A maioria dos problemas NÃO é resolvida aumentando hardware.

O fluxo correto é:

1. SQL
2. Índice
3. RUNSTATS
4. Access Path
5. Buffer Pool
6. Sort
7. Locking
8. Só depois pensar em CPU

☕ A FILOSOFIA DO DB2 z/OS

O DB2 é como uma megacidade subterrânea.

Cada:

  • página

  • lock

  • RID

  • sort

  • getpage

é trânsito acontecendo em tempo real.

E o DBA/Sysprog experiente aprende uma coisa:

🔥 “Performance não é força bruta.
É arquitetura inteligente.” 💾🚀

 

sexta-feira, 31 de outubro de 2025

☕💣 “ACHAVA QUE REXX ERA SÓ SCRIPT?” — 10 COISAS QUE TODO PROGRAMADOR COBOL JUNIOR PADAWAN DESCOBRE TARDE DEMAIS NO MAINFRAME IBM Z 💣☕

 

Bellacosa Mainframe apresenta dicas sobre REXX Mainframe que todo padawan deve dominar

☕💣 “ACHAVA QUE REXX ERA SÓ SCRIPT?” — 10 COISAS QUE TODO PROGRAMADOR COBOL JUNIOR PADAWAN DESCOBRE TARDE DEMAIS NO MAINFRAME IBM Z 💣☕

Bellacosa Mainframe apresenta 10 coisas que um dev padawan deve saber e dominar


☕💣 PARA ENCERRAR UMA JORNADA DE REXX — COISAS QUE UM PROGRAMADOR COBOL JUNIOR PADAWAN DEVE SABER 💣☕

Depois de brincar com variáveis, loops, PARSE, EXECIO, ISPF, SDSF e automações mágicas do z/OS… chega o momento em que o jovem Padawan COBOL percebe uma verdade brutal do Mainframe:

👉 REXX não é “só uma linguagem de script”.
REXX é praticamente o “canivete suíço espiritual” do ambiente IBM Z.

É aquela ferramenta que o sysprog usa às 3h da manhã.
É o remendo elegante que salva um batch.
É o automóvel improvisado do operador.
É o cola-tudo universal do TSO/ISPF.

E quando você aprende REXX… você deixa de ser apenas alguém que “programa COBOL”.

Você começa a conversar com o sistema operacional. ☕


🔥 1. O COBOL PROCESSA NEGÓCIO. O REXX CONTROLA O UNIVERSO AO REDOR.

COBOL:

  • calcula folha

  • processa contas

  • fecha banco

  • gera extrato

REXX:

  • automatiza deploy

  • chama utilitários

  • cria menus ISPF

  • lê datasets

  • manipula spool

  • dispara comandos

  • conversa com DB2

  • conversa com CICS

  • conversa com SDSF

  • conversa com JES2

O COBOL é o motor da empresa.

O REXX é o técnico escondido atrás do painel elétrico. ☕


🔥 2. TODO MAINFRAMEIRO SÊNIOR SABE REXX

Isso é quase lei não escrita do IBM Z.

Você pode encontrar:

  • especialista em CICS

  • DBA DB2

  • operador

  • sysprog

  • storage admin

  • automação

  • segurança RACF

Todos usando REXX em algum momento.

Porque chega uma hora em que:
👉 fazer manualmente vira sofrimento.

E o REXX resolve.


🔥 3. O VERDADEIRO PODER ESTÁ NA INTEGRAÇÃO

O Padawan normalmente pensa:

“REXX é linguagem.”

O veterano pensa:

“REXX é integração.”

REXX conversa com:

  • ISPF

  • SDSF

  • TSO

  • JES2

  • DB2

  • CICS

  • USS

  • MQ

  • arquivos

  • datasets

  • comandos do sistema

É por isso que ele continua vivo há décadas.


🔥 4. O REXX ENSINA VOCÊ A ENTENDER O z/OS

Muita gente aprende COBOL sem entender:

  • alocação

  • datasets

  • spool

  • comandos

  • ISPF

  • utilities

  • catalog

  • LPAR

  • JES

Mas quando começa a automatizar com REXX…

☠️ você é obrigado a entender como o ambiente REAL funciona.

E isso acelera absurdamente sua evolução.


🔥 5. REXX É O “PYTHON DO MAINFRAME” ANTES DO PYTHON EXISTIR

Muito antes da moda DevOps…

o mainframe já tinha:

  • automação

  • scripts

  • parsing

  • manipulação textual

  • integração

  • produtividade

E o nome disso era:
☕ REXX.

Inclusive muita ideia moderna já existia ali:

  • scripting rápido

  • administração automatizada

  • wrappers

  • glue language

  • interfaces operacionais


🔥 6. O PROGRAMADOR JÚNIOR DESCOBRE O TRAUMA DO EXECIO

Todo mundo passa por isso.

Primeiro contato:

"EXECIO * DISKR ARQ (STEM DADOS."

Depois:

  • RC estranho

  • dataset vazio

  • stem quebrado

  • linha truncada

  • allocation faltando

E então nasce o verdadeiro mainframeiro.

Porque EXECIO não ensina apenas I/O.

EXECIO ensina humildade. ☕💀


🔥 7. PARSE É UMA DAS COISAS MAIS GENIAIS DO REXX

Quando o Padawan entende:

PARSE VAR LINHA NOME 1 SOBRENOME

a mente explode.

Porque o REXX foi criado para:

  • texto

  • comandos

  • produtividade

  • interpretação dinâmica

O PARSE parece simples…
mas é uma arma absurdamente poderosa.


🔥 8. REXX MOSTRA QUE O MAINFRAME NÃO É “ENGESSADO”

Muita gente de fora imagina:

“Mainframe é rígido.”

Aí o cara vê:

  • menus ISPF customizados

  • automações

  • painéis

  • ferramentas internas

  • monitoramentos

  • integrações

Tudo feito em REXX.

E percebe:
☕ o IBM Z é MUITO mais flexível do que parece.


🔥 9. TODO AMBIENTE TEM “O REXX LENDÁRIO”

Sempre existe.

Aquele EXEC antigo:

  • sem documentação

  • cheio de LABEL

  • cheio de PARSE

  • com 9 mil linhas

  • ninguém sabe quem criou

  • resolve tudo

  • ninguém tem coragem de apagar

O famoso:

“Se mexer nisso o banco para.”

☠️ patrimônio histórico do datacenter.


🔥 10. APRENDER REXX MUDA SUA VISÃO DE CARREIRA

O júnior COBOL pensa em:

  • programa

  • compile

  • JCL

  • output

O cara que aprende REXX começa a enxergar:

  • automação

  • produtividade

  • operação

  • observabilidade

  • tooling

  • administração

  • integração corporativa

E isso aproxima você:

  • do sysprog

  • do operador

  • do DBA

  • da infraestrutura

  • da arquitetura

Você deixa de ver só o programa.

Você começa a enxergar o ecossistema inteiro.


☕ A GRANDE VERDADE FINAL DO MAINFRAME

O REXX ensina algo muito importante:

👉 Mainframe não é só linguagem.
👉 Mainframe é ambiente.
👉 É integração.
👉 É operação.
👉 É automação.
👉 É disciplina.
👉 É convivência com sistemas gigantescos.

E quando o Padawan entende isso…

ele deixa de ser apenas “programador COBOL”.

☕💣 Ele começa lentamente a virar um verdadeiro Mainframeiro. 💣☕