Translate

Mostrar mensagens com a etiqueta troubleshooting. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta troubleshooting. Mostrar todas as mensagens

sexta-feira, 13 de fevereiro de 2026

🔥 “ENCLAVE NO z/OS: O JOB INVISÍVEL QUE MANDA MAIS QUE SEU COBOL” 💀

 

Bellacosa Mainframe analise o enclave no z/os

🔥 “ENCLAVE NO z/OS: O JOB INVISÍVEL QUE MANDA MAIS QUE SEU COBOL” 💀

Se você acha que quem manda no z/OS é o seu JOB, seu STEP ou seu programa COBOL… já começou errado 😈
Existe uma entidade silenciosa, poderosa e MUITO mais inteligente: o ENCLAVE.

E depois que você entende isso… nunca mais olha para performance, WLM ou CICS da mesma forma.


🧠 O QUE É UM ENCLAVE (SEM MIMIMI)

Um enclave no z/OS é uma unidade lógica de trabalho gerenciada pelo WLM (Workload Manager).

👉 Tradução Bellacosa:

É como se fosse um “JOB fantasma” criado pelo sistema pra medir, priorizar e controlar o que realmente importa.

Ele não aparece no JES como um JOB comum.
Ele não está preso a um único address space.
Mas… ele é quem decide quanto CPU você ganha ou perde.


🏛️ ORIGEM — POR QUE ISSO EXISTE?

Lá atrás, no mundo pré-WLM, o controle era baseado em:

  • Prioridade fixa
  • Dispatching clássico
  • Regras estáticas

Problema? 😬
Ambientes modernos (CICS, DB2, WebSphere, Java, API REST) quebraram esse modelo.

👉 A IBM respondeu com o WLM Goal-Oriented:

E aí nasceu o ENCLAVE:

  • Para representar transações distribuídas
  • Para permitir gerenciamento baseado em objetivos (response time, velocity, etc.)
  • Para desacoplar trabalho de address spaces

💡 Ou seja:

O enclave nasceu quando o mainframe percebeu que o mundo virou distribuído.


⚙️ COMO FUNCIONA NA PRÁTICA

Imagine isso:

  • Um request entra via CICS
  • Faz chamada DB2
  • Vai pra MQ
  • Volta pro CICS

👉 Isso tudo NÃO é um único processo linear

O z/OS cria um ENCLAVE para representar esse fluxo como uma única entidade lógica


🔄 O enclave acompanha:

  • Tempo de CPU
  • Tempo de resposta
  • Esperas (I/O, lock, etc.)
  • Prioridade dinâmica (via WLM)

🎯 O PAPEL DO WLM (O VERDADEIRO CHEFE)

O WLM não gerencia JOBs diretamente.

Ele gerencia:

👉 ENCLAVES

Com base em:

  • Service Class
  • Importance
  • Performance goals

💡 Resultado:

Dois programas idênticos podem ter comportamentos COMPLETAMENTE diferentes dependendo do enclave.


🧨 EXEMPLO REAL (COBOL DEV VAI SENTIR)

Você roda:

  • Um batch COBOL via JCL
  • Uma transação CICS chamando o mesmo programa

Mesmo código… MAS:

ContextoQuem manda
BatchJES / Dispatching
CICSENCLAVE + WLM

👉 Resultado:

  • No CICS, o desempenho é governado pelo enclave
  • No batch, não

💀 É por isso que “funciona no batch mas é lento no online”


🕵️ TROUBLESHOOTING (OU: POR QUE SEU JOB APANHA)

Se algo está lento e você ignora enclave… você está investigando errado.

🔍 Sintomas clássicos:

  • CPU baixa, mas resposta ruim
  • Transação lenta “sem motivo”
  • WLM aparentemente ignorando você

🧠 Possíveis causas:

  • Service class errada
  • Importance baixa
  • Goal impossível (ex: response time irreal)
  • Contenção em recursos compartilhados

🛠️ ONDE INVESTIGAR

  • RMF Monitor III
  • SMF 72 (WLM)
  • SDSF (delay reason)
  • CICS statistics

💡 Dica Bellacosa:

Se não olhou SMF 72, você não investigou WLM de verdade.


🧩 EASTER EGG (POUCA GENTE SABE)

🔥 Nem todo enclave é igual:

Existem:

  • Independent enclaves
  • Dependent enclaves

👉 Dependente = herda contexto
👉 Independente = vive sua própria vida

💡 E aqui vem o pulo do gato:

Um enclave pode atravessar múltiplos sistemas via sysplex

Sim… o “fantasma” atravessa LPARs 👻


🤯 CURIOSIDADES QUE EXPLODEM A MENTE

  • Enclaves são essenciais para Java no z/OS
  • DB2 usa enclaves para workloads distribuídos (DRDA)
  • z/OS Connect depende disso pra API REST

👉 Ou seja:

Sem enclave… não existe mainframe moderno


⚠️ ERROS CLÁSSICOS (E CAROS)

❌ “Aumenta a prioridade do address space”
👉 ERRADO — quem manda é o enclave

❌ “O problema é CPU”
👉 Nem sempre — pode ser política WLM

❌ “Batch está ok, então produção também está”
👉 Contexto diferente = enclave diferente


💬 COMENTÁRIO NO ESTILO RAIZ

Enclave é aquele tipo de coisa que:

  • Ninguém te ensina direito
  • Todo mundo usa sem saber
  • E quando dá problema… vira caos

💀


🧠 RESUMO DIRETO (SEM ENROLAR)

👉 Enclave é:

  • Uma unidade lógica de trabalho
  • Controlada pelo WLM
  • Independente de address space
  • Base para performance moderna no z/OS

🔥 FRASE PRA GRUDAR NA SUA CABEÇA

“Você acha que está rodando um programa…
mas quem está sendo julgado é o seu ENCLAVE.”

quarta-feira, 11 de fevereiro de 2026

🔥 SEU PROGRAMA NÃO MORRE… ELE DEIXA PISTAS 💀

 

Bellacosa Mainframe analisando o RTM

🔥 SEU PROGRAMA NÃO MORRE… ELE DEIXA PISTAS 💀

O guia proibido do RTM que revela como o z/OS investiga, sobrevive e aprende com cada falha

Você vê um ABEND e pensa:

👉 “deu erro…”

O z/OS pensa diferente:

💥 “vamos registrar, analisar, aprender e continuar rodando.”

Esse é o papel do Recovery Termination Manager (RTM) — o sistema que transforma falhas em evidência técnica.

Se você quer sair do nível “rodou ou não rodou” e entrar no nível engenharia de diagnóstico, esse é o mapa definitivo 👊🔥


🧠 1. A FILOSOFIA DO z/OS SOBRE ERROS

No mundo distribuído:

👉 erro = problema

No mainframe:

👉 erro = evento analisável


💡 Tradução Bellacosa

“falhar é permitido… repetir o erro não.”


⚙️ 2. RTM — O “INVESTIGADOR OFICIAL”

O RTM entra em ação quando:

  • ocorre erro (ABEND)
  • há falha de hardware
  • há erro de sistema
  • ou até quando tudo termina normalmente

🔥 Funções principais

  • capturar erro
  • chamar rotinas de recuperação
  • gerar dumps
  • registrar LOGREC
  • limpar recursos

💡 Insight

RTM atua até quando o programa termina certo


🧩 3. RTM1 vs RTM2 — DOIS NÍVEIS DE SOBREVIVÊNCIA

🔹 RTM1 (System)

  • protege o sistema
  • chama FRR

🔹 RTM2 (Task)

  • trata a task
  • chama ESTAE

🔥 Fluxo real

Erro → RTM1 → RTM2 → Recovery → Dump → Cleanup

💡 Tradução

“primeiro o sistema sobrevive… depois a task”


🛡️ 4. ESTAE — A AUTODEFESA DO PROGRAMA

Programas podem registrar:

👉 rotinas de recuperação


🔥 Como funciona

  • programa define ESTAE
  • erro ocorre
  • RTM chama essa rotina

💡 Tradução Bellacosa

“seu programa pode tentar se salvar antes do fim”


🧠 Exemplo real

COBOL acessa memória inválida

ESTAE intercepta

log + tratamento

💀 5. DUMPS — A CENA DO CRIME

Um dump é:

👉 uma foto completa do sistema no erro


🔥 Tipos

  • SYSABEND → completo
  • SYSMDUMP → técnico
  • SYSUDUMP → básico
  • SVC Dump → sistema
  • Stand-alone → sistema morto

💡 Tradução

“dump é o momento congelado da falha”


🧠 Exemplo

S0C4

dump gerado

IPCS analisa

🧠 6. LOGREC — O HISTÓRICO DOS ERROS

LOGREC registra:

  • falhas de hardware
  • erros de software
  • condições do sistema

💡 Insight

é o primeiro lugar que um sysprog olha


🔥 Tradução Bellacosa

“LOGREC = diário dos problemas”


📜 7. LOGS — A LINHA DO TEMPO

🔹 Principais:

  • SYSLOG → sistema
  • OPERLOG → sysplex
  • JESMSGLG → job

💡 Uso

👉 entender o “antes” do erro


🎥 8. TRACES — O FILME COMPLETO

Enquanto dump = foto
👉 trace = vídeo


🔹 Tipos:

  • System Trace
  • GTF
  • Component Trace

💡 Uso

👉 analisar fluxo ao longo do tempo


🧠 9. DAE — INTELIGÊNCIA DE DUMP

Evita:

👉 dumps repetidos


🔥 Usa:

  • SYS1.DAE

💡 Tradução

“não repetir análise inútil”


🔎 10. IPCS — O CSI DO MAINFRAME

Ferramenta para:

  • ler dumps
  • interpretar dados
  • analisar erro

💡 Tradução Bellacosa

“IPCS = laboratório forense”


🧨 11. SLIP TRAPS — PEGANDO ERRO NO FLAGRA

Você pode definir:

👉 “quando isso acontecer… capture tudo”


💡 Exemplo

Se S0C4 ocorrer → gerar dump completo

🔥 Tradução

“armadilha inteligente”


⚙️ 12. CLEANUP — O FINAL OBRIGATÓRIO

Após erro ou término:

  • memória liberada
  • datasets fechados
  • locks removidos
  • timers cancelados

💡 Tradução

“ninguém sai sem arrumar o ambiente”


🔄 13. PASSO A PASSO COMPLETO

Programa executa

Erro ocorre

RTM acionado

ESTAE / FRR chamados

Dump gerado

LOGREC atualizado

Recursos liberados

Sistema continua

🧨 CURIOSIDADES (NÍVEL ROOT)

🤯 1. RTM roda até em término normal


🔥 2. Dump pode salvar dias de análise


💀 3. LOGREC é ignorado por iniciantes


🧠 4. SLIP é arma de elite


⚡ 5. z/OS foi feito para falhar… e continuar


🎯 RESUMO FINAL

✔ RTM controla término e erro

✔ RTM1 protege sistema

✔ RTM2 trata task

✔ ESTAE = recuperação

✔ Dumps = evidência

✔ LOGREC = histórico

✔ IPCS = análise


💥 FRASE FINAL

“No mainframe, o erro não encerra o sistema… ele inicia a investigação.”

 

sexta-feira, 6 de fevereiro de 2026

🔥 SE O z/OS NÃO SOBE… NADA EXISTE 💀O guia proibido do IPL que todo dev COBOL deveria entender (mas quase ninguém entende)

 

Bellacosa Mainframe fala sobre a iniacialização do ambiente operacional

🔥 SE O z/OS NÃO SOBE… NADA EXISTE 💀

O guia proibido do IPL que todo dev COBOL deveria entender (mas quase ninguém entende)

Você escreve COBOL… compila… roda…
👉 e acha que o sistema “tá lá pronto”.

Errado.

Antes do seu programa existir, acontece um ritual quase místico chamado:

IPL — Initial Program Load

E aqui vai a verdade estilo Bellacosa:

💥 “Se o IPL falhar… o mainframe inteiro simplesmente NÃO EXISTE.”

Hoje você vai entender isso como um padawan do mainframe, mas com visão de Jedi 👊🔥


🧠 O QUE É O IPL (O NASCIMENTO DO SISTEMA)

O IPL é o momento em que:

  • o hardware ganha vida
  • o z/OS é carregado
  • os primeiros address spaces são criados

👉 Segundo o material, ele:

  • carrega o sistema do disco
  • inicializa o kernel
  • cria o ambiente completo

🔥 Tradução Bellacosa

“IPL é o Big Bang do z/OS.”


🧱 OS DATASETS QUE FAZEM O MILAGRE ACONTECER

Sem eles… não tem sistema. Simples assim.


🔥 SYS1.NUCLEUS — o coração

Contém:

  • NIP (Nucleus Initialization Program)
  • RIM (Resource Initialization)
  • módulos básicos do kernel

👉 É literalmente o “cérebro inicial”.


🔥 SYS1.LPALIB — a memória compartilhada

  • módulos do sistema
  • SVCs
  • rotinas críticas

👉 Vai parar dentro da LPA (já já explico 👀)


🔥 SYS1.LINKLIB — o arsenal

  • programas do sistema
  • inclui o Master JCL

👉 Aqui começa a execução de verdade.


🔥 SYS1.PARMLIB — o cérebro de configuração

Define:

  • como o sistema vai funcionar
  • performance
  • segurança

👉 É o /etc do z/OS… só que turbinado.


🔥 SYS1.PROCLIB — automação

  • procedures (START, etc.)
  • inicialização de subsistemas

🔥 Outros importantes

  • PAGE DATASETS → memória virtual
  • SMF → estatísticas
  • DUMP → análise de erro

💡 Insight de ouro

“z/OS não sobe com código… sobe com DATASETS.”


⚙️ I/O CONFIG — O MAPA DO MUNDO

Antes do sistema usar qualquer coisa, ele precisa saber:

  • quais devices existem
  • onde estão
  • como acessar

🔹 Quem faz isso?

👉 HCD + IOCDS + IODF


🔥 Durante o IPL:

  • cada device gera um UCB (Unit Control Block)
  • o sistema passa a reconhecer discos, fitas, etc.

🧨 Easter Egg

Se o device não está no IODF… ele NÃO EXISTE pro sistema.


🧠 PARMLIB — ONDE VOCÊ DOMINA O SISTEMA

🔹 O que é?

Um conjunto de membros tipo:

  • IEASYSxx
  • LOADxx
  • outros

🔥 Função

Define:

  • memória
  • subsistemas
  • comportamento do sistema

💡 Dica de Jedi

Nunca mexa direto no default:

IEASYS00 → base
IEASYS01 → custom

👉 Se quebrar, você volta.


⚡ LOADXX — O DNA DO IPL

Esse cara decide:

  • qual nucleus usar
  • qual configuração carregar
  • qual PARMLIB seguir

🔹 Estrutura mental

LOADxx

aponta para:
- NUCLEUS
- PARMLIB
- CONFIG

🧨 Curiosidade

Um LOADxx pode subir vários sistemas no sysplex 😳


🚀 NIP — O CONSTRUTOR DO UNIVERSO

🔹 Nucleus Initialization Program

Ele:

  • inicializa memória
  • cria control blocks
  • cria address spaces

🔥 Resultado

transforma hardware em z/OS funcional


🧩 LINK PACK AREA (LPA) — ONDE TUDO FICA PRONTO

🔹 Tipos:

  • FLPA → fixo
  • MLPA → modificado
  • PLPA → paginável

💡 Tradução

LPA = “biblioteca carregada na memória para todo mundo usar”


👥 ADDRESS SPACES — O SISTEMA GANHA VIDA

🔥 Primeiro criado:

👉 MASTER (001 👀)


Depois:

  • JES
  • SMF
  • RSM
  • GRS
  • TRACE
  • DUMP

💡 Insight

Tudo nasce no IPL. Nada existia antes.


⚙️ PASSO A PASSO DO IPL (SIMPLIFICADO)

1. Power on
2. CPU lê DASD (SYSRES)
3. Carrega IPL text (IEAIPL00)
4. Carrega NUCLEUS
5. Executa NIP
6. Lê PARMLIB
7. Configura I/O (IODF)
8. Cria address spaces
9. Inicia subsistemas

👉 Boom 💥 sistema vivo


🔧 TUNING (onde os Jedi brilham)

🔥 Onde ajustar:

  • PARMLIB
  • LPA
  • PAGE datasets

💡 Exemplos:

  • mais memória → melhor performance
  • LPA otimizada → menos I/O
  • configuração errada → desastre

💀 TROUBLESHOOTING (quando tudo dá errado)

🔥 Problemas clássicos:

  • dataset não encontrado
  • erro no PARMLIB
  • device inexistente
  • LOADxx incorreto

🧨 Sintoma clássico:

👉 Disabled Wait Code


💡 Tradução

“Deu ruim antes do sistema existir.”


🧨 CURIOSIDADES QUE POUCOS SABEM

🤯 1. O sistema começa praticamente “cego”

Sem PARMLIB → nada funciona


🔥 2. O primeiro address space é 001

Nunca 000 (pegadinha de prova)


💀 3. IPL falha sem log amigável

Você ganha código e reza 😄


🧠 4. Tudo gira em torno de control blocks

Criados desde o início pelo NIP


🎯 RESUMO FINAL (nível padawan → jedi)

✔ IPL = nascimento do sistema

✔ SYS1 datasets = base de tudo

✔ PARMLIB = cérebro

✔ LOADxx = DNA

✔ NIP = construtor

✔ LPA = memória compartilhada

✔ Address spaces = vida


💥 FRASE FINAL

“Você acha que executa programas…
mas primeiro o z/OS precisa nascer — e esse nascimento é uma obra de engenharia absurda.”