Translate

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

quinta-feira, 23 de março de 2023

☕🔥 SMP/E — O Guardião Invisível do z/OS (ou: por que seu COBOL roda há 30 anos sem quebrar)

 

Bellacosa Mainframe fala sobre o guardião invisivel SMP/E no Z/OS

☕🔥 SMP/E — O Guardião Invisível do z/OS (ou: por que seu COBOL roda há 30 anos sem quebrar)

Se você é dev COBOL sênior, já viu de tudo: batch que roda desde o século passado, CICS que nunca cai, DB2 que parece imortal.

Mas tem um herói silencioso nisso tudo.

👉 O SMP/E (System Modification Program/Extended)

E hoje você vai enxergar ele como nunca viu:
não como ferramenta… mas como sistema de governança do caos controlado.


🧠 Antes de tudo: por que o SMP/E existe?

Volta comigo…

Década de 70/80.

  • Software entregue em fita
  • Correções manuais
  • Dependências no papel
  • Atualizar = rezar

👉 Resultado?

💥 Ambientes quebrando
💥 Versões inconsistentes
💥 “Funciona em um LPAR, não no outro”


💡 A resposta da IBM

Criar um sistema que:

  • Controla tudo
  • Versiona tudo
  • Rastreia tudo
  • Permite rollback

👉 Nasce o SMP… depois o SMP/E


🧬 O conceito que muda tudo

“No mainframe, nada é sobrescrito… tudo é versionado.”


🔄 O pipeline que mantém seu COBOL vivo

📦 RECEIVE

  • Entrada de PTF/APAR
  • Vai para SMPPTS

⚙️ APPLY

  • Atualiza target libraries
  • Seu programa começa a usar

💾 ACCEPT

  • Consolida na DLIB
  • Torna oficial

💡 Easter egg Bellacosa:

APPLY é tipo rodar um programa em teste
ACCEPT é dar “commit em produção”


🧩 FMID, PTF, APAR — o trio que você precisa dominar

🏗️ FMID

  • Produto base
  • Vem em RELFILE

🔧 PTF

  • Correção definitiva

🚨 APAR

  • Problema identificado

💡 Insight:

APAR é o bug report…
PTF é o merge aprovado 😄


📦 Onde as coisas realmente vivem

🧠 CSI (o cérebro)

  • VSAM KSDS
  • Guarda:
    • histórico
    • elementos
    • zones

🌍 Zones

ZoneFunção
Globalcontrole
Targetruntime
DLIBbaseline

📁 Datasets que poucos explicam direito

DatasetFunção
SMPPTSentrada (PTF/APAR)
SMPSCDSsource temporário
SMPMTSmacros
SMPSTSbackup (RESTORE)
SMPLOGlogs

💥 Curiosidade:

Um APPLY grande pode alocar +100 datasets automaticamente


🔗 Dependências — onde o caos vira matemática

Você pede:

APPLY PTFZ

O SMP/E resolve:

PTFX → PTFY → PTFZ

E ainda entende:

  • supersede
  • co-requisites
  • IFREQ

💡 Insight:

SMP/E é um resolvedor de dependência muito antes do npm existir 😎


🛑 HOLDDATA — o “não faça isso agora”

6

📌 Exemplo real

++HOLD(PTF001) SYSTEM REASON(IPL)

👉 Significa:

  • precisa IPL
  • impacto sistêmico

🧠 Tipos

  • ERROR
  • SYSTEM
  • USER
  • DOC

🔥 Easter egg

Você pode ignorar:

APPLY BYPASS(HOLDSYSTEM)

Mas…

“Com grandes poderes vêm grandes incidentes” 😄


🧬 Rastreabilidade absurda (nível mainframe)

Cada módulo tem:

  • FMID (origem)
  • RMID (quem substituiu)
  • UMID (última mudança)

💡 Pergunta de produção:

“Quem alterou esse módulo?”

👉 SMP/E responde.


❌ REJECT vs 🔄 RESTORE

AçãoComando
Desfazer RECEIVEREJECT
Desfazer APPLYRESTORE

💥 Regra de ouro:

RECEIVE → REJECT
APPLY → RESTORE

🏗️ DDDEF — o detalhe que poucos dominam

👉 Define datasets para SMP/E

  • Nome
  • Espaço
  • Formato

💡 Insight forte:

DDDEF transforma SMP/E em sistema autônomo


🧠 UCLIN — mexendo no cérebro do sistema

UCLIN.
ADD DDDEF(...)
ADD TARGETZONE(...)
ENDUCL.

⚠️ Curiosidade:

UCLIN é poderoso o suficiente para quebrar tudo… silenciosamente 😄


🔧 Administração avançada (nível operador raiz)

ComandoFunção
ZONECOPYclonar ambiente
ZONEEXPORTbackup
ZONEIMPORTrestore
ZONEEDITalteração em massa
UNLOADgerar UCLIN

📊 Relatórios — onde o SMP/E fala com você

  • SYSMOD STATUS → deu certo?
  • ELEMENT SUMMARY → o que mudou?
  • ERRSYSMODS → risco ativo

💡 Insight:

APPLY instala… relatório valida.


🌐 SMP/E moderno (sim, ele evoluiu)

RECEIVE ORDER CONTENT(ALL)

👉 Baixa direto da IBM:

  • PTF
  • APAR
  • HOLDDATA

💥 Curiosidade:

Algumas empresas rodam isso automaticamente semanalmente


🧪 Mini cenário real (pra fixar)

Você aplica uma PTF:

  • ✔ APPLY roda
  • ❌ batch começa a falhar

👉 O que você faz?

  1. Ver SMPLOG
  2. Ver ERRSYSMODS
  3. Identificar PTF
  4. Executar:
RESTORE SYSMOD(PTFxxxx)

💥 Sistema volta


🧠 Insight final (nível Bellacosa)

O SMP/E não é um instalador…
é um sistema de controle de estado do z/OS


☕🔥 Fechamento

Enquanto no mundo distribuído:

  • você instala
  • reza
  • e torce

No mainframe:

  • você recebe
  • aplica
  • aceita
  • rastreia
  • e volta atrás se precisar

💥 Frase final

“Seu COBOL roda há 30 anos não por sorte…
mas porque o SMP/E nunca deixou o caos entrar.”

 

segunda-feira, 16 de abril de 2007

O que é SMP/E?

 

Bellacosa Mainframe e o que é smp/e

O que é SMP/E?

Se existe uma ferramenta indispensável para manter um ambiente IBM Mainframe atualizado, essa ferramenta é o SMP/E.

Sempre que uma empresa instala:

  • uma nova versão do z/OS;

  • uma correção (PTF);

  • um novo produto IBM;

  • um patch de segurança;

  • uma atualização do CICS, Db2 ou IMS;

existe uma grande chance de o SMP/E estar envolvido.

Sem ele, administrar milhares de módulos e bibliotecas seria praticamente impossível.


Definição simples

O SMP/E (System Modification Program/Extended) é o sistema oficial do z/OS responsável por instalar, atualizar, corrigir e manter softwares no IBM Mainframe.

Ele controla todo o ciclo de vida dos produtos instalados, garantindo que as atualizações sejam aplicadas corretamente e que o ambiente permaneça consistente.

Em outras palavras:

O SMP/E é o "gerenciador de instalação e atualização de software" do IBM Mainframe.


Uma analogia simples

Imagine uma oficina responsável pela manutenção de uma frota de aviões.

Cada aeronave possui:

  • motores;

  • sistemas elétricos;

  • instrumentos;

  • softwares.

Quando uma peça precisa ser substituída, não basta instalar qualquer componente.

É necessário verificar:

  • compatibilidade;

  • versão;

  • histórico;

  • documentação.

O SMP/E faz exatamente isso para os softwares do z/OS.


O que significa SMP/E?

SMP/E significa:

System Modification Program/Extended

Em português:

Programa Estendido de Modificação do Sistema.

Apesar do nome, sua função vai muito além de "modificar".

Ele controla praticamente toda a manutenção de softwares do ambiente z/OS.


Para que serve?

O SMP/E é utilizado para:

  • instalar produtos IBM;

  • aplicar PTFs;

  • instalar APARs corrigidas;

  • aplicar HOLDDATA;

  • instalar novas versões;

  • controlar dependências;

  • manter histórico das instalações;

  • remover atualizações quando necessário.


Por que o SMP/E é importante?

Imagine instalar uma atualização do Db2.

Essa atualização modifica:

  • centenas de módulos;

  • bibliotecas;

  • macros;

  • programas;

  • documentação.

Fazer tudo manualmente seria extremamente arriscado.

O SMP/E automatiza esse processo.


Como funciona?

O fluxo básico é:

IBM

↓

Correção (PTF)

↓

Recebimento (RECEIVE)

↓

Análise (APPLY CHECK)

↓

Aplicação (APPLY)

↓

Aceitação (ACCEPT)

Cada etapa possui uma finalidade específica.


Principais componentes

SYSMOD

É o nome genérico dado às modificações controladas pelo SMP/E.

Uma SYSMOD pode ser:

  • PTF;

  • APAR;

  • USERMOD;

  • FUNCTION.


PTF

Program Temporary Fix.

É uma correção oficial liberada pela IBM.

Exemplo:

UI12345

APAR

Authorized Program Analysis Report.

Representa um problema identificado em um produto IBM.

Após sua correção normalmente surge uma PTF.


HOLDDATA

Contém informações importantes sobre atualizações.

Pode informar:

  • dependências;

  • pré-requisitos;

  • cuidados especiais;

  • necessidade de IPL.


USERMOD

Modificação criada pelo próprio cliente.

Muito utilizada para customizações.


FUNCTION

Representa uma nova funcionalidade ou instalação inicial de um produto.


O banco de dados do SMP/E

O SMP/E mantém informações em um conjunto de datasets chamado:

CSI

Consolidated Software Inventory

Ele registra:

  • produtos instalados;

  • versões;

  • PTFs;

  • APARs;

  • dependências;

  • histórico.

É o "cadastro" de todo o software do sistema.


As principais zonas do SMP/E

O ambiente é dividido em zonas.

Global Zone

Controla todo o ambiente SMP/E.


Target Zone

Representa os produtos que estão em uso.

É a biblioteca utilizada pelo sistema operacional.


Distribution Zone

Contém a cópia mestre dos produtos instalados.

Serve como referência para futuras manutenções.


O processo RECEIVE

O RECEIVE recebe as atualizações.

Exemplo:

IBM

↓

PTF

↓

RECEIVE

Nenhuma alteração ocorre no sistema ainda.

Apenas o recebimento.


APPLY CHECK

Antes da instalação real, executa-se:

APPLY CHECK

O SMP/E verifica:

  • dependências;

  • conflitos;

  • pré-requisitos.

Nenhuma alteração é realizada.

É um "ensaio".


APPLY

Agora sim.

A atualização é instalada.

PTF

↓

APPLY

↓

Bibliotecas TARGET

ACCEPT

Após validar a atualização, executa-se:

ACCEPT

A alteração passa também para as bibliotecas DISTRIBUTION.


Fluxo completo

IBM

↓

RECEIVE

↓

APPLY CHECK

↓

APPLY

↓

Testes

↓

ACCEPT

Esse é o fluxo clássico do SMP/E.


Quem utiliza?

Principalmente:

  • Sysprogs;

  • Administradores z/OS;

  • Especialistas SMP/E;

  • Administradores CICS;

  • Administradores Db2;

  • Administradores IMS.

Programadores COBOL normalmente não utilizam o SMP/E diretamente.


Benefícios

Segurança

Instala apenas atualizações válidas.


Histórico completo

Tudo fica registrado.


Controle de dependências

Evita instalações incorretas.


Padronização

Todos os ambientes seguem o mesmo processo.


Recuperação

Facilita retornar a versões anteriores quando necessário.


Curiosidades incríveis

1. O SMP/E existe há décadas

Ele evoluiu junto com o z/OS e continua sendo a principal ferramenta de manutenção de software do IBM Mainframe.


2. Grandes ambientes possuem milhares de PTFs instaladas

O CSI controla todas elas automaticamente.


3. O APPLY CHECK evita muitos problemas

Ele identifica conflitos antes que qualquer alteração seja aplicada ao sistema.


4. Quase todos os produtos IBM para z/OS utilizam SMP/E

Entre eles:

  • z/OS;

  • CICS;

  • Db2;

  • IMS;

  • MQ;

  • RACF;

  • TCP/IP;

  • inúmeros outros produtos IBM e de terceiros compatíveis com o processo.


Erros comuns de iniciantes

"PTF é igual APAR"

Não.

A APAR descreve um problema.

A PTF é a correção distribuída para resolver esse problema.


"RECEIVE instala a atualização"

Não.

O RECEIVE apenas recebe a atualização.

A instalação ocorre durante o APPLY.


"Depois do APPLY posso apagar tudo"

Não.

O ACCEPT atualiza as bibliotecas de distribuição e consolida a manutenção.

Ele faz parte do processo recomendado.


Quando aprender SMP/E?

Depois de compreender:

  • z/OS;

  • datasets;

  • JCL;

  • Storage;

  • bibliotecas do sistema.

Esse conhecimento é essencial para quem pretende atuar como Sysprog ou administrador de ambientes IBM Z.


Conclusão

O SMP/E é a ferramenta oficial do IBM Mainframe para instalação e manutenção de software no z/OS. Ele controla todo o ciclo de vida de atualizações, desde o recebimento de correções até sua aplicação e consolidação, garantindo segurança, rastreabilidade e consistência.

Ao automatizar o gerenciamento de PTFs, APARs, USERMODs e novas versões de produtos, o SMP/E tornou-se um dos pilares da administração do IBM Z. Compreender seu funcionamento é indispensável para qualquer profissional que deseje trabalhar com infraestrutura, administração de sistemas ou manutenção de ambientes mainframe.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988