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

quinta-feira, 5 de junho de 2025

Visite Bellacosa Mainframe

Ajude a divulgar nossa pagina sobre IBM Mainframe, visite, compartilhe, interaja, seu click nos ajudará na Missão de Divulgar o COBOL as novas gerações de DEV.

BELLACOSA MAINFRAME






sexta-feira, 12 de abril de 2024

Uma visão geral sobre o trabalhador de Mainframe

Equipe de desenvolvimento mainframe


Descubra a Stack MAINFRAME e veja o que necessita para ser um Desenvolvedor COBOL de Sucesso. Aprenda COBOL, há 65 anos revolucionando o mercado de informática.

quinta-feira, 11 de abril de 2024

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.

 

segunda-feira, 13 de outubro de 2014

Iniciação ao REXX – Quando o Mainframe Te Apresenta um Novo Amigo

 


Iniciação ao REXX – Quando o Mainframe Te Apresenta um Novo Amigo

“REXX não é moda. REXX é sobrevivência.”

Quem trabalha com z/OS, z/VM ou IBM Z cedo ou tarde chega a essa constatação:
não importa quantos produtos enterprise você tenha, sempre haverá aquele momento em que o problema é pequeno demais para COBOL, complexo demais para JCL e burocrático demais para justificar uma nova ferramenta.

É exatamente nesse espaço — invisível para muitos — que mora o REXX.

Subestimado, silencioso, quase sempre ignorado… até o dia em que você descobre que ele resolve 80% das dores do dia a dia com meia dúzia de linhas.

Este post é um convite:
👉 conhecer o REXX não como linguagem, mas como companheiro de trincheira no mainframe.



📜 Um pouco de história (porque nada no mainframe surge do nada)

O REXX (Restructured Extended Executor) nasceu em 1979, dentro da IBM, criado por Mike Cowlishaw.
A motivação era simples e genial:

Criar uma linguagem fácil de ler, difícil de quebrar e totalmente integrada ao sistema.

Enquanto o mundo brigava com sintaxe pesada, pontuação excessiva e códigos ilegíveis, o REXX nasceu com uma ideia revolucionária para a época:

  • tudo é string

  • tipagem dinâmica

  • sintaxe próxima do inglês

  • tolerância a erro humano

📌 Curiosidade:
REXX é mais antigo que Perl, Python e Ruby — e já fazia muita coisa que elas só popularizaram décadas depois.


🧠 REXX não vive sozinho: ambientes de processamento e comando

Aqui está o primeiro choque para quem vem de linguagens “tradicionais”:

👉 REXX não existe fora de um ambiente.

Antes de escrever código, você precisa entender onde ele roda e com quem ele conversa.

Ambientes de Processamento

  • TSO/E

  • ISPF

  • Batch TSO

  • Batch não-TSO

  • z/VM (CMS / CP)

O mesmo EXEC pode se comportar de forma totalmente diferente dependendo do ambiente.

📌 Easter egg de sobrevivência:

Se você não sabe em que ambiente está, o erro não é do REXX — é seu.


Ambientes de Comandos

REXX não executa comandos diretamente.
Ele endereça comandos a um ambiente específico.

address tso "listcat level('USER01')" address ispexec "display panel(MYPANEL)"

Isso explica por que REXX é tão poderoso:
ele fala a língua do sistema.


🧱 Fundamentos do REXX – Simples, mas não simplório

Filosofia da linguagem

  • Tudo é string

  • Conversão automática quando necessário

  • Pouca pontuação

  • Código legível

  • Menos regras, mais resultado

say 'Hello, Mainframe!'

Sem ponto e vírgula.
Sem BEGIN obrigatório.
Sem cerimônia.

📌 Curiosidade perigosa:
Variáveis não inicializadas não geram erro.
Elas retornam o próprio nome.
Ótimo para debug… péssimo se você não souber 😄


Entrada, saída e lógica

  • SAY → saída

  • PULL → entrada (stack)

  • IF / THEN / ELSE

  • DO / END

  • EXIT

Aqui o REXX começa a mostrar sua vocação: automatizar decisões, não apenas executar código.


🖥️ REXX e o Ambiente TSO – Onde a mágica começa

Com REXX você:

  • aloca datasets

  • consulta catálogos

  • automatiza comandos

  • elimina JCL desnecessário

address tso "allocate fi(arq1) da('user.test.ps') shr" address tso "listalc"

📌 Comentário Bellacosa:
REXX + TSO = menos JCL, menos erro, menos dor de cabeça.


📦 CLISTs x EXECs – O passado e o presente

CLIST fez história.
Mas o REXX fez melhor.

  • EXECs são mais poderosos

  • Mais legíveis

  • Mais fáceis de manter

  • Melhor integração

Entender a sequência de busca (SYSEXEC, SYSPROC…) é obrigatório.

📌 Easter egg clássico:
“EXEC não encontrado” quase sempre é DD errado, não código errado.


🔁 Programação REXX – Onde o iniciante vira sysprog

Aqui o REXX mostra que não é brinquedo:

  • Funções e subrotinas

  • Escopo de variáveis

  • DO composto

  • ITERATE e LEAVE

  • SELECT (case statement elegante)

  • SIGNAL e SIGNAL VALUE

  • INTERPRET (meta-programação!)

cmd = "say 'REXX é poderoso'" interpret cmd

📌 Comentário raiz:
INTERPRET é um sabre de luz.
Poderoso… mas não entregue para qualquer padawan.


🌳 Variáveis, Strings e o poder do PARSE

Stems – arrays antes dos arrays

nome.1 = 'Ana' nome.2 = 'João' nome.0 = 2

PARSE – o superpoder escondido

parse var linha campo1 ',' campo2

📌 Curiosidade:
PARSE elimina dezenas de IFs, SUBSTRs e gambiarras.


📂 EXECIO – O mini DFSORT do dia a dia

"EXECIO * DISKR ARQ1 (STEM LIN.)"

Com EXECIO você:

  • lê arquivos

  • grava datasets

  • processa linhas

  • automatiza relatórios

Tudo sem sair do REXX.


🧪 Depuração – Porque errar faz parte

REXX não te abandona quando algo dá errado:

  • TRACE

  • RC

  • SIGL

  • SOURCELINE

  • CONDITION

📌 Curiosidade histórica:
Debug nativo em REXX era luxo quando muitas linguagens nem sonhavam com isso.


⚙️ Batch, endereços e ambientes avançados

REXX roda:

  • em batch TSO

  • fora do TSO

  • em múltiplos ambientes de comando

say address()

📌 Comentário Bellacosa:

Antes de perguntar “por que falhou”, pergunte “onde estou rodando”.


🚀 Compilador REXX – Performance e proteção

Sim, REXX pode ser compilado:

  • melhora performance

  • protege código

  • usado em ambientes críticos

Mesmo compilado, ele não perde sua alma dinâmica.


☕ Conclusão – Por que REXX vira amigo

REXX não tenta competir com COBOL.
Não substitui Assembler.
Não briga com produtos enterprise.

Ele faz algo muito mais valioso:

👉 resolve problemas reais com o que já existe no sistema.

Quem domina REXX:

  • automatiza mais

  • depende menos

  • entende melhor o ambiente

  • sobrevive melhor no data center

No mainframe, o melhor amigo
não é o software mais caro…
é o que resolve às 3 da manhã.

Bem-vindo ao REXX.
Ele sempre esteve aí. ☕🖥️


domingo, 20 de outubro de 2013

🔎 Guia Prático de Comandos TSO para Padawans

 


🔎 Guia Prático de Comandos TSO para Padawans

Salve jovem padawan em nosso segundo artigo de 2026, vamos mergulhar um pouco em comandos de linha no TSO, onde poderemos explorar melhor o sistema Z, criar dataset, consultar, limpar, alocar e testar.

Ganhando velocidade em nosso desenvolvimento e dominando melhor o ambiente Z, seja bem-vindo e conto com seu comentarios e criticas para melhorarmos e irmos mais longe.

Para não apanhar do terminal logo no login


🧠 Antes de tudo: o que é TSO de verdade?

TSO (Time Sharing Option) não é: 

❌ só uma tela preta 

❌ um “modo antigo” 

❌ um castigo divino

TSO é:

A interface raiz do z/OS para trabalhar diretamente com o sistema.

Se o mainframe fosse um avião:

  • TSO é o painel cru de instrumentos
  • ISPF é o cockpit amigável

Todo mainframeiro de respeito precisa saber sobreviver no TSO puro.


⌨️ Sintaxe básica do TSO (lei universal)

COMANDO OPERANDO PARÂMETROS

Regras não escritas:

  • Espaço separa argumentos
  • Parênteses organizam opções
  • Aspas protegem nomes longos
  • Abreviações são comuns (e perigosas 😈)


📂 Comandos essenciais para datasets

📌 LISTDS – listar datasets

LISTDS 'USERID.*'

🔎 Dica El Jefe:

  • Use LEVEL para evitar varrer o catálogo inteiro

LISTDS LEVEL(USERID)

⚠️ Perigo:

  • LISTDS * pode virar pecado mortal em produção


📌 DELETE – apagar datasets

DELETE 'USERID.TESTE.ARQUIVO'

☠️ Atenção:

  • Não existe lixeira
  • Apagou, rezou


📌 RENAME – renomear

RENAME 'USERID.OLD' 'USERID.NEW'

📖 Visualização de conteúdo

📌 LISTCAT – catálogo é lei

LISTCAT ENTRIES('USERID.ARQ') ALL

Use quando:

  • Dataset “existe mas não existe”
  • Erro estranho de allocation
  • Discussão com storage admin 😎


📌 PRINT – ver conteúdo

PRINT DS('USERID.ARQ')

⚠️ Não abuse com arquivos grandes. Seu spool agradece.


⚙️ Execução e controle de ambiente

📌 ALLOC – alocar datasets

ALLOC FI(ARQ1) DA('USERID.TESTE') SHR

🧠 Tradução humana:

  • FI = nome lógico
  • DA = dataset físico
  • SHR = leitura compartilhada


📌 FREE – liberar alocação

FREE FI(ARQ1)

Nunca confie que o sistema vai limpar sozinho.


📤 Trabalhando com JOBs

📌 SUBMIT – enviar JCL

SUBMIT 'USERID.JCL.TESTE'

🔥 Dica El Jefe:

  • Use SUBMIT * dentro do editor para ganhar tempo


📌 STATUS – ver jobs ativos

STATUS

Simples. Antigo. Funcional.


👤 Usuário e sessão

📌 PROFILE – perfil do usuário

PROFILE

Mostra:

  • Prefixo
  • Tamanho de região
  • Opções ativas


📌 LOGOFF – sair com dignidade

LOGOFF

Nunca feche o navegador achando que “tá tudo bem”.


🧨 Erros clássicos de padawan

❌ Digitar dataset sem aspas

❌ Apagar sem conferir

❌ LISTDS muito genérico

❌ Esquecer FREE

❌ Confundir TSO com ISPF


🥚 Easter-eggs de veterano

  • Muitos comandos aceitam abreviação
  • HELP funciona (sim, sério)

HELP LISTDS

  • TSO responde melhor quando você é educado (quase)


🎓 Palavra final do El Jefe

Quem domina TSO, domina o chão de fábrica do mainframe.

ISPF é conforto. TSO é poder.

Aprender TSO não te torna antigo. Te torna consciente do que o sistema realmente faz.