Translate

Mostrar mensagens com a etiqueta laboratorio db2. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta laboratorio db2. Mostrar todas as mensagens

terça-feira, 12 de maio de 2026

🔥☕ DB2 COMMANDS AVANÇADOS NO IBM Z — O QUE ESSES COMANDOS REALMENTE REVELAM SOBRE A SAÚDE DO MAINFRAME 💾🚨

 

Bellacosa Mainframe Db2 avançado para um sysprog

🔥☕ DB2 COMMANDS AVANÇADOS NO IBM Z — O QUE ESSES COMANDOS REALMENTE REVELAM SOBRE A SAÚDE DO MAINFRAME 💾🚨

A tela que você mostrou agora já entra em um nível MUITO mais avançado do DB2 z/OS.

Aqui não estamos mais falando apenas de:

-DIS THREAD(*)

Agora estamos entrando no território de:

  • troubleshooting pesado,

  • análise recovery,

  • pending states,

  • advisory states,

  • limbo pages,

  • tablespaces problemáticas,

  • diagnóstico profundo de storage DB2.

Esses são comandos típicos de:

  • DBA senior,

  • Sysprog,

  • suporte de produção crítica,

  • recovery team,

  • performance specialists.


🔥 CMD 1 — O “RAIO-X GLOBAL” DAS DATABASES

Comando

-DIS DB(*) SP(*) RESTRICT LIMIT(*)

💾 O QUE ELE FAZ?

Esse comando:

  • percorre TODAS as databases,

  • mostra TODOS os spaces,

  • filtra objetos em estado RESTRICT,

  • sem limite de quantidade.


🧠 EXPLICAÇÃO DOS PARÂMETROS

ParâmetroSignificado
DB(*)Todas as databases
SP(*)Todos os spaces
RESTRICTMostra objetos restritos
LIMIT(*)Sem limite de retorno

🚨 O QUE É RESTRICT?

Estados RESTRICT indicam:

  • objeto parcialmente indisponível,

  • utility incompleta,

  • recovery necessário,

  • inconsistência operacional.


💥 CENÁRIOS REAIS

Após falha de REORG

Você pode encontrar:

RESTRICT

indicando:

  • tablespace inconsistente.


Após falha LOAD

O objeto pode:

  • aceitar leitura,

  • mas bloquear update.


🔥 O QUE O SYSPOG PROCURA?

  • objetos presos,

  • utilities abandonadas,

  • estados recovery,

  • pendências ocultas.


🔥 CMD 2 — DISPLAY THREAD

Comando

-DIS THREAD(*)

💾 O COMANDO MAIS IMPORTANTE DO DB2

Esse comando mostra:

  • threads ativas,

  • conexões CICS,

  • batch,

  • TSO,

  • DDF,

  • waits,

  • CPU.


🚨 O QUE ANALISAR?

WAIT

Pode indicar:

  • lock,

  • I/O lento,

  • deadlock.


THREAD ZUMBI

Thread ativa sem progresso:

  • aplicação travada,

  • commit preso,

  • problema rede DDF.


THREAD MASSIVA

Uma única thread:

  • consumindo CPU absurda,

  • SQL ruim,

  • tablescan gigante.


🔥 CMD 3 — DISPLAY DATABASE OVERVIEW

Comando

-DISPLAY DATABASE(DSN8D13A) SPACE(*) OVERVIEW

💾 O QUE É OVERVIEW?

Mostra uma visão resumida:

  • status,

  • pendências,

  • utilities,

  • estados críticos.

Sem detalhar cada partição profundamente.


🎯 OBJETIVO

Obter diagnóstico rápido.

Muito usado em:

  • incidentes,

  • bridge call,

  • troubleshooting urgente.


💥 O QUE APARECE?

CampoSignificado
RWRead Write
RORead Only
STOPParado
UTUtility
CHKPCheck Pending

🚨 EXEMPLO REAL

Se aparecer:

UTRO

pode indicar:

  • utility rodando,

  • objeto somente leitura.


🔥 CMD 4 — LIST TABLESPACES SHOW DETAIL

Comando

-LIST TABLESPACES SHOW DETAIL

💾 O QUE ELE FAZ?

Lista:

  • tablespaces,

  • atributos,

  • detalhes físicos,

  • status internos.


🧠 INFORMAÇÕES IMPORTANTES

Pode mostrar:

  • DSSIZE,

  • PRIQTY,

  • SECQTY,

  • SEGSIZE,

  • bufferpool,

  • locksize,

  • partitioning.


🚨 MUITO USADO PARA

  • capacity planning,

  • tuning,

  • growth analysis,

  • storage troubleshooting.


💥 O DBA PROCURA

Tablespace gigante

Pode exigir:

  • reparticionamento,

  • compressão,

  • REORG.


Bufferpool inadequado

Pode gerar:

  • I/O excessivo,

  • CPU alta.


🔥 CMD 5 — DISPLAY DATABASE COM ADVISORY

Comando

-DISPLAY DATABASE(DSN8D13A) SPACENAM(*) LIMIT(*) ADVISORY(ARBDP,AREO*)

💾 ESSE É PESADO 😄

Aqui entramos em:

estados advisory.


🧠 O QUE É ADVISORY?

Não significa falha imediata.

Significa:

  • DB2 recomenda ação corretiva.


🚨 ARBDP

Advisory Rebuild Pending

Indica:

  • índice precisa rebuild.

Pode ocorrer:

  • após recover,

  • após falha,

  • inconsistência index.


🚨 AREO*

Advisory REORG Pending

O DB2 recomenda:

REORG

💥 POR QUE ISSO IMPORTA?

Mesmo funcionando:

  • performance degrada,

  • overflow aumenta,

  • access path piora,

  • CPU sobe.


🔥 SINTOMA CLÁSSICO

Aplicação:

“está ficando lenta”

DBA roda:

-DISPLAY DATABASE ... ADVISORY

e encontra:

AREO*

🔥 CMD 6 — DISPLAY DATABASE GLOBAL ADVISORY

Comando

-DISPLAY DATABASE(*) SPACENAM(*) LIMIT(*) ADVISORY

💾 O “CAÇA-PROBLEMAS” GLOBAL

Esse comando varre:

TODO o subsystem DB2.


🚨 O QUE ELE PROCURA?

  • AREO

  • ARBDP

  • RBDP

  • CHKP

  • COPY

  • pending states


💥 MUITO USADO EM:

  • health checks,

  • automação,

  • auditoria,

  • pré-manutenção,

  • pré-upgrade.


🔥 EM GRANDES BANCOS

Esse comando roda:

  • automaticamente,

  • várias vezes ao dia.


🔥 CMD 7 — LPL (Logical Page List)

Comando

-DISPLAY DATABASE(DSN8D13A) SPACENAM(*) LIMIT(*) LPL

💾 AGORA ENTRAMOS NO MODO “CIRURGIA CARDÍACA” 😄

LPL =

Logical Page List.


🚨 O QUE É LPL?

Lista páginas:

  • danificadas,

  • inconsistentes,

  • com problema recovery.


💥 COMO UMA PÁGINA ENTRA EM LPL?

  • falha I/O,

  • corrupção,

  • abend,

  • falha hardware,

  • escrita incompleta,

  • recover interrompido.


🚨 IMPACTO

Objetos em LPL:

  • podem ficar indisponíveis,

  • gerar SQLCODE,

  • causar abends,

  • travar aplicações.


🔥 O DBA PROCURA

Quantidade de páginas afetadas

Se poucas:

  • recover localizado.

Se muitas:

  • desastre potencial.


💣 COMANDOS ASSOCIADOS

Após detectar LPL:

Pode ser necessário:

-RECOVER
-START DB(...)
-STOP DB(...)

🔥 O QUE ESSA TELA ENSINA?

Essa tela é praticamente:

um mapa de sobrevivência do DB2.

Ela mostra:

  • diagnóstico,

  • recovery,

  • saúde,

  • inconsistência,

  • tuning,

  • pending states,

  • gargalos ocultos.


☕ A GRANDE VERDADE DO DB2 z/OS

O DB2 raramente “morre do nada”.

Antes do desastre ele:

  • avisa,

  • marca pending,

  • cria advisory,

  • registra utility,

  • sinaliza REORG,

  • aponta rebuild,

  • mostra waits,

  • denuncia locks.

O problema é:

pouca gente olha os comandos 😄


🚀 O QUE UM SYSPOG VETERANO FARIA?

Sequência clássica:

-DIS THREAD(*)
-DIS DB(*) SP(*) RESTRICT
-DIS UTIL(*)
-DIS LOG
-DIS BPOOL(*)
-DIS DATABASE(*) ADVISORY

Em poucos minutos ele consegue enxergar:

  • saúde do subsystem,

  • pressão operacional,

  • risco recovery,

  • gargalos,

  • objetos degradados,

  • ameaças à produção.

E isso…
diretamente do velho terminal 3270 💾🔥

quarta-feira, 21 de janeiro de 2026

💥 DB2 LAB: EXPLAIN + ACCESS PATH (na prática)

 

Bellacosa Mainframe explique Explain e Access Path

💥 DB2 LAB: EXPLAIN + ACCESS PATH (na prática)

🎯 Objetivo

👉 Entender como o Db2 decide acessar os dados
👉 Identificar quando está lento
👉 Corrigir com índice + estatísticas


🧪 PARTE 1 — Criando o cenário (problema real)

🔹 Tabela sem índice

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

🔹 Inserindo volume (simulação)

INSERT INTO VAGNER.CLIENTES VALUES (1,'ANA','SP');
INSERT INTO VAGNER.CLIENTES VALUES (2,'JOAO','RJ');
-- imagine milhares de registros...

🔹 Query problemática

SELECT * FROM VAGNER.CLIENTES
WHERE ID = 2;

💡 Parece simples… mas sem índice:

💥 TABLE SPACE SCAN (varre tudo)


🔍 PARTE 2 — Rodando EXPLAIN

🔹 Comando

EXPLAIN PLAN FOR
SELECT * FROM VAGNER.CLIENTES
WHERE ID = 2;

🔹 Consultando resultado

SELECT
PLANNO,
METHOD,
ACCESSTYPE,
MATCHCOLS
FROM PLAN_TABLE;

💣 Interpretação

CampoSignificado
ACCESSTYPE = 'R'Table scan 😬
ACCESSTYPE = 'I'Index scan 😎
MATCHCOLSQuantas colunas do índice usadas

⚠️ Resultado esperado (ruim)

ACCESSTYPE = R

👉 Tradução:

Db2 está varrendo a tabela inteira


🚀 PARTE 3 — Corrigindo (tuning real)

🔹 Criar índice

CREATE INDEX IDX_CLIENTES_ID
ON VAGNER.CLIENTES (ID);

🔹 Atualizar estatísticas

RUNSTATS TABLESPACE VAGNER.TSCLIENTES;

💡 Sem RUNSTATS:

O otimizador fica “cego”


🔁 PARTE 4 — Rodar EXPLAIN novamente

Mesmo comando:

EXPLAIN PLAN FOR
SELECT * FROM VAGNER.CLIENTES
WHERE ID = 2;

✅ Novo resultado

ACCESSTYPE = I
MATCHCOLS = 1

👉 Agora sim:

⚡ Usa índice
⚡ Muito mais rápido


💥 PARTE 5 — Comparação real

AntesDepois
Table scanIndex scan
Lento 🐢Rápido ⚡
Alto CPUBaixo CPU

🧠 PARTE 6 — Entendendo o Access Path

👉 O otimizador decide baseado em:

  • Estatísticas (RUNSTATS)
  • Índices disponíveis
  • Filtro (WHERE)
  • Volume de dados

💣 CASOS REAIS DE PRODUÇÃO

⚠️ 1. Índice existe, mas não usa

👉 Possível causa:

  • RUNSTATS desatualizado

⚠️ 2. MATCHCOLS = 0

👉 Índice não está sendo aproveitado


⚠️ 3. SELECT *

👉 Pode forçar acesso desnecessário


🔥 DICAS DE OURO

✔ Sempre rodar EXPLAIN antes de produção
✔ Criar índice baseado no WHERE
✔ Atualizar RUNSTATS regularmente
✔ Evitar SELECT *


🧠 MINI CHECKLIST (antes de subir código)

  • EXPLAIN OK?
  • ACCESSTYPE = I?
  • MATCHCOLS > 0?
  • RUNSTATS atualizado?

😎 FRASE DE SENIOR

“Sem EXPLAIN, você está programando no escuro.”


sábado, 11 de outubro de 2025

🔥☕ DSN COMMAND E SUBCOMMANDS NO DB2 z/OS — A PORTA DE ENTRADA DO UNIVERSO DB2 NO MAINFRAME IBM Z 💾🚨

 

Bellacosa Mainframe configurado o Db2

🔥☕ DSN COMMAND E SUBCOMMANDS NO DB2 z/OS — A PORTA DE ENTRADA DO UNIVERSO DB2 NO MAINFRAME IBM Z 💾🚨

Se existe um comando que praticamente todo programador COBOL/DB2, DBA ou sysprog encontra cedo ou tarde no Mainframe, esse comando é:

DSN

O DSN é o processador de comandos do Db2 no z/OS e funciona como um processador TSO.
Em outras palavras:

ele abre uma sessão de comunicação direta com o DB2.

É a partir dele que:

  • executamos SQL,

  • fazemos BIND,

  • REBIND,

  • RUN,

  • SPUFI,

  • administramos packages,

  • executamos programas DB2,

  • controlamos aplicações.


🔥 O QUE É O COMANDO DSN?

Tradução

O comando TSO DSN inicia uma sessão DSN.


💾 EXEMPLO BÁSICO

No prompt TSO:

READY

digite:

DSN SYSTEM(DB9G)

🚀 O QUE ACONTECE?

Você entra no ambiente DB2:

DSN

Agora:

  • comandos DB2,

  • SQL,

  • BIND,

  • RUN

podem ser executados.


🧪 LABORATÓRIO 1 — ENTRANDO NO DB2

Passo 1

No TSO:

DSN SYSTEM(DB9G)

Passo 2

Você verá:

DSN

Passo 3

Teste um comando:

-DIS THREAD(*)

Passo 4

Saia da sessão:

END

🔥 END COMMAND

“Saindo do universo DB2”

Tradução

O subcomando END termina a sessão DSN e retorna ao TSO.


💾 EXEMPLO

END

🚀 RESULTADO

Você volta ao:

READY

🔥 IMPORTANTE — FOREGROUND E BACKGROUND

Os subcomandos DSN podem rodar:

  • foreground (interativo),

  • background (batch JCL).

Exceto:

SPUFI

que roda apenas no foreground ISPF.


🔥 ABEND

“Forçar um crash controlado”

Tradução

O subcomando ABEND termina a sessão DSN com abend X'04E'.


🚨 IMPORTANTE

IBM diz claramente:

use apenas sob orientação do suporte IBM.


💾 PARA QUE SERVE?

Diagnóstico profundo:

  • dumps,

  • análise interna,

  • debugging DB2.


🚨 EXEMPLO

ABEND

💥 RESULTADO

Gera:

  • dump,

  • encerramento anormal,

  • diagnóstico técnico.


🔥 BIND PACKAGE

“Criando o package executável do DB2”

Tradução

Constrói um package de aplicação.

O DB2:

  • registra descrição no catálogo,

  • salva package no directory,

  • remove versões antigas.


💾 O QUE É PACKAGE?

Package contém:

  • SQL compilado,

  • access path,

  • metadata otimizada.


🧪 LABORATÓRIO 2 — BIND PACKAGE

Passo 1 — Pré-compilar COBOL DB2

Gerar DBRM.


Passo 2 — Entrar no DSN

DSN SYSTEM(DB9G)

Passo 3 — Executar bind

BIND PACKAGE(MYCOLL) MEMBER(PROG1)
      ACTION(REPLACE)
      VALIDATE(BIND)

🚀 RESULTADO

DB2 cria:

  • package executável,

  • access path SQL.


🚨 ERROS COMUNS

SQLCODE -805

Package não encontrado.


AUTH FAILURE

Sem privilégio BIND.


🔥 BIND PLAN

“Criando o plano de execução da aplicação”

Tradução

Constrói um application plan.

Todo programa DB2 precisa de um PLAN para:

  • alocar recursos,

  • executar SQL.


💾 RELAÇÃO PACKAGE vs PLAN

ItemFunção
PACKAGESQL compilado
PLANEstrutura execução

🧪 LABORATÓRIO 3 — BIND PLAN

Passo 1

DSN SYSTEM(DB9G)

Passo 2

BIND PLAN(PLAN1)
     PKLIST(MYCOLL.*)

🚀 RESULTADO

Plano criado associando packages.


🔥 BIND QUERY

“Congelando access paths”

Tradução

Lê informações da:

DSN_USERQUERY_TABLE

e controla bind options/access paths.


💾 PARA QUE SERVE?

Estabilizar performance SQL.

Muito usado para:

  • evitar regressão,

  • preservar access path.


💥 CENÁRIO REAL

Após upgrade DB2:

  • SQL ficou pior.

DBA usa:

BIND QUERY

para manter plano antigo.


🔥 BIND SERVICE

“Criando REST Services no DB2”

Tradução

Cria package representando REST Service DB2.


💾 IMPORTÂNCIA MODERNA

Permite:

  • APIs REST,

  • integração cloud,

  • microservices,

  • mobile.


🧪 EXEMPLO

BIND SERVICE(MYREST)

🔥 DCLGEN

“O gerador mágico de estruturas COBOL”

Tradução

Produz:

  • DECLARE TABLE SQL,

  • estrutura COBOL/PL1/C.


💾 O QUE ELE GERA?

Exemplo:

01 CLIENTE.
   05 CLI-ID       PIC S9(9) COMP.
   05 CLI-NOME     PIC X(30).

🧪 LABORATÓRIO 4 — DCLGEN

Passo 1

DSN SYSTEM(DB9G)

Passo 2

DCLGEN TABLE(CLIENTES)
       LIBRARY('USER.COPYLIB')
       ACTION(REPLACE)

🚀 RESULTADO

DB2 gera:

  • copybook COBOL,

  • DECLARE TABLE.


🔥 FREE PACKAGE

“Apagando packages antigos”

Tradução

Remove:

  • versões específicas,

  • collections inteiras,

  • packages antigos.


🧪 EXEMPLO

FREE PACKAGE(MYCOLL.PROG1)

🚨 CUIDADO

Se apagar package em produção:

SQLCODE -805

🔥 FREE PLAN

“Removendo plans”

Tradução

Apaga application plans do DB2.


🧪 EXEMPLO

FREE PLAN(PLANOLD)

🚨 IMPACTO

Aplicações associadas:

  • param imediatamente.


🔥 REBIND PACKAGE

“Reotimizando SQL sem recompilar”

Tradução

Rebind package após mudanças que afetam package sem alterar SQL.


💾 PARA QUE SERVE?

Muito usado após:

  • RUNSTATS,

  • upgrade DB2,

  • mudança índice,

  • tuning.


🧪 LABORATÓRIO 5 — REBIND PACKAGE

Passo 1

REBIND PACKAGE(MYCOLL.PROG1)

🚀 RESULTADO

DB2:

  • recalcula access path,

  • reotimiza SQL.


🚨 PERIGO

Às vezes:

  • performance piora 😄


🔥 REBIND PLAN

“Atualizando plans sem recriar”

Tradução

Rebind application plan após alterações atributos.


🧪 EXEMPLO

REBIND PLAN(PLAN1)

🔥 RUN

“Executando programa DB2”

Tradução

Executa aplicação contendo SQL.


🧪 LABORATÓRIO 6 — RUN COBOL DB2

Passo 1

DSN SYSTEM(DB9G)

Passo 2

RUN PROGRAM(PROGCOB)
    PLAN(PLAN1)
    LIB('USER.LOADLIB')

🚀 RESULTADO

Programa COBOL executado sob DB2.


🔥 SPUFI

“O SQL interativo clássico do Mainframe”

Tradução

Executa SQL usando entrada arquivo.


💾 O QUE É SPUFI?

SQL Processor Using File Input.

Ferramenta clássica DB2.


🧪 LABORATÓRIO 7 — SPUFI

Passo 1

Entrar no DB2I.


Passo 2

Selecionar:

SPUFI

Passo 3

Executar:

SELECT *
FROM SYSIBM.SYSTABLES
FETCH FIRST 10 ROWS ONLY;

🚀 RESULTADO

DB2 retorna linhas SQL.


🔥 O QUE SEPARA O PROGRAMADOR COBOL DO ESPECIALISTA DB2?

O iniciante:

  • escreve SQL.

O especialista:

  • entende:

    • BIND,

    • PLAN,

    • PACKAGE,

    • REBIND,

    • RUN,

    • DCLGEN,

    • access path,

    • runtime DB2.


💣 A GRANDE VERDADE DO DB2

O SQL é apenas:

a superfície.

O verdadeiro motor do DB2 vive:

  • nos packages,

  • nos plans,

  • nos binds,

  • nos traces,

  • no optimizer,

  • no runtime DSN.

E entender os subcomandos DSN é praticamente:

aprender a conversar diretamente com o coração do DB2 no IBM Z 💾🔥


quarta-feira, 1 de outubro de 2025

☕💾 LAB 1 — Laboratório Prático DB2 para Iniciantes 💾☕

 

Bellacosa Mainframe Laboratorio Pratico Db2

☕💾 LAB 1 — Laboratório Prático DB2 para Iniciantes 💾☕

🎯 Objetivo do Laboratório

Neste laboratório o aluno irá aprender:

  • Entrar no ambiente TSO
  • Entender o conceito de Address Space
  • Acessar o SPUFI
  • Configurar o SPUFI
  • Executar os primeiros comandos SQL no DB2

📘 Parte 1 — Entrando no TSO

Objetivo

Acessar o ambiente z/OS.


Passos

1) Entrar no emulador 3270

Exemplo:

  • IBM Personal Communications
  • x3270
  • Rocket BlueZone

2) Informar usuário e senha

LOGON APPLID(TSO)

3) Após login, acessar ISPF

Digite:

ISPF

📘 Parte 2 — Entendendo Address Space

Conceito

No z/OS, cada sistema ou aplicação roda em um espaço de memória chamado:

✅ Address Space

Exemplos:

  • DB2
  • CICS
  • JES2
  • TSO User

Exercício

Pergunta:

O DB2 possui seu próprio Address Space?

✅ Resposta:
Sim.


Curiosidade ☕

O DB2 pode possuir:

  • MSTR
  • DBM1
  • IRLM
  • DIST

Cada um com funções específicas.


📘 Parte 3 — Entrando no SPUFI

Objetivo

Executar SQL interativamente.


Caminho clássico

Dentro do ISPF:

DB2I

ou:

DSN SYSTEM(DB2P)

Menu típico

SPUFI ===> 1

📘 Parte 4 — Configurando o SPUFI

Objetivo

Criar dataset de entrada e saída SQL.


Input Dataset

Exemplo:

USERID.SPufi.INPUT

Output Dataset

Exemplo:

USERID.SPUFI.OUTPUT

Exercício

O dataset INPUT contém:

A) Resultado SQL
B) JCL
C) Comandos SQL
D) Logs JES2

✅ Resposta: C


📘 Parte 5 — Primeiro SELECT

Objetivo

Consultar dados no DB2.


SQL

Digite no dataset INPUT:

SELECT * 
FROM SYSIBM.SYSDUMMY1;

Executar

Pressione:

ENTER

e depois:

PF3

Resultado Esperado

1
-
X

Explicação

SYSIBM.SYSDUMMY1
é uma tabela especial usada para testes simples.


📘 Parte 6 — Primeiro CREATE TABLE

Objetivo

Criar tabela simples.


SQL

CREATE TABLE LAB.CLIENTES
(
ID INTEGER,
NOME VARCHAR(30)
);

Resultado Esperado

SQLCODE = 0

Pergunta

O que significa SQLCODE = 0?

A) Warning
B) Erro grave
C) Execução com sucesso
D) Deadlock

✅ Resposta: C


📘 Parte 7 — Inserindo Dados

SQL

INSERT INTO LAB.CLIENTES
VALUES (1,'BELLACOSA');

Verificando

SELECT * FROM LAB.CLIENTES;

Resultado Esperado

ID   NOME
-- ----------
1 BELLACOSA

📘 Parte 8 — Atualizando Dados

SQL

UPDATE LAB.CLIENTES
SET NOME = 'MAINFRAME'
WHERE ID = 1;

Conferindo

SELECT * FROM LAB.CLIENTES;

Resultado

1   MAINFRAME

📘 Parte 9 — DELETE

SQL

DELETE FROM LAB.CLIENTES
WHERE ID = 1;

Conferindo

SELECT * FROM LAB.CLIENTES;

Resultado

0 ROWS FOUND

☕💀 DESAFIO FINAL — O Erro Clássico 💀☕

O que acontece se executar:

DELETE FROM LAB.CLIENTES;

sem WHERE?

A) Apenas 1 linha removida
B) Nada acontece
C) Todas as linhas são apagadas
D) O SPUFI trava automaticamente

✅ Resposta: C 😱


📘 Parte 10 — Encerrando

Removendo tabela

DROP TABLE LAB.CLIENTES;

📊 Resumo do Laboratório

TemaAprendido
TSOLogin e ISPF
Address SpaceConceito básico
SPUFIExecução SQL
SELECTConsulta
INSERTInclusão
UPDATEAlteração
DELETERemoção
DROPExclusão de objeto

☕🔥 Dica Bellacosa Mainframe 🔥☕

Quem domina:

  • SPUFI,
  • SQL básico,
  • DISPLAY,
  • e entende Address Space…

já começou oficialmente sua jornada no mundo DB2 Mainframe. ☕💾🔥