Translate

Mostrar mensagens com a etiqueta processamento batch. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta processamento batch. Mostrar todas as mensagens

segunda-feira, 19 de janeiro de 2026

💥 LAB: Db2 na prática — do TSO ao Batch

 

Bellacosa Mainframe Laboratio DB2

💥 LAB: Db2 na prática — do TSO ao Batch

Trabalharemos com o IBM Db2 13 for z/OS usando duas abordagens:

👉 Online (TSO/ISPF + SPUFI)
👉 Batch (JCL + DSNTEP2)


🧪 PARTE 1 — SPUFI (modo interativo)

🔹 O que é SPUFI?

👉 SPUFI = SQL Processor Using File Input

Ferramenta dentro do DB2I (ISPF) para rodar SQL rapidamente.


🚀 Passo a passo

1. Entrar no DB2I

No ISPF:

===> DB2I

2. Selecionar SPUFI

Option ===> 1

3. Criar dataset de entrada

Exemplo:

VAGNER.SQL.INPUT

4. Escrever o SQL

CREATE TABLE VAGNER.CLIENTES (
ID INTEGER,
NOME VARCHAR(50),
CIDADE VARCHAR(50)
);

INSERT INTO VAGNER.CLIENTES VALUES (1, 'ANA', 'SAO PAULO');
INSERT INTO VAGNER.CLIENTES VALUES (2, 'JOAO', 'CAMPINAS');

SELECT * FROM VAGNER.CLIENTES;

5. Executar (PF8)

👉 Resultado vai para o dataset de saída


💡 O que você aprendeu aqui

✔ Criar tabela
✔ Inserir dados
✔ Consultar
✔ Usar ambiente interativo


⚙️ PARTE 2 — DSNTEP2 (modo batch raiz)

Agora vem o modo produção de verdade 😎


🔹 O que é DSNTEP2?

👉 Programa utilitário que executa SQL via JCL

💡 Tradução Bellacosa:

SPUFI é treino… DSNTEP2 é jogo oficial ⚔️


📜 JCL COMPLETO

//DB2JOB JOB (ACCT),'DB2 LAB',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
//*
//STEP01 EXEC PGM=IKJEFT01
//STEPLIB DD DISP=SHR,DSN=DSN!!0.SDSNLOAD
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2P)
RUN PROGRAM(DSNTEP2) PLAN(DSNTEP71) -
LIB('DSN!!0.SDSNLOAD')
END
/*
//SYSIN DD *
SELECT * FROM VAGNER.CLIENTES;
/*

🔍 Explicando (nível especialista)

🔹 IKJEFT01

👉 Interface TSO em batch


🔹 DSN SYSTEM(DB2P)

👉 Conecta no subsistema Db2


🔹 DSNTEP2

👉 Executa comandos SQL


🔹 PLAN(DSNTEP71)

👉 Plano necessário para execução


🔹 SYSIN

👉 Onde está o SQL


🧠 Resultado esperado

Você verá:

ID NOME CIDADE
----------------------
1 ANA SAO PAULO
2 JOAO CAMPINAS

💣 PEGADINHAS DE PRODUÇÃO

⚠️ 1. Falha de autorização

👉 Verifique permissões no RACF


⚠️ 2. PLAN não encontrado

👉 DSNTEP71 pode variar no ambiente


⚠️ 3. SQLCODE negativo

Exemplo:

  • -104 → erro de sintaxe
  • -204 → objeto não existe
  • -911 → deadlock

🔥 EVOLUÇÃO DO LAB

Quer subir o nível? Tenta isso:

💡 Desafio 1

Criar índice:

CREATE INDEX IDX1 ON VAGNER.CLIENTES (ID);

💡 Desafio 2

Update:

UPDATE VAGNER.CLIENTES
SET CIDADE = 'RIO DE JANEIRO'
WHERE ID = 1;

💡 Desafio 3

Delete:

DELETE FROM VAGNER.CLIENTES WHERE ID = 2;

🚀 VISÃO DE MAINFRAME RAIZ

👉 SPUFI → exploração / debug
👉 DSNTEP2 → automação / batch / produção

Se você domina isso, você já está acima de 80% dos devs Db2 💥