Translate

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

quinta-feira, 21 de maio de 2026

☕🔥 ABENDs Clássicos do Mainframe IBM — O Guia de Sobrevivência

Bellacosa Mainframe e a lista de abends


☕🔥 Guia Completo — ABENDs Clássicos do IBM OS/VS e z/OS

Excelente observação!
No resumo anterior realmente ficaram faltando vários ABENDs importantes da lista original do artigo histórico do OS/VS. Agora segue a versão completa, revisada e expandida, incluindo TODOS os códigos mencionados no documento.


🔥 S013 — OPEN ERROR / DCB ERROR

Mensagem comum

IEC141I

O que significa

Falha ao abrir dataset.

Principais causas

  • BLKSIZE incompatível

  • RECFM incorreto

  • LRECL errado

  • Membro inexistente em PDS

Muito comum em

  • SORT

  • COBOL batch

  • IDCAMS


🔥 S0C1 — OPERATION EXCEPTION

O que significa

Execução de instrução inválida.

Causas

  • Overlay de memória

  • Programa corrompido

  • Executar área de dados como código

  • Compilação/link incorreto


🔥 S0C4 — PROTECTION EXCEPTION

O clássico absoluto do z/OS

O que significa

Acesso inválido à memória.

Causas comuns

  • Subscript fora do limite

  • Ponteiro inválido

  • Tabela ultrapassada

  • LINKAGE SECTION incorreta


🔥 S0C5 — ADDRESSING EXCEPTION

O que significa

Tentativa de acessar endereço inexistente.

Muito comum em

  • CALLs errados

  • Parâmetros incompatíveis

  • Ponteiros inválidos


🔥 S0C7 — DATA EXCEPTION

O ABEND mais famoso do COBOL

O que significa

Campo numérico contém valor inválido.

Exemplos clássicos

MOVE 'ABC' TO WS-VALOR-NUM
ADD 1 TO WS-VALOR-NUM

Principais causas

  • Campo COMP-3 corrompido

  • Dados não numéricos

  • Index fora da tabela

  • Working-storage sem inicialização


🔥 S106 — LINK/LOAD ERROR

O que significa

Falha durante LOAD ou LINK.

Causas

  • Biblioteca incorreta

  • Módulo inconsistente

  • Problema de disco


🔥 S213 — DATASET NOT FOUND

Mensagem comum

IEC143I

O que significa

Dataset inexistente.

Causas

  • DSNAME errado

  • Dataset não catalogado

  • VOL=SER incorreto


🔥 S222 — JOB CANCELADO

Mensagem comum

IEF301I

O que significa

Operador cancelou o job.

Normalmente ocorre por

  • Loop infinito

  • Job preso

  • Alto consumo


🔥 S2F3 — SYSTEM FAILURE

O que significa

Falha do sistema operacional durante execução.

Causas

  • Crash do sistema

  • IPL

  • Problema interno do z/OS

Procedimento

  • Reexecutar o job

  • Verificar logs do sistema


🔥 S322 — TIME EXCEEDED

O que significa

Job excedeu o tempo permitido.

Muito comum em

  • Loops infinitos

  • SQL sem índice

  • SORT gigantes

Exemplo

TIME=1

🔥 S613 — TAPE I/O ERROR

Mensagem comum

IEC147I

O que significa

Erro de I/O em fita magnética.

Causas

  • Fita mal posicionada

  • Multi-volume incorreto

  • Problema físico na fita


🔥 S722 — SYSOUT LIMIT EXCEEDED

O que significa

Quantidade de linhas impressas excedeu limite.

Muito comum em

  • LOOP com DISPLAY

  • Relatórios infinitos

  • Dumps excessivos


🔥 S804 — INSUFFICIENT VIRTUAL STORAGE

O que significa

Falta de memória virtual.

Causas

  • REGION pequena

  • Programa gigante

  • Uso excessivo de tabelas

Exemplo

REGION=512K

🔥 S806 — MODULE NOT FOUND

O loader não encontrou o módulo

Causas

  • STEPLIB errada

  • LOADLIB ausente

  • Nome incorreto do programa

Mensagem clássica

CSV003I REQUESTED MODULE NOT FOUND

🔥 S80A — STORAGE SHORTAGE

O que significa

Complemento do S804.

Causa principal

Falta de memória virtual disponível.


🔥 S813 — TAPE LABEL ERROR

Mensagem comum

IEC149I

O que significa

Nome do dataset na fita não bate com DD.

Causas

  • LABEL incorreto

  • DSNAME errado

  • Volume errado


🔥 S913 — RACF SECURITY VIOLATION

Mensagem comum

IEC150I

O que significa

Acesso negado pelo RACF.

Muito comum em

  • Produção

  • Db2

  • GDGs

  • VSAM corporativo


🔥 SA13 — END OF TAPE / FILE NOT FOUND

Mensagem comum

IEC151I

O que significa

Arquivo não encontrado na fita.

Causas

  • LABEL incorreto

  • Número sequencial errado

  • Volume incorreto


🔥 SB37 — OUT OF SPACE

Mensagem comum

IEC030I

O que significa

Dataset ficou sem espaço.

Causas

  • Espaço secundário insuficiente

  • Muitas extents

  • Volume cheio


🔥 SD37 — NO SECONDARY SPACE

Mensagem comum

IEC031I

O que significa

Acabou espaço primário e não existe secondary allocation.

Exemplo clássico

SPACE=(CYL,(10,0))

🔥 SE37 — EXTENT LIMIT EXCEEDED

Mensagem comum

IEC032I

O que significa

Dataset atingiu limite máximo de extents.

Muito comum em

  • PDS antigos

  • SORT gigantes

  • Arquivos temporários


☕🔥 Os ABENDs Mais Icônicos da História do Mainframe

ABENDSignificado
S0C7Data Exception
S0C4Protection Exception
S806Module Not Found
S913RACF Violation
SB37Dataset sem espaço
S322Timeout
S213Dataset não encontrado

☕ Curiosidade Histórica

Nos tempos do:

  • OS/360

  • OS/VS1

  • OS/VS2

  • MVS/XA

os operadores praticamente decoravam os ABENDs “na raça”.

Muitos programadores COBOL antigos conseguiam identificar o erro apenas olhando:

IEF450I

ou:

IEC141I

sem precisar abrir dump.

Isso virou quase uma “linguagem secreta” do mundo mainframe.


sábado, 25 de janeiro de 2020

☕🔥 ABENDs Clássicos do Mainframe IBM — O Guia de Sobrevivência

 

Bellacosa Mainframe revisando a lista classica de abends no mundo ibm mainframe



☕🔥 ABENDs Clássicos do Mainframe IBM — O Guia de Sobrevivência

🔥 S013 — Dataset/Dataset Member Problem

O que significa

Erro de OPEN em dataset.

Causas comuns

  • BLKSIZE incorreto

  • RECFM incompatível

  • Membro inexistente em PDS

  • DCB incompatível

Clássico cenário COBOL

//ARQENT DD DSN=MEU.PDS(MEMBROX),DISP=SHR

Mas o membro não existe.


🔥 S0C1 — Operation Exception

“O programa tentou executar lixo como instrução”

Causas comuns

  • Programa compilado errado

  • Overlay de memória

  • Chamada para área inválida

  • Executar dados como código

Muito comum em:

  • COBOL

  • Assembler

  • LINK incorreto


🔥 S0C4 — Protection Exception

O terror absoluto do programador COBOL

Significa

Acesso inválido à memória.

Principais causas

  • Subscript fora do limite

  • Ponteiro inválido

  • LINKAGE SECTION errada

  • Buffer não inicializado

Exemplo clássico

MOVE TAB-ITEM(9999) TO WS-CAMPO

Quando a tabela só vai até 100.


🔥 S0C7 — Data Exception

O ABEND mais famoso do COBOL

Significa

Campo numérico contém dado inválido.

Exemplo

MOVE 'ABC' TO WS-VALOR-NUM
ADD 1 TO WS-VALOR-NUM

💥 S0C7.


🔥 S213 — Dataset Não Encontrado

“O dataset simplesmente não existe”

Causas

  • DSNAME errado

  • Dataset não catalogado

  • VOL=SER incorreto

Mensagem clássica

IEC143I 213-04

🔥 S222 — Job Cancelado

Operador matou o job

Geralmente ocorre por:

  • Loop infinito

  • Job travado

  • Consumo excessivo

  • Cancel manual


🔥 S322 — TIMEOUT

“Seu job passou do tempo”

Clássico:

TIME=1

Mas o programa entra em loop.


🔥 S806 — Module Not Found

O loader não encontrou o programa

Causas

  • STEPLIB errada

  • LOADLIB ausente

  • Nome do módulo incorreto

Mensagem típica

CSV003I REQUESTED MODULE NOT FOUND

🔥 S913 — RACF Security Violation

Segurança negou acesso

Causas

  • Dataset protegido

  • Falta de permissão RACF

  • Usuário sem READ/UPDATE

Muito comum em:

  • Produção

  • Db2

  • CICS

  • GDGs corporativos


🔥 B37 / D37 / E37 — Falta de Espaço

B37

Sem espaço secundário suficiente.

D37

Sem secondary allocation.

E37

Acabaram as extents ou a fita.

Clássico JCL

SPACE=(CYL,(1,0))

💥 Dataset cresce → ABEND D37.


☕ Curiosidade Histórica

A palavra:

ABEND

vem de:

ABnormal END

Ou seja:

“Término Anormal”

Esse termo nasceu nos primeiros sistemas IBM OS/360 e virou parte da cultura mainframe mundial.


🔥 Os 5 ABENDs Mais Temidos da História do COBOL

ABENDApelido
S0C7Data Exception
S0C4Protection Exception
S806Module Not Found
S322Timeout
S913RACF Security

☕ Dica Profissional Mainframe

Quando houver ABEND:

SEMPRE analisar:

  1. JESMSGLG

  2. JESJCL

  3. SYSMSG

  4. SYSOUT

  5. Dump

  6. CEEDUMP (LE)

  7. Abend-AID / Fault Analyzer


🔥 Regra de Ouro do Mainframe

O ABEND raramente é o problema.

Ele é apenas:

“O sintoma do problema.”

O verdadeiro erro normalmente aconteceu:

  • antes,

  • em outro módulo,

  • ou em dados corrompidos anteriormente.


sábado, 29 de março de 2014

☕🔥 ABEND S913 — O “MURO DE SEGURANÇA” DO z/OS

 

Bellacosa Mainframe e o abend s913

☕🔥 ABEND S913 — O “MURO DE SEGURANÇA” DO z/OS

Quando o Mainframe Diz:

“VOCÊ NÃO TEM AUTORIZAÇÃO PARA FAZER ISSO.”

Se existe um ABEND que faz TODO Junior Padawan descobrir que:

segurança no mainframe é levada MUITO a sério…

é o lendário:

🚨 S913

E normalmente ele aparece assim:

IEF450I JOBNAME STEP01 - ABEND=S913

ou:

ICH408I USER NOT AUTHORIZED

ou ainda:

IEC150I 913-38

E então começa o pânico:

“Mas o dataset existe!”
“O JCL está certo!”
“Funcionava ontem!”
“O RACF me odeia?”
“O z/OS acabou de me expulsar do castelo?”

☕ Respira.

Porque o S913 é um dos ABENDs MAIS IMPORTANTES para entender:

RACF

segurança z/OS

autorização

datasets protegidos

acesso batch

permissões

auditoria corporativa


🔥 O QUE É O S913?

O S913 é um:

🚨 SECURITY / AUTHORIZATION FAILURE

Traduzindo:

O z/OS NEGOU ACESSO A UM RECURSO.


☕ A FILOSOFIA DO S913

No mundo mainframe:

NADA É ACESSADO SEM AUTORIZAÇÃO.

Nem:

  • dataset

  • transação

  • programa

  • loadlib

  • tape

  • recurso CICS

  • DB2

  • spool


🔥 O GRANDE SEGREDO

O S913 normalmente NÃO é erro de COBOL.

É:

erro de segurança.


☕ ANALOGIA BELLACOSA MAINFRAME

Imagine um cofre bancário.

Você possui:

✅ crachá
✅ login
✅ senha

Mas tenta entrar numa área:

❌ sem autorização.

O segurança aparece imediatamente.

Isso é o:

☠️ S913


🔥 O VERDADEIRO VILÃO

🚨 RACF

Ou equivalentes:

  • ACF2

  • Top Secret


☕ O QUE É RACF?

Resource Access Control Facility

O guardião do z/OS.

Controla:

  • quem acessa

  • o quê

  • quando

  • como

  • com qual permissão


🔥 O MOMENTO EXATO DO S913

Fluxo:

Programa/JCL tenta acessar recurso
 ↓
SAF/RACF intercepta
 ↓
Valida permissão
 ↓
Acesso negado
 ↓
S913

☕ O CASO MAIS CLÁSSICO

DATASET SEM AUTORIZAÇÃO


🔥 EXEMPLO

//CLIENTE DD DSN=EMPRESA.FINANCEIRO.MASTER,
// DISP=SHR

Mas o usuário NÃO possui acesso.

Resultado:

💥 S913


☕ O MAINFRAME OLHA E DIZ

“VOCÊ NÃO TEM PERMISSÃO PARA VER ISSO.”


🔥 O IEC150I 913-38

Lenda clássica do z/OS.


☕ O QUE SIGNIFICA?

Frequentemente:

dataset authorization failure.


🔥 O ICH408I — A MENSAGEM SAGRADA

Essa é ouro puro.

Exemplo:

ICH408I USER(USER01) GROUP(GRP1)
NAME(USER TESTE)
EMPRESA.FINANCEIRO CL(DATASET)
INSUFFICIENT ACCESS AUTHORITY

Isso revela:

  • usuário

  • grupo

  • recurso

  • classe

  • nível negado


☕ O MAIOR ERRO DO PADAWAN

Ver:

S913

e recompilar COBOL.

Não.

O problema geralmente NÃO está no código.


🔥 O S913 E O DISP=OLD

Outro clássico.


☕ EXEMPLO

//ARQ DD DISP=OLD

Mas usuário só possui:

READ

Não possui:

UPDATE

Resultado:

☠️ S913


🔥 O S913 E O LOADLIB

Até executáveis possuem proteção.


☕ EXEMPLO

//STEPLIB DD DSN=EMPRESA.PROD.LOAD

Sem permissão de EXECUTE/READ:

💥 S913


🔥 O S913 E O CICS

No CICS isso aparece MUITO como:

NOTAUTH

AEY9

RACF violation


☕ O S913 E O DB2

Outro território sombrio.

Usuário tenta:

SELECT * FROM CLIENTES

Sem permissão.

DB2 chama RACF/segurança.

Resultado:

☠️ acesso negado.


🔥 O S913 E O JES2

Até o spool pode ser protegido.

Você tenta:

  • cancelar job

  • ver output

  • acessar SYSOUT

Sem autorização:

💥 S913


☕ O S913 E O FTP

Clássico enterprise.

Usuário tenta transferir:

dataset protegido

FTP recebe:

permission denied.

Origem real:

RACF.


🔥 COMO INVESTIGAR O S913 PASSO A PASSO


✅ PASSO 1 — PROCURE ICH408I

Essa mensagem é a Bíblia do S913.


✅ PASSO 2 — IDENTIFIQUE O RECURSO

Exemplo:

EMPRESA.ARQ.CLIENTE

✅ PASSO 3 — IDENTIFIQUE O TIPO DE ACESSO

Pergunte:

Tentou:

  • READ?

  • UPDATE?

  • ALTER?

  • EXECUTE?


✅ PASSO 4 — VERIFIQUE DISP


☕ DISP=SHR

Normalmente leitura.


☕ DISP=OLD

Controle exclusivo/update.


☕ DISP=MOD

Alteração.


🔥 PASSO 5 — FALE COM SEGURANÇA/RACF

Sim.

Mainframe é trabalho em equipe.


☕ O DUMP DO S913

Muitas vezes:

dump quase irrelevante.

Porque o erro é de autorização.

O ouro está nas mensagens:

  • ICH408I

  • IEC150I

  • IEFxxxx


🔥 O S913 E O “FUNCIONAVA ONTEM”

O clássico absoluto.


☕ O QUE ACONTECEU?

Talvez:

  • RACF mudou

  • grupo mudou

  • perfil mudou

  • dataset foi recatalogado

  • ACL alterada

  • migração ocorreu


🔥 O S913 FANTASMA

Outro terror real.

Job A cria dataset.

Job B tenta acessar.

Mas:

owner/permissão mudou.

Resultado:

💥 S913


☕ O S913 E O PROTECTED DATASETS

Datasets críticos costumam ser blindados:

  • folha salarial

  • financeiro

  • cartões

  • PIX

  • banking core

  • produção

O RACF leva isso MUITO a sério.


🔥 O S913 E O AUDITOR

Toda violação geralmente fica registrada.

Mainframe possui auditoria fortíssima.


☕ O S913 E O OPERADOR

Até operadores podem ter limites.

No z/OS:

privilégio é granular.


🔥 O S913 E O SURROGAT

Modo arquimago ativado.

Jobs submetidos em nome de outros usuários podem falhar por:

surrogate authorization.


☕ O S913 E O APF

Bibliotecas APF também possuem proteção pesada.


🔥 O SEGREDO DOS VETERANOS

Veteranos sempre perguntam:

“QUAL RECURSO FOI NEGADO?”

Porque o S913 é:

sintoma.

O alvo verdadeiro está na mensagem RACF.


☕ COMO EVITAR S913


✅ Validar permissões antes


✅ Revisar DISP


✅ Entender READ vs UPDATE


✅ Validar grupos RACF


✅ Revisar mudanças de segurança


✅ Evitar hardcode de datasets protegidos


✅ Trabalhar junto com equipe RACF


🔥 CURIOSIDADE HISTÓRICA

O S913 nasceu na era em que:

bancos começaram a depender totalmente do mainframe.

IBM percebeu cedo que segurança corporativa precisava ser:

rígida

auditável

centralizada

RACF virou um dos sistemas de segurança mais respeitados do mundo.


☕ EASTER EGG MAINFRAME

Veteranos brincam:

“S913 significa:

Você Tentou Entrar Onde Não Devia.”


🔥 O MAIOR ENSINAMENTO DO S913

Ele ensina algo profundo:

no z/OS, SEGURANÇA vem antes da conveniência.

Não importa:

  • se o programa funciona

  • se o JCL está perfeito

  • se o COBOL compilou

Sem autorização:

nada acontece.


☕ A VERDADE FINAL

O S0C7 pune dados inválidos.
O S0C4 pune memória inválida.
O S806 pune programas inexistentes.
O S878 pune fragmentação de storage.

Mas…

☕ O S913 É O MOMENTO EM QUE O z/OS OLHA PARA VOCÊ… E DECIDE QUE VOCÊ NÃO TEM PERMISSÃO PARA PASSAR PELO PORTÃO.