Translate

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

terça-feira, 19 de novembro de 2013

☕🔥 ABEND S722 — O “ENCERRAMENTO MISERICORDIOSO” DO z/OS

Bellacosa Mainframe abend s722

 

☕🔥 ABEND S722 — O “ENCERRAMENTO MISERICORDIOSO” DO z/OS

Quando o Mainframe Diz:

“ALGUÉM DECIDIU MATAR ESSE JOB.”

Se existe um ABEND que confunde TODO programador COBOL Junior Padawan…

é o misterioso:

🚨 S722

Porque ele parece com:

S322

Mas NÃO é igual.

E aí começa o caos:

“Foi timeout?”
“Foi loop infinito?”
“O operador matou?”
“O JES executou?”
“O sistema entrou em guerra?”

☕ Respira.

Porque o S722 é um dos ABENDs mais interessantes para entender:

cancelamento manual

operação do z/OS

JES2

runaway jobs

comandos de operador

batch control

intervenção humana no mainframe


🔥 O QUE É O S722?

O S722 significa:

🚨 JOB CANCELADO PELO OPERADOR

Traduzindo:

ALGUÉM MATOU O JOB MANUALMENTE.


☕ O MAIOR SEGREDO

Diferente do:

S322

que é:

TIME LIMIT EXCEEDED

o:

S722

significa:

intervenção humana.


🔥 O QUE REALMENTE ACONTECE

O job está rodando:

EXECUTANDO...

Talvez:

  • lento

  • preso

  • loop infinito

  • consumindo CPU

  • esperando recurso

  • travando produção

Então o operador digita:

C jobname

ou:

P jobname

ou algum comando equivalente.

Resultado:

💥 S722


☕ ANALOGIA BELLACOSA MAINFRAME

Imagine um trem fora de controle.

O sistema ainda NÃO bateu.

Mas alguém puxa:

🚨 O FREIO DE EMERGÊNCIA

Isso é o:

☠️ S722


🔥 O S722 NÃO É NECESSARIAMENTE ERRO

Isso é MUITO importante.

Às vezes o job:

  • estava correto

  • estava lento

  • processava bilhões de registros

  • apenas demorava demais

E alguém cancelou.


☕ O S722 É “ABEND SOCIAL”

Porque envolve:

humanos.

Operadores.

Schedulers.

Produção.

Pressão.

Batch window.


🔥 O CENÁRIO CLÁSSICO

Sexta-feira

fechamento mensal

CPU alta

SLA atrasando

E então alguém vê:

JOB XYZ RUNNING 5 HOURS

Operador:

C XYZ

Resultado:

💥 S722


☕ O S722 vs S322

Essa diferença salva carreiras.


☕ S322

Sistema matou por tempo excedido.


☕ S722

Humano matou manualmente.


🔥 O MAIOR VILÃO DO S722

LOOP INFINITO

Porque operadores frequentemente cancelam:

  • jobs presos

  • loops

  • SQLs infinitos

  • SORTs monstruosos


☕ EXEMPLO COBOL CLÁSSICO

PERFORM UNTIL WS-FIM = 'S'

   READ CLIENTE

END-PERFORM

Mas:

WS-FIM nunca muda

Agora:

job nunca termina.

Operador vê CPU alta.

Resultado:

☠️ CANCEL JOB → S722


🔥 O “READ SEM EOF”

Trauma coletivo do COBOL batch.


☕ ERRO

READ ARQ

sem:

AT END

Agora:

loop eterno.


🔥 O SQL ASSASSINO

Outro clássico.

SELECT *
FROM TABELA_GIGANTE

Sem índice.

Sem filtro.

Sem COMMIT.

Agora o DB2 sofre.

Operador sofre.

Produção sofre.

Resultado:

💥 S722


☕ O S722 E O “WAIT”

Às vezes o job nem está usando CPU.

Ele está:

  • esperando fita

  • esperando lock

  • preso em ENQ

  • deadlock

  • I/O congelado

Alguém perde paciência.

CANCEL


🔥 O S722 E O JES2

O JES monitora jobs ativos:

SDSF ST

Operador vê:

  • CPU

  • tempo

  • status

  • initiator

E pode cancelar.


☕ O COMANDO DA MORTE

Em muitos ambientes:

C jobname

ou:

CANCEL jobname

🔥 O S722 E O DUMP

Aqui nasce o conhecimento Jedi.


☕ MUITAS VEZES NÃO HÁ ERRO REAL

O programa foi interrompido artificialmente.

Então o dump pode mostrar:

exatamente onde ele estava.


🔥 ISSO É OURO

Porque agora você pode descobrir:

  • loop

  • SQL lento

  • READ preso

  • WAIT

  • deadlock

  • SORT gigante


☕ COMO INVESTIGAR O S722 PASSO A PASSO


✅ PASSO 1 — VERIFIQUE JESMSGLG

Procure:

JOB CANCELLED

ou:

CANCELLED BY OPERATOR

✅ PASSO 2 — IDENTIFIQUE O STEP

STEP01

✅ PASSO 3 — ANALISE O SYSOUT

Última mensagem geralmente aponta:

  • loop

  • repetição

  • SQL preso


✅ PASSO 4 — VERIFIQUE CPU

Pergunte:

  • CPU alta?

  • elapsed alto?

  • I/O preso?


✅ PASSO 5 — ANALISE O DUMP

Veja:

  • PSW

  • offset

  • linha COBOL

  • SQL ativo

  • WAIT state


🔥 O SEGREDO DO PSW

O PSW mostra:

ONDE O JOB MORREU.

Mesmo cancelado manualmente.


☕ O OFFSET

Exemplo:

OFFSET X'01FA'

Cruze com listing COBOL.

Agora você encontra:

PERFORM UNTIL...

Boom.


🔥 O S722 E O SDSF

Ferramenta dos operadores Jedi.

Comandos:

ST
DA

Mostram:

  • jobs ativos

  • CPU

  • tempo

  • status


☕ O MAIOR ERRO DO PADAWAN

Ver:

S722

e corrigir apenas:

TIME=1440

Não.

Porque talvez:

o job estivesse realmente preso.


🔥 O S722 E O ABEND-AID

Ferramentas modernas mostram:

  • call stack

  • loops

  • SQL ativo

  • wait chain

Facilitando MUITO análise.


☕ O S722 E O DB2

Outro cenário clássico.

Programa faz:

cursor sem COMMIT

ou:

tablespace lock

Produção trava.

Operador cancela.


🔥 O S722 E O CICS

Equivalente filosófico no online:

AICA

Mas:


☕ AICA

Sistema mata task online.


☕ S722

Humano mata batch.


🔥 CURIOSIDADE HISTÓRICA

Nos anos 70/80:

Operadores controlavam datacenters quase manualmente.

Muitos S722 aconteciam literalmente por decisão operacional humana olhando consoles físicos.


☕ EASTER EGG MAINFRAME

Veteranos brincam:

“S722 significa:

Seu Job Irritou Alguém.”


🔥 O MAIOR ENSINAMENTO DO S722

Ele ensina algo profundo:

performance ruim afeta pessoas reais.

No z/OS:

  • batch window

  • SLA

  • produção

  • financeiro

  • folha

  • banco

dependem do tempo correto.


☕ COMO EVITAR S722


✅ Sempre tratar EOF


✅ Revisar loops


✅ Monitorar SQL


✅ Fazer COMMIT


✅ Validar índices DB2


✅ Evitar waits infinitos


✅ Testar volume real


✅ Conversar com Operação

Sim.

Isso é MUITO importante.


🔥 A VERDADE FINAL

O S322 pune excesso automático de tempo.
O AICA pune runaway tasks online.

Mas…

☕ O S722 É O JULGAMENTO HUMANO FINAL SOBRE UM JOB QUE PAROU DE RESPEITAR O TEMPO DO DATACENTER.