Mostrar mensagens com a etiqueta produção. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta produção. Mostrar todas as mensagens

terça-feira, 28 de julho de 2020

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

 

Bellacosa Mainframe apresenta Suporte a Produção

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

Se você já deu CANCEL com o coração na mão, já leu dump em hexadecimal, já decorou mensagem $HASP melhor que CPF, então este texto não é para iniciantes.
Aqui falamos de Produção de verdade. Sem romantização. Sem power-point bonito.


🧠 Suporte à Produção Mainframe ≠ Operação

É engenharia operacional sob carga real.

Produção não é:

  • Rodar job

  • Reiniciar STC

  • Abrir chamado

Produção é:

  • Análise de impacto

  • Decisão em ambiente crítico

  • Entendimento sistêmico do z/OS

  • Correlação entre eventos aparentemente desconexos

Produção é onde o design encontra a realidade — e geralmente perde.


🕰️ Raiz Histórica (para quem veio do MVS, não do YouTube)

O Suporte à Produção nasce quando:

  • O batch deixou de ser “linear”

  • O online passou a ser 24x7

  • O negócio começou a depender de janela de processamento

  • O erro deixou de ser aceitável

A evolução foi clara:

  • Operador de console

  • Analista de Produção

  • Especialista em estabilidade operacional

Hoje, Produção é a última linha de defesa entre o z/OS e o prejuízo financeiro.


🎯 Objetivo Real do Suporte à Produção (versão sem marketing)

  • Garantir throughput, não apenas execução

  • Controlar contenção, não apenas erro

  • Preservar integridade transacional

  • Manter SLA, RTO e RPO

  • Atuar antes do incidente virar crise

Veterano sabe:

Produção não corrige código — corrige efeito colateral.


🧩 Arquitetura de Conhecimento (o que separa júnior de veterano)

🖥️ z/OS — domínio do núcleo

  • JES2/JES3, initiators, classes, priorities

  • Spool contention

  • ENQ/DEQ, RESERVE, latch

  • WTOR, automation hooks

  • Dumps SVC vs SYSMDUMP

🔥 Apimentado:
Quem não entende JES não entende produção.


🧠 CICS — transação é sagrada

  • Task Control

  • Storage violation

  • Transaction isolation

  • Deadlock silencioso

  • Dumps DSNAP / CEEDUMP

El Jefe truth:

CICS não cai — ele sangra em silêncio.


📬 MQ — quando o assíncrono vira gargalo

  • Depth x High/Low Threshold

  • Channels retrying

  • Poison message

  • Commit vs rollback

  • Impacto no batch e no online

🔥 Easter egg:
Fila cheia é sintoma, não causa.


🔌 Integration Bus (Broker)

  • Flow degradation

  • Message backlog

  • XML/JSON parsing cost

  • CPU vs I/O trade-off

  • Propagação de erro invisível

Fofoquice técnica:
Quando o Broker falha, todo mundo aponta para o mainframe.


🧪 REXX — automação tática

  • Monitoramento ativo

  • Ações condicionais

  • Coleta de evidência

  • Resposta automática a eventos

  • Integração com SDSF, consoles e logs

🔥 Produção sem REXX é operação cega.


🗄️ DB2 Utilities — o campo minado

  • REORG mal planejado

  • RUNSTATS atrasado

  • Lock escalation

  • Deadlock intermitente

  • Log pressure

Frase clássica:

“Não mexe agora… deixa rodar.”


🌐 WebSphere / Acesso Remoto

  • JVM pressure

  • Thread starvation

  • Timeout mascarado

  • Latência invisível

  • Cascata de falhas

🔥 Curiosidade:
O Web cai rápido. O mainframe aguenta a culpa.


🔍 Funcionamento Real em Produção (sem filtro)

  1. Sintoma aparece longe da causa

  2. Métrica parece normal

  3. SLA corre

  4. Dump gerado

  5. Análise cruzada (JES + CICS + DB2 + MQ)

  6. Decisão com risco calculado

  7. Execução mínima, impacto máximo

  8. Ambiente estabiliza

  9. Post-mortem técnico

  10. Documentação (que ninguém lê… até precisar)


🧠 Mentalidade do Veterano

✔️ Não confia em “achismo”
✔️ Não executa comando sem rollback mental
✔️ Pensa em efeito dominó
✔️ Prefere degradar a parar
✔️ Sabe quando não agir

☕🔥 Regra de ouro:

Em Produção, o comando mais perigoso é o que “sempre funcionou”.


🥚 Easter Eggs de Produção

  • Todo ambiente tem um job que “ninguém encosta”

  • Sempre existe um dataset com DISP=SHR que não deveria

  • Todo incidente grave começa com:

    “Isso nunca aconteceu antes…”

  • O melhor analista é o que não aparece no incidente report


🧨 Conclusão — El Jefe Midnight Lunch Manifesto

Suporte à Produção Mainframe é:

  • Arquitetura viva

  • Engenharia sob estresse

  • Decisão sem margem de erro

  • Responsabilidade sem aplauso

Não é glamour.
Não é palco.
É confiança operacional.

☕🔥 Se você já sobreviveu a uma madrugada de produção,
você sabe:

Produção não ensina — ela seleciona.

 

sábado, 21 de setembro de 2013

🔥 “PASSOU EM HOMOLOGAÇÃO… QUEBROU EM PRODUÇÃO”: O Fantasma do S0C7 que Só Aparece Depois — Um Guia de Sobrevivência para QA, Sustentação e Padawans do Mainframe ☕💻

 

Bellacosa Mainframe ajudando a solucionar abends soc7

🔥 “PASSOU EM HOMOLOGAÇÃO… QUEBROU EM PRODUÇÃO”: O Fantasma do S0C7 que Só Aparece Depois — Um Guia de Sobrevivência para QA, Sustentação e Padawans do Mainframe ☕💻

Senhoras e senhores da trincheira do legado, cavaleiros do JCL, monges do dump IPCS e jovens padawans da qualidade…

Existe uma entidade que não respeita cronograma, SLA, ITIL nem cerimônia ágil.

Ela não aparece no DEV.
Não aparece no SIT.
Não aparece na UAT.

Mas às 02:37 da manhã de domingo, em batch crítico…

💥 S0C7 — DATA EXCEPTION

E o telefone toca.


☕ A História que Todo Time de Sustentação Já Viveu

Projeto entregue.
Testes aprovados.
Checklist verde.
Change implementado.

Primeira carga real de produção.

Tudo parece normal… até o job noturno cair.

No log:

IGZ0006S A data exception (System Completion Code=0C7)

O desenvolvedor jura:

“Mas isso passou em todos os testes!”

O analista de QA responde:

“Usamos os dados homologados aprovados pelo negócio.”

O suporte pensa:

“Ok… quem mexeu no layout do arquivo?”


🧠 Verdade Inconveniente nº 1

Homologação testa cenários.
Produção testa a realidade.

E a realidade tem:

✔ Dados sujos
✔ Interfaces antigas
✔ Sistemas externos fora de padrão
✔ Arquivos truncados
✔ Migrações parciais
✔ Conversões mal documentadas
✔ Operadores humanos cansados
✔ Programas de 1987 rodando “intactos”


🔎 O Vilão Invisível: Dados NÃO CONFIÁVEIS

Em ambientes corporativos reais, especialmente em sistemas core:

👉 O programa raramente quebra por lógica
👉 Ele quebra porque confiou em dados inválidos

E quando existe COMP-3 no meio

💣 Basta um nibble errado.


🧩 Onde QA e Homologação Mais Erram (Sem Saber)

Testes usam dados:

✔ Bonitos
✔ Consistentes
✔ Validados
✔ “De laboratório”

Produção usa dados:

💀 Históricos
💀 Herdados
💀 Convertidos
💀 Misturados
💀 Incompletos
💀 Digitados manualmente


📜 Um Easter Egg Histórico (Pouca Gente Sabe)

Nos anos 70 e 80, quando dados vinham de cartões perfurados e fitas:

👉 Erros físicos eram comuns
👉 Leituras incompletas aconteciam
👉 Bits podiam “virar”

Por isso, muitos sistemas antigos tinham:

  • Validações redundantes

  • Campos de controle

  • Checksums primitivos

  • Programas “sanitizadores”

Com a modernização…

Essas camadas desapareceram.

Mas os dados continuaram vivos.


🧨 Exemplo Real Clássico de Produção

Arquivo externo enviado por parceiro.

Layout:

05 VALOR-TOTAL PIC S9(9)V99 COMP-3.

Em homologação:

✔ Arquivo gerado por ferramenta
✔ Dados corretos

Em produção:

Um registro veio truncado por erro na transferência.

Hex esperado:

12 34 56 78 9C

Hex recebido:

12 34 56 78 9A

Nibble final inválido.

Resultado:

💥 S0C7 ao fazer COMPUTE


⚠️ Verdade Inconveniente nº 2

O erro não acontece na leitura.
Nem no MOVE.

👉 Ele explode quando o valor é usado.

Ou seja:

O problema pode estar centenas de linhas antes.


🛠️ Como Times de Sustentação Resolvem de Verdade

Não é só “corrigir o programa”.

É fazer engenharia reversa do desastre.

✔ Passo 1 — Identificar o registro exato

  • Dump

  • SYSOUT

  • SMF

  • Logs do step anterior


✔ Passo 2 — Analisar HEX (não DISPLAY)

Porque COMP-3 não é texto.

Ferramentas comuns:

  • IPCS

  • File-AID

  • Abend-AID

  • Debug Tool


✔ Passo 3 — Descobrir a origem

Perguntas chave:

  • Quem gerou o arquivo?

  • Houve compressão?

  • Transferência binária ou texto?

  • Mudou o layout?

  • Sistema fonte mudou linguagem?

  • Houve conversão ASCII/EBCDIC?


🧪 Guia de Ouro para QA de Mainframe

Se você trabalha com qualidade, homologação ou testes…

💎 Teste dados feios.

Crie cenários com:

  • Campos vazios

  • Bytes inválidos

  • Tamanhos errados

  • Registros truncados

  • Valores máximos

  • Valores negativos inesperados

  • Arquivos mistos

  • Dados históricos reais anonimizados

👉 Isso vale mais que mil casos “bonitinhos”.


🧙‍♂️ Técnicas de Defesa que Mestres do Mainframe Usam

🔹 Inicialização agressiva

MOVE ZERO TO WS-AMOUNT

🔹 Validação na entrada

Nunca confiar em interface externa.


🔹 Programas sanitizadores

Batch que valida e rejeita registros suspeitos antes do processamento principal.


🔹 Versionamento rigoroso de copybooks

Uma pequena divergência de layout pode causar caos.


🔹 Testes com dados de produção (mascarados)

Isso separa ambientes maduros dos amadores.


🤯 Curiosidade Técnica Pouco Comentada

S0C7 não é erro “de COBOL”.

É um hardware exception de decimal arithmetic tratado pelo runtime.

Ou seja:

👉 O processador detecta que os bits não formam um número decimal válido.

Mainframe não “tenta adivinhar”.
Ele simplesmente interrompe.

Precisão absoluta > tolerância.


🧩 Verdade Final para Padawans

Se você viu S0C7…

Não pense primeiro no código.

Pense:

“Qual dado traiu o programa?”


☕ Moral da História

Produção não é um ambiente maior.

É um ambiente mais caótico.

Programas COBOL antigos sobrevivem décadas porque:

👉 Foram escritos assumindo que o mundo é imperfeito.

Quando esquecemos disso…

O legado cobra.


💥 Regra de Ouro do Bellacosa Mainframe

“Sistema robusto não é o que funciona com dados corretos.
É o que sobrevive a dados errados.”

 

quarta-feira, 3 de novembro de 2010

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional

 

Bellacosa Mainframe apresenta o REXX

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional  

Se você já salvou produção com um exec improvisado, já rasgou SDSF via ADDRESS, ou já ouviu

“isso dá pra automatizar em REXX, né?”
então puxa a cadeira.
Aqui é REXX técnico, sem verniz didático e com cheiro de madrugada.


🕰️ Histórico & Origem — por que o REXX virou arma de produção

O REXX (Restructured Extended Executor) nasce na IBM nos anos 80 com uma missão clara:

  • Substituir JCL “verboso”

  • Padronizar scripts

  • Criar uma linguagem legível, extensível e integrada ao sistema

Ele não foi feito para ser “bonito”.
Foi feito para controlar ambiente.

Verdade histórica:

REXX não é linguagem de apoio — é linguagem de governo operacional.


🧠 Conceito de Ambiente de Processamento

REXX não executa no vácuo.
Ele sempre roda dentro de um ambiente:

  • TSO/E

  • Batch

  • SDSF

  • ISPF

  • CICS (indiretamente)

  • Programas externos

Cada ambiente define:

  • Comandos válidos

  • RC interpretado

  • Recursos disponíveis

  • Permissões RACF

🔥 Easter egg:
O mesmo EXEC pode funcionar em TSO e falhar em Batch sem mudar uma linha.


🧩 Fundamentos da Linguagem — simples na superfície, profunda no núcleo

Sintaxe & Elementos

  • Tipagem dinâmica

  • Strings como cidadão de primeira classe

  • Sem declaração obrigatória

  • Case-insensitive (armadilha clássica)

📌 Exemplo:

parse upper arg parm1 parm2 if parm1 = '' then exit 8

Comentário ácido:
REXX perdoa erro demais — e isso cobra seu preço em produção.


🏗️ Estrutura de um Programa REXX

Todo EXEC sério tem:

  1. Identificação

  2. Validação de ambiente

  3. Tratamento de RC

  4. Controle de erro

  5. Cleanup

📌 Exemplo base:

/* REXX */ signal on error signal on failure signal on syntax address tso "ALLOC FI(IN) DA('DATASET') SHR" ... exit 0

🔥 Veterano sabe:
EXEC sem SIGNAL ON é convite ao caos.


🧮 Estrutura de Dados — tabelas na memória

REXX não tem array clássico.
Tem stem variables.

tab.1 = 'A' tab.2 = 'B' tab.0 = 2

Curiosidade:
Stem mal controlado vira memory leak conceitual.


📂 Acesso a Arquivos & Geração de Relatórios

  • ALLOC / FREE

  • EXECIO DISKR / DISKW

  • Geração de relatórios spoolados

  • Integração com SORT

📌 Exemplo:

"EXECIO * DISKR IN (STEM L.)" do i=1 to L.0 say L.i end

🔥 Easter egg:
EXECIO ignora erro… até você checar o RC.


🔃 Classificação & Manipulação de Dados

  • SORT via IDCAMS

  • SORT via ICETOOL

  • Manipulação em memória (lento)

  • Pipeline híbrido REXX + SORT

Regra de produção:

Se precisa ordenar muito, não é REXX — é SORT.


🗂️ Acesso a Diretório de PDS

REXX + ISPF services:

  • LMDINIT

  • LMMLIST

  • LMCLOSE

📌 Exemplo:

address ispexec "LMINIT DATAID(DID) DATASET('MY.PDS')" "LMMLIST DATAID(DID) OPTION(LIST)"

🔥 Veterano:
ISPF services dão poder… e risco.


🧑‍💻 Interatividade com Usuário (TSO)

  • Pseudo-conversational

  • Command-level

  • SAY / PULL

  • Mensagens controladas

Fofoquice:
Interface feia, mas resolve crise em minutos.


🧪 Modos de Execução REXX

🟢 REXX Linha de Comando (Online)

  • Interativo

  • Debug rápido

  • Dependente de perfil

🟡 REXX Batch Script (Interpretado)

  • Executa via IKJEFT01

  • Dependente de ambiente

  • Mais flexível

🔴 REXX Batch Compilado

  • Performance superior

  • RC previsível

  • Menos tolerante a erro

  • Exige processo de build

🔥 Script vs Compilado:

Interpretado é agilidade.
Compilado é confiabilidade.


🔐 REXX + RACF

REXX não ignora segurança:

  • Herda permissões do usuário

  • Pode consultar via RACROUTE (indireto)

  • Controla acesso via classes

Verdade dura:
EXEC com SPECIAL é bomba com pavio curto.


🗄️ REXX + DB2

  • DSNREXX

  • SQL dinâmico

  • RC + SQLCODE + SQLSTATE

  • Automação de consultas e relatórios

📌 Exemplo:

ADDRESS DSNREXX "EXECSQL SELECT COUNT(*) INTO :CNT FROM SYSIBM.SYSTABLES"

🔥 Easter egg:
SQLCODE ignorado vira incidente invisível.


🔀 ADDRESS — o coração da integração

ADDRESS muda o destino dos comandos:

  • TSO

  • ISPEXEC

  • SDSF

  • CONSOLE

  • DSNREXX

☕🔥 Regra sagrada:

Quem domina ADDRESS domina o sistema.


🔢 Return Code (RC) — o idioma da produção

  • RC ≠ erro sempre

  • RC precisa ser interpretado

  • Padronização é vital

if rc > 4 then exit rc

🔥 Veterano:
RC não tratado é mentira operacional.


📘 Programa do Curso — visão hardcore

Estrutura Geral / Labs

  • Ambiente restritivo

  • Casos reais

  • Incidentes simulados

Instruções REXX

  • IF, DO, SELECT

  • SIGNAL, EXIT

  • PARSE

Funções Internas / Sub-rotinas

  • Modularização

  • Reuso

  • Controle de escopo

Comandos REXX

  • SAY, PULL, TRACE

  • QUEUE / PULL

  • EXECIO

Funções TSO / CONSOLE

  • WTO

  • MODIFY

  • DUMP

  • SDSF

INTERPRET (🔥 perigoso)

  • Execução dinâmica

  • Flexibilidade extrema

  • Risco máximo

Comentário ácido:

INTERPRET é poder absoluto — use sóbrio.


🥚 Easter Eggs & Fofoquices REXX

  • Todo ambiente tem um EXEC “salvador”

  • Sempre existe um REXX sem comentários rodando há anos

  • O melhor REXX é o que não precisa ser explicado

  • Debug começa com TRACE ?R


☕🔥 Conclusão — Manifesto El Jefe REXX

REXX não é:

  • Script simples

  • Linguagem de iniciante

  • Alternativa ao COBOL

REXX é:

  • Cola do z/OS

  • Automação estratégica

  • Ferramenta de sobrevivência em produção

☕🔥 Quem domina REXX,
não programa apenas —
orquestra o mainframe.


quarta-feira, 1 de setembro de 2010

☕🖥️ Suporte à Produção Mainframe — o coração que mantém o z/OS batendo

 

Bellacosa Mainframe apresenta Suporte a Produção

☕🖥️ Suporte à Produção Mainframe — o coração que mantém o z/OS batendo 

Se desenvolvimento é o cérebro, Suporte à Produção Mainframe é o sistema nervoso central do ambiente z/OS. É quem sente a dor antes do usuário ligar, quem age antes do SLA estourar e quem garante que o batch das 23h termine antes do café esfriar ☕.

Vamos destrinchar esse tema com história, funcionamento, aplicações práticas, dicas de guerra, curiosidades, easter eggs e aquela fofoquice técnica que só mainframer raiz conhece.


🕰️ Origem & História — de Operador de Sala ao Analista de Produção

Nos primórdios do mainframe:

  • Existia a sala de máquinas

  • Operadores ficavam de olho em luzes piscando, fitas rodando e impressoras cantando

  • Um abend era quase um evento social 😅

Com a evolução:

  • Chegaram MVS, JES2, SDSF, CICS online

  • Depois z/OS, DB2, MQ, WebSphere, Integration Bus

  • E o operador virou Analista de Suporte à Produção, com visão técnica, analítica e estratégica

👉 Hoje, Suporte à Produção não é “apagar incêndio”, é prevenção, análise e controle do ecossistema.


🎯 O que é Suporte à Produção Mainframe?

É a área responsável por:

  • Acompanhar processamento batch e online

  • Analisar incidentes, falhas e degradação

  • Atuar em eventos críticos de produção

  • Garantir disponibilidade, performance e integridade

  • Usar ferramentas do z/OS para diagnóstico rápido e preciso

💡 Resumo Bellacosa:

Suporte à Produção é quem garante que o sistema funcione mesmo quando tudo conspira contra.


🎓 O que deve aprender para trabalhar em Suporte à Produção Mainframe

Esse programa de capacitação é praticamente um manual de sobrevivência do ambiente produtivo IBM Mainframe.

📚 Estrutura Geral

  • Artigos

  • Exercicios

  • Videos

  • Manuais IBM

👉 Ideal para quem quer pensar como Produção, não só executar comandos.


🧠 Objetivo Real (o que ninguém fala no folder)

Além do texto bonito, o curso prepara o aluno para:

  • Tomar decisão sob pressão

  • Escolher a melhor solução, não a mais óbvia

  • Entender impacto sistêmico

  • Dialogar com desenvolvimento, infraestrutura, segurança e negócio

💬 Frase clássica de produção:

“Pode até funcionar… mas em produção é outra história.”


👥 Público-Alvo (quem sobrevive bem nesse mundo)

  • Profissionais de TI

  • Operadores de Mainframe

  • Analistas em transição para Produção

  • Quem já cansou de ouvir:

    “Na homologação funcionou…”

📌 Pré-requisitos

  • TSO/ISPF

  • SDSF

  • Noções de z/OS

  • Inglês básico (sim, mensagem de erro não vem em português 😄)


🧩 Estrutura Curricular — o arsenal do Suporte à Produção

Vamos ao mapa das armas:

🖥️ z/OS

  • JES2, spool, jobs, STCs

  • WTOR, WTO, mensagens

  • Performance, datasets, enqueues

  • Easter egg: quem nunca decorou mensagem $HASP?


🧠 CICS

  • Regiões online

  • Transações travadas

  • Dumps, abends, filas

  • Curiosidade: CICS raramente “cai”… ele se defende


📬 MQ

  • Filas cheias

  • Mensagens presas

  • Canais parados

  • Dica de ouro: produção ama fila vazia e canal ativo


🔌 Integration Bus (Broker)

  • Integração entre mundos

  • Mensagens XML/JSON

  • Transformações e rotas

  • Fofoquice: quando quebra, ninguém sabe de quem é a culpa 😅


🧪 REXX

  • Automação de tarefas

  • Scripts de monitoramento

  • Ações rápidas em incidentes

  • Easter egg raiz: REXX salva madrugada!


🗄️ DB2 – Utilitários

  • REORG, RUNSTATS, COPY

  • Locks, deadlocks

  • Espaço e performance

  • Dica Bellacosa: DB2 lento quase sempre avisa antes


🌐 WebSphere / Servidores de Aplicação

  • Acesso remoto

  • Integração web

  • Monitoramento de serviços

  • Curiosidade: quando o web cai, o mainframe “leva a culpa”


🔍 Funcionamento na Prática — um dia típico de Produção

  1. Batch inicia

  2. Job abenda

  3. SLA começa a gritar

  4. SDSF aberto

  5. Mensagem analisada

  6. Dataset bloqueado

  7. Lock liberado

  8. Job restartado

  9. Negócio segue

  10. Usuário nem ficou sabendo 😎

👉 Isso é Suporte à Produção bem feito.


💡 Dicas de Ouro (nível Bellacosa Mainframe)

✔️ Aprenda a ler mensagens, não só copiar
✔️ Conheça o impacto do comando antes de executar
✔️ Documente tudo (memória falha às 3h da manhã)
✔️ Produção exige calma, método e sangue frio
✔️ O melhor incidente é o que não vira chamado


🥚 Easter Eggs & Curiosidades

  • Todo ambiente tem um job “maldito”

  • Sempre existe um STC que ninguém sabe para que serve

  • Produção aprende mais em 1 incidente do que em 10 cursos

  • O melhor elogio:

    “Nem percebemos que deu problema.”


☕ Conclusão Bellacosa Mainframe

O Suporte à Produção Mainframe não é apenas uma função — é uma mentalidade.

É entender:

  • Tecnologia

  • Processo

  • Negócio

  • Risco

  • Responsabilidade

Quem passa por Produção:

  • Vira profissional mais completo

  • Aprende a pensar grande

  • Ganha respeito técnico

📌 Em resumo:

Se o mainframe é o coração da empresa,
Suporte à Produção é quem garante que ele nunca pare de bater.