segunda-feira, 4 de outubro de 2010

SMP/E for z/OS Workshop : LIST & REPORT Commands

 

Bellacosa Mainframe apresenta SMP/E List and Report Commands

SMP/E for z/OS Workshop

ACCEPT Processing – LIST & REPORT Commands

Quando olhar o CSI é tão importante quanto instalar o código

Instalar SYSMOD qualquer um instala.
Agora… saber exatamente o que está instalado, onde, por quê e com qual dependência
👉 isso separa operador de System Programmer.

É aqui que entram os comandos LIST e REPORT.


LIST Command

Abrindo o CSI como quem abre o capô do sistema

O comando LIST é o bisturi do SMP/E.
Ele não interpreta, não deduz, não opina.
Ele mostra os fatos gravados no CSI.

📌 O LIST pode extrair informações de:

  • Global Zone

  • Target Zone

  • Distribution Zone

  • SMPPTS

  • SMPLOG

  • SMPSCDS

💡 Easter egg #1

Se você confia mais na memória do que no LIST,
o CSI vai te humilhar em algum momento.


Boundary: o detalhe que separa sucesso de confusão

Antes de usar LIST, você define o boundary:

  • Global Zone → acesso a SMPPTS

  • Zona com DDDEF do SMPLOG

  • Target Zone associada ao SMPSCDS

  • Ou tudo de uma vez com:

ALLZONES

⚠️ ALLZONES lista tudo que existe, não tudo que você quer ver.

💡 Easter egg #2

ALLZONES às 3 da manhã
é como dar SELECT * em produção.


O que dá pra listar no Global Zone

Com LIST você pode ver:

  • OPTIONS

  • UTILITIES

  • DDDEFs

  • FMIDSETs

  • ZONESETs

  • SYSMOD entries

  • MCS entries do SMPPTS

  • HOLDDATA (++HOLD)

HOLDDATA com lupa

Você pode filtrar por:

  • HOLDERROR

  • HOLDSYSTEM

  • HOLDUSER

E ainda combinar com SYSMOD específico.

📌 Se combinar filtros demais, o SMP/E só lista
entradas que satisfaçam todos.


Filtros avançados (onde mora o poder)

LIST aceita os mesmos refinamentos do APPLY/ACCEPT:

  • SOURCEID

  • EXSRCID

  • FORFMID

  • XZLMOD

  • XZLMODP

  • XREF

👉 Ideal para:

  • Debug de dependência

  • Auditoria

  • Pós-migração

  • Comparação entre ambientes

💡 Easter egg #3

SOURCEID bem usado
vale mais que planilha paralela.


LIST em Target e Distribution Zones

Além do básico, você pode listar:

  • TARGETZONE definition

  • DLIBZONE definition

  • DDDEFs

  • ELEMENT entries:

    • MOD

    • MAC

    • SRC

    • JAR

    • HFS

  • LMOD entries

SYSMOD entries com status

Você pode filtrar por:

  • ERROR

  • SUP (superseded)

  • NOSUP

  • RESTORE

  • NOAPPLY

  • NOACCEPT

  • BYPASS

  • DELETE

📌 SUP e NOSUP são mutuamente exclusivos.

💡 Easter egg #4

SYSMOD em ERROR não é bug
é aviso ignorado.


LIST LOG e BACKUP

  • LIST LOG → conteúdo do SMPLOG

    • Total ou por intervalo de data

  • LIST BACKUP → conteúdo do SMPSCDS

    • Tudo ou por SYSMOD específico

👉 LIST é o comando ideal para auditoria forense do SMP/E.


LIST vs DIALOG QUERY

LIST = dados brutos
QUERY = visão amigável

Quando a coisa aperta…
LIST sempre vence.


REPORT Command

Quando você precisa que o SMP/E pense por você

Se o LIST mostra,
o REPORT analisa.

Ele cruza zonas, dependências, FMIDs, SOURCEIDs e HOLDs
e ainda gera comandos prontos.

📌 REPORT é o SMP/E dizendo:

“relaxa, eu faço a correlação.”


REPORT CROSSZONE

Dependência entre produtos e zonas

Usado para responder:

“Instalei isso aqui… quebrou quem?”

Requisitos:

  • ZONESET obrigatório

  • Pode limitar por:

    • FMID

    • ZONE

O relatório mostra:

  • Dependências cruzadas

  • SYSMODs faltantes

  • Se já foram RECEIVED

  • Quem causou a dependência

👉 E ainda gera comandos SMP/E no SMPPUNCH

NOPUNCH

se você não quiser os comandos.

💡 Easter egg #5

SMPPUNCH esquecido
vira APPLY acidental.


REPORT ERRSYSMODS

Quando o passado volta pra cobrar

Identifica SYSMODs que:

  • Já foram instalados

  • Mas agora estão em ERROR HOLD

Pode analisar:

  • Global Zone

  • Target Zone

  • Distribution Zone

Filtros:

  • Data inicial / final

  • FMID

O relatório mostra:

  • SYSMOD afetado

  • Reason ID

  • Quem resolve

  • ++HOLD completo

💡 Easter egg #6

ERROR HOLD não some
só muda de lugar.


REPORT SOURCEID

Quem veio de onde?

Descobre:

  • Quais SOURCEIDs existem

  • Quais SYSMODs usam cada um

Com ou sem filtro por SYSMOD.

👉 Excelente para:

  • FIXCAT

  • Hardware novo

  • Coexistência

  • Migração de release


REPORT SYSMODS

Comparação entre zonas

Usado para:

  • Validar ambientes

  • Comparar releases

  • Checar desvio de serviço

Parâmetros:

  • INZONE

  • COMPAREDTO

Resultado:

  • O que existe em uma zona

  • E não existe na outra

  • Com comandos prontos para corrigir

💡 Easter egg #7

Ambiente “igual” sem REPORT
é fé, não evidência.


REPORT MISSINGFIX (FIXCAT)

Adeus PSP Bucket manual

Disponível a partir do SMP/E 3.6.

Identifica:

  • APARs faltantes

  • Por categoria FIXCAT

  • Para hardware, software e coexistência

Mostra:

  • FIXCAT

  • APAR

  • PTF corretivo

  • Dependências

  • Problemas de HOLD

📌 Dois blocos:
1️⃣ Missing fixes
2️⃣ Resolving SYSMODs em erro

💡 Easter egg #8

FIXCAT bem usado
economiza fim de semana inteiro.


Bellacosa Summary – em poucas linhas

LIST mostra o que existe
REPORT explica o impacto
SMPPUNCH sugere a correção
Você decide se confia


Checklist Bellacosa – LIST & REPORT

✔ LIST antes de APPLY
✔ REPORT antes de migrar
✔ FIXCAT sempre atualizado
✔ SOURCEID bem definido
✔ SMPPUNCH revisado
✔ LOG nunca ignorado


Conclusão

Quem domina LIST e REPORT:

  • Não instala no escuro

  • Não depende de planilha

  • Não descobre erro em produção

  • Não briga com auditor

💡 Easter egg final

O SMP/E sempre soube a verdade.
Você só precisava perguntar direito.

domingo, 3 de outubro de 2010

💽 Tracks, Cilindros e DASD no IBM Mainframe

Bellacosa Mainframe Storage e DASD 3390



💽 Tracks, Cilindros e DASD no IBM Mainframe

Arquitetura, não nostalgia

“O mainframe não mede storage em tracks e cilindros porque é antigo.
Ele faz isso porque sabe exatamente o que está fazendo.”


1️⃣ A origem da filosofia: quando hardware importava (e ainda importa)

Desde os primórdios do IBM System/360 (1964), o mainframe foi projetado com um princípio inegociável:

👉 Controle total do I/O

Naquela época:

  • Disco era caro

  • CPU era valiosa

  • I/O era o gargalo

💡 Conclusão da IBM:

“Se o gargalo é I/O, precisamos dominar o disco até o último detalhe físico.”

Assim nascem os conceitos de:

  • Track

  • Cilindro

  • Bloco

  • Extent

Nada disso é acaso. É engenharia.


2️⃣ O que é um TRACK (pista) – o átomo do DASD

📀 Track é:

  • Uma circunferência física no platter do disco

  • Unidade mínima de alocação real

  • Otimizada para leitura e escrita sequencial

Características importantes:

  • Contém um ou mais blocos

  • O tamanho em bytes não é fixo

  • Depende de:

    • Dataset (PS, PO, VSAM)

    • BLKSIZE

    • Tipo de acesso

📏 Referência clássica (3390):

  • ≈ 56 KB por track (didático, não absoluto)

🧪 Easter egg técnico:

Mesmo quando você pede espaço em MB,
o DFSMS converte tudo para tracks internamente 😎


3️⃣ O que é um CILINDRO – o segredo da performance

🛢️ Cilindro =
Conjunto de tracks alinhados verticalmente em todos os pratos do disco.

Por que isso é genial?

  • O braço do disco não precisa se mover

  • Menos seek

  • Mais throughput

  • Menos latência

📌 Em mainframe:

Performance não é pico, é constância.


IBM HD 3390

4️⃣ Modelos clássicos de DASD IBM (história viva)

📦 IBM 2311 / 2314

  • Anos 60 / 70

  • Discos removíveis

  • Origem dos conceitos de cilindro

📦 IBM 3330 – “Merlin”

  • Gigante físico

  • Primeiro “big storage”

📦 IBM 3380

  • Alta densidade

  • Base para sistemas bancários dos anos 80

📦 IBM 3390 (o eterno)

  • Padrão até hoje (logicamente)

  • Modelos:

    • 3390-3 (~2,8 GB)

    • 3390-9 (~8,4 GB)

  • Referência de cálculo de tracks/cilindros

📦 DS8000 (atual)

  • Storage virtualizado

  • Cache massivo

  • Flash

  • Mas… emula 3390
    😏

O mainframe moderniza sem quebrar o passado.


5️⃣ Evolução: do ferro ao virtual (sem perder o controle)

Hoje:

  • Não existe mais “disco girando” como antes

  • Temos:

    • Cache

    • Flash

    • Virtualização

    • Striping interno

Mas o z/OS continua falando em:

  • Track

  • Cilindro

  • Extent

💡 Por quê?

Porque:

  • SMF mede I/O em tracks

  • WLM calcula impacto por volume

  • SMS aloca espaço físico previsível

  • Batch depende disso


6️⃣ Alocação no dia a dia (JCL raiz)

Exemplo clássico:

//ARQ1 DD DSN=MEU.ARQUIVO,
//         DISP=(NEW,CATLG,DELETE),
//         SPACE=(CYL,(10,5),RLSE),
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)

📌 Tradução para o padawan:

  • 10 cilindros primários

  • 5 cilindros secundários

  • Espaço real

  • Custo previsível

  • Impacto conhecido


7️⃣ Performance: onde o mainframe humilha

Linux / Unix:

  • Você pede “10 GB”

  • O filesystem decide tudo

  • Fragmentação invisível

  • Latência variável

Mainframe:

  • Você define:

    • Onde

    • Quanto

    • Como cresce

  • O sistema sabe:

    • Quantos seeks

    • Quantos tracks

    • Quanto I/O será gerado

📊 Resultado:

  • SLA calculável

  • Batch que termina no horário

  • Sistema que envelhece bem


8️⃣ Uso prático: quem realmente se beneficia disso?

🏦 Bancos
✈️ Companhias aéreas
🏛️ Governos
💳 Clearing e pagamentos
📊 BI batch massivo

Onde:

  • Erro não é opção

  • Retry não existe

  • Previsibilidade é rei


9️⃣ Curiosidades e Easter Eggs de mainframer

🧠 Você sabia?

  • SPACE=(TRK,…) ainda é usado em sistemas críticos

  • VSAM define espaço em CI/CA, mas mapeia para tracks

  • SMF Type 42 mede EXCP por dataset

  • EAV permite volumes gigantes, mas o cálculo continua físico

  • O termo DASD é mais velho que “storage” 😄


🔚 Conclusão Bellacosa Mainframe ☕

Falar de tracks e cilindros não é nostalgia.
É respeito à física, engenharia de verdade e responsabilidade operacional.

“Mainframe não abstrai o problema.
Ele encara o problema de frente.”

E é por isso que, décadas depois,
ele ainda roda o mundo.




sexta-feira, 1 de outubro de 2010

☕🔥 RACF Hardcore — Segurança Mainframe sem verniz

 

Bellacosa Mainframe apresenta o RACF 

☕🔥 RACF Hardcore — Segurança Mainframe sem verniz 

Se você já perdeu acesso ao próprio TSO, já bloqueou produção com um PERMIT mal dado, ou já ouviu

“foi só uma alteração de RACF…”
então este texto é para você.

Aqui não tem introdução infantil.
Aqui é RACF raiz, técnico, sistêmico e perigoso — do jeito que veterano respeita.


🕰️ História & Origem — por que o RACF nasceu paranoico

O RACF (Resource Access Control Facility) surge nos anos 70, quando a IBM percebeu que:

  • Controle por good behavior não escala

  • Segurança precisava ser centralizada

  • Auditoria não podia ser opcional

RACF foi desenhado para:

  • Negar por padrão

  • Controlar quem, o quê, quando e como

  • Integrar com o núcleo do z/OS

Verdade inconveniente:

RACF não confia nem no SYSADM. E está certo.


🔐 Por onde começar com Segurança (visão de veterano)

Segurança não começa no comando. Começa no modelo mental.

Princípios reais:

  • Least Privilege

  • Segregation of Duties

  • Accountability

  • Auditabilidade

🔥 Easter egg:
Ambiente “funcionando” ≠ ambiente “seguro”.


🏗️ A Estrutura de Grupos — o esqueleto invisível

Grupos RACF não são “organizacionais”.
São domínios de autoridade.

  • Grupos pais controlam filhos

  • OWNER ≠ SUPGROUP

  • Hierarquia mal desenhada vira bomba relógio

📌 Exemplo técnico:

ADDGROUP FINANCE SUPGROUP(SYS1) OWNER(SYS1)
ADDGROUP FINANCE.PAYROLL SUPGROUP(FINANCE)

Comentário ácido:

Grupo mal definido é privilégio eterno.


⌨️ Os Comandos RACF — bisturis, não martelos

  • ADDUSER / DELUSER

  • ADDGROUP / DELGROUP

  • CONNECT / REMOVE

  • PERMIT

  • ALTUSER / ALTGROUP

  • SETROPTS

🔥 Regra de Produção:

Se você não sabe desfazer, não execute.


🗑️ Definindo & Excluindo Grupos RACF

Criar grupo é fácil.
Excluir é trauma.

Antes de um DELGROUP:

  • Usuários conectados?

  • Perfis com OWNER?

  • DATASET PROFILE ownership?

  • Surpresas em ACL herdada?

Fofoquice técnica:
DELGROUP em produção é evento histórico.


👤 Definindo Usuários — mais que um ID

Um usuário RACF é:

  • Identidade

  • Responsabilidade

  • Risco

Campos críticos:

  • SPECIAL / OPERATIONS / AUDITOR

  • PASSWORD interval

  • REVOKE / RESUME

  • OMVS / DFP / CICS

📌 Exemplo:

ADDUSER JOSE NAME('JOSE SILVA') DFLTGRP(FINANCE) PASSDATE(30)

🔥 Easter egg:
Usuário genérico é pecado capital.


🔗 Conectando Usuários a Grupos

CONNECT é onde a segurança realmente acontece.

  • AUTHORITY (USE, READ, CONNECT, JOIN)

  • GROUP-SPECIAL

  • OWNER implícito

Verdade nua:

CONNECT errado é privilégio que ninguém vê.


🗂️ Perfis de Conjunto de Dados (DATASET PROFILES)

O coração do RACF clássico.

  • HLQ como fronteira de poder

  • DISCRETIONARY ≠ MANDATORY

  • UACC mal definido = vazamento

📌 Exemplo:

ADDSD 'FINANCE.PAYROLL.**' OWNER(FINANCE) UACC(NONE)
PERMIT 'FINANCE.PAYROLL.**' ID(PAYUSR) ACCESS(READ)

🔥 Curiosidade:
UACC(READ) já causou mais incidente que bug de COBOL.


🌐 Perfis Gerais de Recursos (CLASS Profiles)

Aqui o RACF vira onipresente:

  • CICS

  • IMS

  • MQ

  • SDSF

  • OPERCMDS

  • FACILITY

El Jefe warning:

Quem ignora classe FACILITY não entende z/OS moderno.


🧨 Recursos Especiais do RACF

  • SPECIAL

  • OPERATIONS

  • AUDITOR

  • TRUSTED

  • WARNING vs FAIL

🔥 Comentário venenoso:
SPECIAL demais é insegurança institucionalizada.


⚙️ O Comando SETROPTS — o painel nuclear

SETROPTS controla:

  • Ativação de classes

  • Auditoria

  • Regras globais

  • Password rules

📌 Exemplo:

SETROPTS CLASSACT(DATASET) RACLIST(DATASET) REFRESH

☕🔥 Regra sagrada:

SETROPTS sem planejamento vira outage invisível.


🔄 RACF Remote Sharing Facility (RRSF)

RACF em modo distribuído:

  • Compartilhamento de identidades

  • Replicação de perfis

  • Confiança entre sistemas

🔥 Curiosidade:
RRSF mal configurado espalha erro em escala industrial.


🔗 RACF e Sysplex — segurança em cluster

No Sysplex:

  • Database compartilhado

  • Consistência obrigatória

  • Propagação imediata

Verdade dura:

No Sysplex, erro local vira problema global.


🧪 Programas Utilitários RACF

Ferramentas para quem não vive no ISPF:

  • IRRDBU00

  • IRRUT200

  • IRRICE

  • unloads para auditoria

  • Análise offline

🔥 Easter egg veterano:
Auditor sério não confia só em LISTUSER.


🧠 Mentalidade de Segurança Mainframe (nível veterano)

✔️ Segurança é processo, não produto
✔️ Tudo que não está definido será explorado
✔️ RACF não protege sistema — protege negócio
✔️ Auditor não é inimigo
✔️ Log é prova histórica


🥚 Easter Eggs & Fofoquices RACF

  • Todo ambiente tem um ID “histórico”

  • Sempre existe um dataset que “ninguém sabe de quem é”

  • Segurança forte incomoda — e é esse o objetivo

  • Incidente sério sempre começa com:

    “Mas esse acesso sempre existiu…”


☕🔥 Conclusão — Manifesto El Jefe RACF

RACF não é:

  • Cadastro

  • Burocracia

  • Entrave

RACF é:

  • Arquitetura de confiança

  • Controle de risco

  • Linha final de defesa do z/OS

☕🔥 Se você domina RACF,
você não protege arquivos —
protege a empresa inteira.

domingo, 5 de setembro de 2010

🧠 Uma visão Padawan Storage Engineer, sente-se.

 

Bellacosa Mainframe fala sobre Storage 
Engineer em ibm mainframe zos

🧠 Uma visão Padawan Storage Engineer, sente-se.

Hoje o papo é sério, profundo e cheio de easter eggs:
Monitoramento de Disco em Ambiente IBM Mainframe (z/OS)
(ou: como evitar que o DASD te acorde às 02:37 da manhã)


📜 História rápida (porque storage tem memória longa)

Antes de “elastic storage”, já existia DASD.
E não era luxo: era engenharia.

No mundo mainframe:

  • Disco sempre foi caro

  • I/O sempre foi crítico

  • Planejamento sempre foi obrigatório

Por isso o z/OS nasceu obcecado por controle:

  • Trilhas

  • Cilindros

  • Extents

  • Catálogo

  • Alocação
    Nada é por acaso. Nada é “default inocente”.


💿 DASD – não é disco, é contrato

DASD (Direct Access Storage Device) não é só mídia.
É um modelo lógico estável há décadas.

Mesmo que hoje o storage seja:

  • Flash

  • NVMe

  • Storage definido por software

  • DS8K com magia negra dentro

👉 Para o z/OS, continua sendo 3390.

🧠 Easter Egg clássico:

Você pode trocar todo o storage físico…
…mas o JCL de 1999 continua funcionando.


🧱 3390 – o idioma nativo do z/OS

Estrutura lógica

  • Track

  • Cylinder

  • Volume

  • Extent

Tipos mais comuns:

  • 3390-3 → o feijão com arroz

  • 3390-9 → mais conforto

  • 3390-27 / 54 → ambientes grandes

  • EAV (EAS) → milhões de cylinders

⚠️ Padawan alerta:
EAV resolve espaço, não resolve desorganização.


👀 Por que monitorar disco não é opcional?

Porque no mainframe:

  • Disco cheio não avisa

  • Fragmentação cobra juros

  • Catálogo corrompido vira outage

  • Storage mal planejado vira reunião com diretoria


📊 O que um Storage Engineer DEVE monitorar

🔢 1. Utilização de Volume

  • < 70% → zen

  • 70–85% → atenção

  • 85% → plano de ação

  • 90% → você já perdeu


🧩 2. Fragmentação

  • Muitos extents = mais I/O

  • Sequential sofre

  • VSAM sofre mais ainda

  • Sort chora em silêncio

🧠 Easter Egg:

Fragmentação não mata hoje.
Ela te mata no pico do fechamento mensal.


🧮 3. Número de extents

  • Dataset com 100+ extents é alerta

  • 200+ extents é cirurgia

  • Extents demais = alocação ruim ou volume saturado


📚 4. Catálogo

  • Catálogo cheio = caos

  • Catálogo fragmentado = lentidão

  • Catálogo sem backup = pedido de demissão indireto

Comandos:

LISTCAT ALL

🧠 5. Storage Groups (DFSMS)

Você monitora:

  • Capacidade total

  • Balanceamento

  • Tendência de crescimento

  • Volume “quente”

Comandos úteis:

D SMS,SG D SMS,VOL

🛠️ Ferramentas nativas (o mínimo que você deve dominar)

📟 SDSF

  • DA

  • /D U,DASD,ONLINE

Visual rápido, mas não substitui análise.


🧾 IDCAMS

O velho sábio que nunca mente:

LISTCAT VOLUME(VOL001) ALL

Mostra:

  • Extents

  • Datasets órfãos

  • Fragmentação

  • Bagunça histórica


🧪 SMF (onde mora a verdade)

Se você quer ser engenheiro de verdade, vá para:

  • SMF 42 (DFSMS)

  • SMF 78 (Storage)

  • SMF 14/15 (dataset activity)

📌 Hot take Bellacosa™:

Quem não olha SMF, administra no escuro.


🧙‍♂️ Ferramentas enterprise (o lado premium da Força)

  • IBM OMEGAMON

  • BMC MainView

  • Broadcom SYSVIEW

Alertas comuns:

  • Volume acima do threshold

  • Storage Group desequilibrado

  • Crescimento anormal

  • Tendência explosiva


🧪 Caso real (história de guerra)

Batch falhando aleatoriamente.
Erro muda todo dia.

Causa real:

  • Volume temporário com 88%

  • Crescimento não monitorado

  • Sort concorrente em pico

Correção:

  • Redistribuição de volumes

  • Aumento de pool

  • Monitoramento de tendência

📌 Moral:
Storage não quebra.
Ele acumula dívida técnica.


🧠 Curiosidades que só storage engineer aprende sofrendo

  • Dataset “temporário” criado em 2003 ainda ativo

  • Volume “de teste” com dado crítico

  • SMS class herdada de outro CPD

  • Storage flash com comportamento de fita (sim, acontece)


🧭 Dicas Bellacosa Mainframe™ para Padawan Storage

✔️ Monitore tendência, não só status
✔️ Espaço livre sem balanceamento é ilusão
✔️ EAV não é desculpa para relaxar
✔️ Catálogo merece carinho diário
✔️ Documente storage group (ninguém faz, todos sofrem)
✔️ Nunca confie em “esse volume sempre foi assim”


☕ Encerrando o café…

Ser Storage Engineer no z/OS não é só administrar disco.
É:

  • Prever

  • Planejar

  • Equilibrar

  • Proteger

  • E evitar que alguém te ligue fora do horário 😄

💬 “No mainframe, storage não é onde os dados moram.
É onde a estabilidade vive.”

sábado, 4 de setembro de 2010

SMP/E for z/OS Workshop : ACCEPT Processing

 

Bellacosa Mainframe SMP/E accept processing

SMP/E for z/OS Workshop

ACCEPT Processing

O momento em que o código vira história oficial

Se o APPLY é onde o código começa a rodar,
o ACCEPT é onde ele ganha certidão de nascimento.

Depois do ACCEPT, não tem mais desculpa:

“isso aqui já faz parte do produto”


O papel real do ACCEPT no SMP/E

O ACCEPT command é responsável por:

  • Instalar os elementos dos SYSMODs nas Distribution Libraries (DLIBs)

  • Atualizar a Distribution Zone (DZONE)

  • Definir o nível oficial e permanente do software

📌 Em termos simples:

ZonaPapel
TargetCódigo que roda
DistributionCódigo que define o produto

👉 Nunca se executa código direto das DLIBs
(Se você já viu alguém tentar… você sabe o nível do problema 😬)


Target vs Distribution – a verdade nua e crua

🔹 Target Libraries

  • Load modules executáveis

  • Macros e source (para assembly)

  • Ambiente vivo

  • Pode mudar

🔹 Distribution Libraries

  • Elementos “puros”

  • Backup oficial

  • Base para RESTORE

  • Não deveriam mudar toda hora

💡 Easter egg #1

Quem aceita PTF direto em DLIB de produção sem clone
não gosta de dormir tranquilo.


ACCEPT é parecido com APPLY?

Sim. E isso é proposital.

A IBM fez o ACCEPT ser quase um APPLY com outro destino:

  • Mesmos critérios de seleção

  • Mesmas opções:

    • CHECK

    • BYPASS

    • REDO

    • COMPRESS

  • Mesma lógica de dependência

  • Mesma validação de HOLDDATA

A diferença é onde o SMP/E escreve.


Pré-requisitos para um ACCEPT saudável

Antes de aceitar qualquer coisa, o SMP/E verifica:

✅ SYSMOD foi aplicado?

Por padrão:

  • SIM → pode aceitar

  • NÃO → rejeitado

Se quiser aceitar sem aplicar (caso raro):

BYPASS(APPLYCHECK)

💡 Easter egg #2

BYPASS(APPLYCHECK) é como sudo root
só use se você realmente souber o que está fazendo.


✅ Não existem HOLDs pendentes?

O ACCEPT verifica no Global Zone:

  • SYSTEM HOLD

  • USER HOLD

  • ERROR HOLD

Se existir HOLD:

  • ACCEPT para

  • Você resolve primeiro


Como os HOLDs são resolvidos no ACCEPT

🟡 SYSTEM / USER HOLD

  • Execute a ação descrita no REASON

  • Depois use:

BYPASS(HOLDSYSTEM)

🔴 ERROR HOLD

  • Resolvido automaticamente

  • Quando o APAR/PTF corretivo é instalado

  • Ou um superseding PTF é aceito

📌 Boa prática:

Nunca aceitar PTF com ERROR HOLD ativo.

💡 Easter egg #3

Quem ignora ERROR HOLD
aprende RESTORE na prática.


Seleção de elementos no ACCEPT

(a parte que poucos entendem)

O ACCEPT não copia elemento “no grito”.
Ele garante que nenhum nível seja regredido.

Ele compara:

  • FMID

  • RMID

  • UMID

  • PRE / SUB no ++VER

Regras básicas:

  • Elementos substitutos devem PRE ou SUB

  • UPD (SRC, MAC, ZAP) devem respeitar UMID

  • Se não respeitar:

    • ACCEPT pode até continuar

    • Mas emite warning

    • E você acabou de assumir o risco

💡 Easter egg #4

Warning ignorado hoje
vira incidente amanhã.


O que o ACCEPT faz de verdade (por dentro)

Quando tudo está validado, o SMP/E:

1️⃣ Busca os elementos em:

  • SMPPTS

  • SMPTLIBs

  • LKLIB / TXLIB

2️⃣ Invoca utilitários:

  • IEBCOPY

  • IEBUPDTE

  • LINKEDIT (quando aplicável)

3️⃣ Instala nas DLIBs corretas
(via DISTLIB=)

4️⃣ Atualiza a Distribution Zone:

  • Cria entradas de SYSMOD

  • Atualiza FMID / RMID

  • Remove UMIDs antigos

  • Registra ZAPs e UPDs


Limpeza pós-ACCEPT (o “lixo controlado”)

Por padrão, o ACCEPT:

  • Remove SYSMOD entry do Global Zone

  • Apaga MCS do SMPPTS

  • Deleta SMPTLIBs associados

  • Remove backups (SMPCDS)

Tudo isso acontece porque:

O SYSMOD agora virou baseline

⚠️ Se quiser manter tudo:

NOPURGE

💡 Easter egg #5

Quem usa NOPURGE sem motivo
costuma ficar sem espaço em disco.


Relatórios do ACCEPT

Depois do ACCEPT, sempre revise:

  • Accept Summary Report

  • Element Change Report

  • Utility Output

  • Deleted SYSMOD Report (quando aplicável)

📌 Se você não leu o report:

O ACCEPT não aconteceu de verdade.


ACCEPT em uma frase (Bellacosa style)

RECEIVE traz o pacote
APPLY faz o sistema rodar
ACCEPT transforma mudança em padrão
RESTORE ensina respeito


Checklist Bellacosa – ACCEPT seguro

✔ ACCEPT sempre em DLIB clone
✔ BACKUP antes de produção
✔ Nenhum HOLD pendente
✔ APPLY feito (ou BYPASS consciente)
✔ Relatórios lidos
✔ Espaço em disco conferido


Conclusão

O ACCEPT é o último passo da cadeia SMP/E.
Depois dele:

  • O código vira referência

  • O produto muda de nível

  • O RESTORE passa a depender disso

Quem domina ACCEPT:

  • Entende gestão de software

  • Não só instalação

💡 Easter egg final

System programmer bom instala.
System programmer experiente aceita.
System programmer sábio sabe quando não aceitar.

 

sexta-feira, 3 de setembro de 2010

☕ BUFF & DEBUFF

Buff e Debuff

 

BUFF & DEBUFF

Quando a vida roda com ou sem prioridade


Tem termos que a gente aprende jogando videogame, assistindo anime… e quando percebe, está usando no trabalho, na vida e até no mainframe. Buff e Debuff são dois desses conceitos mágicos que escaparam do mundo dos RPGs e viraram filosofia prática do dia a dia.


🎮 Origem: dos dados de RPG ao pixel

Buff e debuff nascem lá atrás, no RPG de mesa (Dungeons & Dragons, anos 70).

  • Buff: efeito positivo temporário (força +10, defesa +20, velocidade extra).

  • Debuff: efeito negativo (veneno, lentidão, confusão, medo).

Quando os videogames chegaram, isso virou regra:

  • Final Fantasy

  • Dragon Quest

  • Chrono Trigger

  • MMORPGs como Ragnarok, WoW, Lineage

No Japão, o conceito foi absorvido com gosto — porque combina com estratégia, disciplina e preparação.


📺 Animes: o buff virou roteiro

Nos animes, buff e debuff deixaram de ser só mecânica e viraram narrativa.

Exemplos clássicos:

  • Dragon Ball → Kaioken, Super Saiyajin (BUFF MONSTRUOSO).

  • Naruto → modos Sennin, selos amaldiçoados (buff com debuff embutido).

  • Bleach → Bankai (buff de alto risco).

  • Isekai → status screen, skills passivas, debuffs malditos.

Easter egg clássico:
Todo buff poderoso cobra um preço.
Todo debuff forte ensina humildade.


🖥️ Tradução Bellacosa Mainframe

No meu mundo:

  • Buff = prioridade alta no JES2

  • Debuff = CPU contention às 10h da manhã

Exemplos práticos:

  • Um sistema bem tunado → BUFF

  • Um JCL mal escrito → DEBUFF

  • Índice errado no DB2 → debuff permanente

  • Cache quente, I/O afinado → buff passivo invisível

Na IA?

  • Prompt bem feito → buff cognitivo

  • Dados ruins → debuff silencioso


🧠 Impacto cultural

Buff/debuff moldaram como:

  • pensamos estratégia,

  • aceitamos limites,

  • entendemos consequências.

No Japão, isso conversa com:

  • ikigai (quando seus buffs fazem sentido),

  • shikata ga nai (aceitar debuffs inevitáveis),

  • kintsugi (transformar debuff em aprendizado).


🥚 Curiosidades & easter eggs

  • Muitos jogos escondem buffs secretos por comportamento, não por item.

  • Alguns debuffs só aparecem se o jogador for ganancioso.

  • Em RPGs antigos, status “confusão” era mais perigoso que morte.

Na vida também.


🧓 Nostalgia

Quem viveu os anos 80 e 90 lembra:

  • status em tela preta,

  • números piscando,

  • música 8-bit avisando perigo.

Hoje a gente chama isso de:

  • burnout (debuff),

  • férias (buff temporário),

  • experiência acumulada (buff permanente).


☕ Comentário final do El Jefe

A vida é um RPG mal documentado.

Você não escolhe todos os debuffs,
mas escolhe como se prepara.

  • Estudo é buff.

  • Paciência é buff.

  • Curiosidade é buff raro.

E reclamar demais…
bom, isso é debuff empilhável.


No fim, seja no anime, no game, no mainframe ou na IA:

vence quem sabe gerenciar status.

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.