Translate

sexta-feira, 30 de março de 2007

O que é Tape em Mainframe?

 

Bellacosa Mainframe old sisteums TAPE

O que é Tape em Mainframe?

Quando alguém começa a estudar mainframe, geralmente se surpreende ao descobrir que uma tecnologia criada há décadas ainda é amplamente utilizada pelos maiores bancos, seguradoras e governos do mundo.

Essa tecnologia é a:

Tape (Fita Magnética)

Apesar de parecer algo do passado, as fitas continuam sendo uma das soluções mais importantes para armazenamento e backup corporativo.


Unidade de Fita Magnetica IBM Tape

Definição simples

Tape é uma mídia de armazenamento baseada em fita magnética utilizada para:

  • backups;

  • arquivamento;

  • recuperação de desastres;

  • retenção histórica;

  • cópias de segurança.

No mundo mainframe, ela continua sendo uma peça fundamental da infraestrutura.


Uma analogia simples

Imagine um cofre de banco.

Você não guarda dinheiro em circulação dentro dele.

Você guarda aquilo que precisa proteger por muito tempo.

A tape funciona da mesma forma.

Ela armazena informações importantes de forma segura e econômica.


O que é uma fita magnética?

Fisicamente é uma fita revestida por material magnético capaz de armazenar dados digitais.

Visualmente lembra uma fita de vídeo antiga, mas utiliza tecnologia extremamente avançada.


Por que ainda usam fitas?

Muitos iniciantes perguntam:

"Se existem SSDs e nuvem, por que usar fita?"

A resposta é simples:

Porque ela ainda é excelente para determinadas situações.


Principais vantagens

Baixo custo

O custo por terabyte é extremamente baixo.


Grande capacidade

Uma única fita moderna pode armazenar dezenas de terabytes.


Alta durabilidade

Quando armazenadas corretamente, podem durar muitos anos.


Segurança

Fitas podem ficar desconectadas da rede.

Isso protege contra:

  • ransomware;

  • ataques hackers;

  • exclusões acidentais.


O conceito de Air Gap

Uma das maiores vantagens da tape.

Air Gap significa:

armazenamento fisicamente isolado.

Uma fita guardada em um cofre não pode ser atacada pela internet.

Por isso muitas empresas continuam utilizando tape como última linha de defesa.


Como funciona uma tape?

O sistema grava dados sequencialmente.

Diferente de um disco.


Disco

Acesso direto.

Registro 100
↓
Acesso imediato

Tape

Acesso sequencial.

Registro 1
Registro 2
Registro 3
Registro 4
...
Registro 100

Para chegar ao registro 100, o sistema percorre a sequência.


O que é uma Tape Drive?

É o equipamento responsável por:

  • ler fitas;

  • gravar fitas;

  • posicionar fitas.

Funciona como um "leitor de fitas".


O que é uma Tape Library?

Em grandes ambientes existem milhares de fitas.

Seria impossível trocar tudo manualmente.

Por isso existem:

Tape Libraries

São robôs automatizados que:

  • armazenam fitas;

  • localizam fitas;

  • carregam fitas automaticamente.


Uma analogia simples

Imagine uma biblioteca.

O bibliotecário sabe exatamente onde cada livro está.

A Tape Library faz isso automaticamente com as fitas.


O que é Volser?

Cada fita possui uma identificação única.

Chamada:

VOLSER

Volume Serial Number

Exemplo:

TAPE01
TAPE02
BACK99
PROD01

É como a placa de um carro.

Cada fita possui seu próprio identificador.


Como o z/OS utiliza fitas?

O sistema operacional gerencia:

  • montagem;

  • desmontagem;

  • catalogação;

  • leitura;

  • gravação.

Tudo de forma automática.


Exemplo de JCL usando Tape

//BACKUP DD DSN=BACKUP.CLIENTES,
// DISP=(NEW,CATLG),
// UNIT=TAPE,
// LABEL=(1,SL)

Nesse exemplo o dataset será gravado em uma fita.


Onde as tapes são utilizadas?


Backup

Uso mais comum.

Exemplo:

Backup diário
Backup semanal
Backup mensal

Arquivamento

Dados antigos podem ser movidos para fitas.


Disaster Recovery

Fundamental para estratégias de recuperação.


Compliance

Muitas regulamentações exigem retenção de dados por anos.


Histórico corporativo

Informações que precisam ser preservadas por décadas.


O que é Mount?

Mount significa:

montar uma fita

Antigamente o operador recebia uma mensagem:

MOUNT TAPE ABC123

Ele localizava a fita e a colocava no drive.

Hoje isso normalmente é feito pela Tape Library.


O que é Scratch Tape?

São fitas disponíveis para reutilização.

Exemplo:

SCRATCH

Prontas para receber novos dados.


O que é Tape Management?

Grandes ambientes possuem sistemas especializados para controlar fitas.

Exemplos:

  • CA-1

  • TLMS

  • DFSMSrmm

Esses produtos controlam:

  • localização;

  • retenção;

  • expiração;

  • reutilização.


Curiosidades incríveis

1. A IBM continua desenvolvendo tecnologia de fitas

Tape não é tecnologia abandonada.

Ela continua evoluindo.


2. Muitas nuvens usam fitas

Mesmo grandes provedores utilizam fitas para arquivamento.


3. Bancos mantêm informações por décadas

Muitas dessas informações estão armazenadas em tape.


4. Uma biblioteca de fitas pode armazenar petabytes

Capacidade suficiente para gigantescos volumes de dados.


Erros comuns de iniciantes

"Tape é tecnologia morta"

Não.

Ela continua sendo amplamente utilizada.


"SSD substituiu completamente fitas"

Não.

Cada tecnologia possui objetivos diferentes.


"Tape é lenta"

Para acesso aleatório sim.

Para backup massivo ela continua extremamente eficiente.


Profissionais que trabalham com Tape

  • Operadores Mainframe

  • Storage Administrators

  • Sysprogs

  • Especialistas de Backup

  • Equipes de Disaster Recovery


Por que aprender Tape?

Porque ela continua sendo um dos pilares da computação corporativa.

Ao entender tape você compreende:

  • backup;

  • recuperação;

  • retenção;

  • storage;

  • disaster recovery;

  • proteção de dados.


Conclusão

Tape é uma mídia de armazenamento magnético utilizada principalmente para backup, arquivamento e recuperação de desastres.

Mesmo após décadas de evolução tecnológica, continua sendo uma das soluções mais seguras, econômicas e confiáveis para preservar informações críticas.

No universo mainframe, as fitas permanecem desempenhando um papel essencial na proteção dos dados que movimentam bancos, governos e grandes corporações em todo o mundo.


quinta-feira, 29 de março de 2007

O que é REXX?

 

Bellacosa Mainframe e o REXX

O que é REXX?

Se o COBOL é uma das linguagens mais famosas do mainframe, o REXX é uma das ferramentas mais poderosas para automação e produtividade dentro do z/OS.

Ele é simples de aprender, extremamente útil e está presente no dia a dia de operadores, desenvolvedores, administradores e sysprogs.

De forma resumida:

REXX é uma linguagem de programação criada para automatizar tarefas, executar comandos e facilitar a interação com sistemas IBM.


Uma analogia simples

Imagine que você trabalha em um escritório e precisa repetir as mesmas tarefas todos os dias:

  • abrir arquivos;

  • consultar informações;

  • executar comandos;

  • gerar relatórios;

  • copiar dados.

Você poderia fazer tudo manualmente.

Ou poderia criar um assistente que fizesse isso para você.

O REXX é esse assistente.


O que significa REXX?

REXX significa:

Restructured Extended Executor

O nome pode parecer complicado, mas a ideia era simples:

Criar uma linguagem:

  • fácil de aprender;

  • fácil de ler;

  • fácil de manter.


Quem criou o REXX?

O REXX foi criado por:

Mike Cowlishaw

Pesquisador da IBM.

Seu objetivo era desenvolver uma linguagem que pudesse ser utilizada por pessoas sem formação avançada em programação.

Por isso o REXX possui uma sintaxe extremamente amigável.


Quando surgiu?

O REXX nasceu no final da década de 1970.

Foi oficialmente divulgado pela IBM no início dos anos 1980.

Rapidamente tornou-se popular em:

  • VM/CMS;

  • MVS;

  • TSO;

  • ISPF;

  • OS/2.

Mais tarde foi padronizado pela ANSI e ISO.


Por que o REXX foi criado?

Naquela época muitas tarefas administrativas exigiam:

  • JCL;

  • CLIST;

  • programas complexos.

A IBM precisava de uma linguagem mais simples para automação.

O resultado foi o REXX.


Onde o REXX é usado?

No mundo mainframe ele aparece em:

  • TSO;

  • ISPF;

  • SDSF;

  • automação operacional;

  • administração de sistemas;

  • geração de relatórios;

  • manipulação de datasets.


O que o REXX consegue fazer?

Praticamente tudo que envolve automação.

Por exemplo:

  • executar comandos TSO;

  • abrir datasets;

  • ler arquivos;

  • criar relatórios;

  • chamar programas COBOL;

  • manipular variáveis;

  • processar textos;

  • interagir com usuários.


Primeiro programa REXX

Exemplo clássico:

SAY 'Olá Mundo'

Resultado:

Olá Mundo

Simples assim.


Variáveis em REXX

Uma das características mais famosas é que não é necessário declarar variáveis.

Exemplo:

NOME = 'Bellacosa'

SAY NOME

Resultado:

Bellacosa

Fazendo cálculos

A = 10
B = 20

C = A + B

SAY C

Resultado:

30

Entrada de dados

O programa pode perguntar algo ao usuário.

SAY 'Digite seu nome'

PULL NOME

SAY 'Bem-vindo' NOME

Estruturas de decisão

Semelhante a outras linguagens.

IDADE = 18

IF IDADE >= 18 THEN
   SAY 'Maior de idade'
ELSE
   SAY 'Menor de idade'

Estruturas de repetição

Exemplo:

DO I = 1 TO 5
   SAY I
END

Resultado:

1
2
3
4
5

Executando comandos TSO

Aqui está uma das maiores forças do REXX.

Exemplo:

ADDRESS TSO

"LISTCAT LEVEL(MEU.DATASET)"

O script executa diretamente um comando TSO.


Integração com ISPF

O REXX conversa facilmente com o ISPF.

Pode:

  • abrir painéis;

  • chamar menus;

  • editar datasets;

  • navegar por telas.

Exemplo:

ADDRESS ISPEXEC

"DISPLAY PANEL(MEUPAIN)"

Manipulação de datasets

É possível:

  • criar datasets;

  • listar datasets;

  • ler datasets;

  • alterar datasets.

Automatizando tarefas que normalmente seriam manuais.


Integração com SDSF

REXX também pode acessar informações do SDSF.

Por exemplo:

  • jobs ativos;

  • spool;

  • status de execução;

  • mensagens do sistema.

Muito utilizado por operadores.


Vantagens do REXX

Fácil aprendizado

Uma das linguagens mais amigáveis do ambiente mainframe.


Pouca burocracia

Não exige declarações complexas.


Grande integração

Funciona com:

  • TSO;

  • ISPF;

  • SDSF;

  • z/OS.


Excelente para automação

Reduz tarefas repetitivas.


Desvantagens

Não substitui COBOL

COBOL continua sendo melhor para aplicações corporativas complexas.


Menor desempenho

Não foi criado para processamento pesado.


Dependência do ambiente

Grande parte do seu poder vem da integração com o z/OS.


Curiosidades incríveis

1. Muitos produtos IBM utilizam REXX

Ferramentas administrativas frequentemente possuem scripts REXX internos.


2. Existe REXX fora do Mainframe

Ele também foi usado em:

  • OS/2;

  • AmigaOS;

  • Windows;

  • Linux.


3. Um operador pode economizar horas de trabalho

Automatizando tarefas repetitivas com poucos comandos.


4. Muitos Sysprogs consideram REXX indispensável

Ele é uma das linguagens mais utilizadas para administração do z/OS.


Exemplos reais de uso

Um script REXX pode:

Verificar espaço em disco

Consultar datasets e gerar relatório.

Monitorar jobs

Verificar jobs em ABEND.

Criar relatórios

Gerar informações operacionais automaticamente.

Automatizar comandos

Executar dezenas de comandos sem intervenção humana.

Erros comuns de iniciantes

"REXX é COBOL"

Não.

São linguagens com objetivos diferentes.


"REXX é apenas uma linguagem de script"

Ele é muito mais poderoso do que a maioria imagina.


"Ninguém usa mais"

Pelo contrário.

REXX continua amplamente utilizado em ambientes z/OS.


Quem usa REXX?

  • Operadores Mainframe

  • Programadores COBOL

  • Analistas de Suporte

  • Sysprogs

  • Administradores RACF

  • Especialistas CICS

  • Administradores DB2


Por que aprender REXX?

Porque ele oferece uma das maneiras mais rápidas de começar a programar no mainframe.

Com poucos comandos você aprende:

  • lógica;

  • automação;

  • TSO;

  • ISPF;

  • administração do z/OS.


Conclusão

O REXX é uma das linguagens mais importantes e produtivas do universo mainframe.

Criado para ser simples e poderoso, ele permite automatizar tarefas, executar comandos e integrar diversos componentes do z/OS.

Para quem está começando na plataforma IBM Z, aprender REXX é frequentemente o caminho mais rápido para ganhar produtividade e compreender como o ambiente mainframe realmente funciona.

quarta-feira, 28 de março de 2007

O que é Disaster Recovery (DR) em Mainframe?

 

Bellacosa Mainframe introduz o disaster recovery

O que é Disaster Recovery (DR) em Mainframe?

Imagine a seguinte situação:

É uma segunda-feira de manhã.

Milhões de pessoas estão:

  • usando PIX;

  • comprando com cartão;

  • acessando Internet Banking;

  • consultando seguros;

  • realizando operações financeiras.

De repente, ocorre uma falha grave no datacenter principal.

Pode ser:

  • incêndio;

  • enchente;

  • apagão;

  • falha elétrica;

  • erro humano;

  • ataque cibernético.

Se não existir um plano de recuperação, toda a operação pode parar.

É exatamente para isso que existe o:

Disaster Recovery (DR)


Definição simples

Disaster Recovery é o conjunto de processos, tecnologias e procedimentos criados para recuperar sistemas críticos após um desastre.

Seu objetivo é garantir que a empresa continue operando mesmo diante de eventos graves.

Em português podemos chamar de:

Plano de Recuperação de Desastres.


Uma analogia simples

Imagine um hospital.

Se faltar energia:

  • os geradores entram em ação;

  • equipamentos continuam funcionando;

  • pacientes permanecem seguros.

O DR funciona da mesma forma.

Ele garante que os sistemas possam continuar operando mesmo quando algo muito sério acontece.


Por que o DR é importante?

Empresas modernas dependem totalmente de sistemas computacionais.

Imagine:

  • um banco fora do ar por horas;

  • uma companhia aérea sem reservas;

  • uma seguradora sem acesso aos clientes;

  • uma bolsa de valores indisponível.

O prejuízo pode atingir milhões ou até bilhões de reais.

Por isso o DR é considerado essencial.


O que pode causar um desastre?

Existem diversos cenários.

Falhas de hardware

Problemas em:

  • servidores;

  • storage;

  • redes;

  • equipamentos elétricos.


Falhas humanas

Exemplos:

  • exclusão acidental de dados;

  • configurações incorretas;

  • procedimentos executados de forma errada.


Falhas elétricas

Exemplos:

  • apagões;

  • surtos de energia;

  • problemas em subestações.


Desastres naturais

Como:

  • enchentes;

  • terremotos;

  • incêndios;

  • tempestades severas.


Ataques cibernéticos

Exemplos:

  • ransomware;

  • invasões;

  • sabotagem;

  • vazamento de dados.


O que o DR protege?

O DR protege:

  • aplicações;

  • bancos de dados;

  • datasets;

  • sistemas operacionais;

  • transações;

  • informações corporativas.


Como funciona um ambiente de DR?

Normalmente existem dois locais:

Site Primário

É o datacenter principal.

Onde as operações acontecem diariamente.


Site Secundário

Também chamado:

  • DR Site;

  • Recovery Site;

  • Site de Contingência.

É o ambiente preparado para assumir as operações caso o principal falhe.


Arquitetura simplificada

SITE PRINCIPAL
      │
      │ Replicação
      ▼
SITE DE DR

Os dados são copiados continuamente entre os dois ambientes.


O que é replicação?

Replicação é o processo de copiar dados de um ambiente para outro.

Assim, o site de recuperação permanece atualizado.


Replicação síncrona

Os dados são gravados simultaneamente nos dois locais.

Vantagem:

  • praticamente nenhuma perda de dados.

Desvantagem:

  • maior custo;

  • necessidade de baixa latência.


Replicação assíncrona

Os dados são enviados em intervalos.

Vantagem:

  • menor custo;

  • maior distância entre sites.

Desvantagem:

  • pequena possibilidade de perda de dados recentes.


Objetivos principais do DR

Existem duas métricas famosas.


RTO

Recovery Time Objective

Representa:

Quanto tempo o sistema pode ficar parado.

Exemplo:

RTO = 2 horas

A recuperação deve ocorrer em até duas horas.


RPO

Recovery Point Objective

Representa:

Quanto dado a empresa aceita perder.

Exemplo:

RPO = 15 minutos

A empresa aceita perder no máximo os últimos quinze minutos de informações.


Estratégias de recuperação


1. Backup e Restore

A mais simples.

Processo:

  1. realizar backup;

  2. armazenar cópia;

  3. restaurar quando necessário.

Vantagem:

  • menor custo.

Desvantagem:

  • recuperação mais lenta.


2. Site Frio (Cold Site)

Existe infraestrutura básica.

Os sistemas precisam ser instalados após o desastre.

Vantagem:

  • barato.

Desvantagem:

  • recuperação lenta.


3. Site Morno (Warm Site)

Parte dos sistemas já está preparada.

Vantagem:

  • recuperação moderada.

Desvantagem:

  • exige sincronização constante.


4. Site Quente (Hot Site)

Ambiente totalmente pronto.

Praticamente uma cópia do ambiente principal.

Vantagem:

  • recuperação rápida.

Desvantagem:

  • alto custo.


Como funciona no mundo Mainframe?

Os ambientes IBM Z utilizam tecnologias avançadas de recuperação.


GDPS

Geographically Dispersed Parallel Sysplex

Permite:

  • automação de failover;

  • gerenciamento de desastres;

  • recuperação rápida.

É uma das soluções mais sofisticadas do mundo mainframe.


Parallel Sysplex

Permite múltiplos sistemas z/OS trabalhando juntos.

Caso um sistema falhe:

outro pode assumir.


DFSMS

Gerencia:

  • storage;

  • backup;

  • recuperação;

  • movimentação de dados.


FlashCopy

Tecnologia que cria cópias rápidas de volumes de armazenamento.

Muito utilizada em estratégias de DR.


Processo de recuperação

Quando ocorre um desastre:

1. Detecção

A equipe identifica o problema.


2. Avaliação

Analisa-se:

  • impacto;

  • risco;

  • extensão da falha.


3. Ativação do DR

O plano de recuperação é acionado.


4. Recuperação

Os sistemas são iniciados no site secundário.


5. Validação

As equipes verificam:

  • aplicações;

  • bancos;

  • transações;

  • usuários.


6. Retorno

Após a normalização, os sistemas retornam ao ambiente principal.


O papel dos testes

Um DR que nunca foi testado não pode ser considerado confiável.

Por isso as empresas realizam:

  • simulações;

  • exercícios;

  • failovers programados;

  • testes de restauração.


Curiosidades incríveis

1. Alguns sites de DR ficam em outras cidades

Ou até em outros estados.

Isso reduz riscos de eventos regionais.


2. Grandes bancos possuem múltiplos ambientes

Muitas instituições operam com:

  • produção;

  • contingência;

  • homologação;

  • desenvolvimento.


3. O failover pode ser automático

Em alguns ambientes a troca ocorre com mínima intervenção humana.


4. O DR é exigido por auditorias

Órgãos reguladores frequentemente exigem comprovação dos planos de recuperação.


Erros comuns de iniciantes

"Backup é a mesma coisa que DR"

Não.

Backup é apenas uma parte do Disaster Recovery.


"Nunca vamos precisar usar"

Muitas empresas descobrem a importância do DR somente após uma crise.


"Ter um segundo servidor resolve"

Não.

Um plano completo envolve:

  • pessoas;

  • processos;

  • tecnologia;

  • documentação;

  • testes.


Profissionais envolvidos

Diversas equipes participam do DR:

  • operadores;

  • sysprogs;

  • DBAs;

  • storage administrators;

  • especialistas RACF;

  • equipes de rede;

  • infraestrutura;

  • segurança.


Por que aprender DR?

Porque ele é um dos pilares da computação corporativa.

Entender DR ajuda a compreender:

  • continuidade de negócios;

  • alta disponibilidade;

  • segurança operacional;

  • arquitetura corporativa;

  • gestão de riscos.


Conclusão

Disaster Recovery é muito mais do que um simples backup.

Ele representa a capacidade de uma organização continuar funcionando mesmo diante de eventos graves e inesperados.

No universo mainframe, onde milhões de transações dependem de disponibilidade contínua, o DR é uma das camadas mais importantes para garantir que bancos, governos e grandes empresas continuem operando com segurança, confiabilidade e resiliência.

terça-feira, 27 de março de 2007

Introdução aos Conceitos de Performance em Mainframe

 

Bellacosa Mainframe e a introdução a performance no mainframe

Introdução aos Conceitos de Performance em Mainframe

Quando falamos em Performance em Mainframe, estamos falando da arte e da ciência de fazer com que aplicações, bancos de dados, transações online e processos batch executem com máxima eficiência, consumindo o mínimo possível de recursos computacionais.

No universo IBM Z, performance não significa apenas velocidade. Ela envolve:

✅ Tempo de resposta

✅ Consumo de CPU

✅ Uso de memória

✅ Acesso a disco

✅ Tráfego de rede

✅ Custos de licenciamento

✅ Capacidade futura do ambiente


O Que é Performance?

De forma simples:

Performance =
Quantidade de trabalho realizado
÷
Recursos consumidos

Um sistema é considerado eficiente quando consegue processar mais transações utilizando menos recursos.


Por Que Performance é Tão Importante?

Em ambientes Mainframe, pequenas melhorias podem representar economias enormes.

Exemplo:

1% de redução de CPU
↓
Menos consumo de MSU
↓
Redução de custos
↓
Economia anual significativa

Por isso, grandes bancos possuem equipes dedicadas exclusivamente à performance.


Os Quatro Pilares da Performance

CPU

É o cérebro do Mainframe.

Responsável por executar:

  • COBOL

  • PL/I

  • Java

  • CICS

  • IMS

  • DB2

Exemplo:

CPU = 90%

Pode indicar gargalo.


Memória

Armazena programas e dados em execução.

Analisa-se:

  • Frames

  • Real Storage

  • Paging

  • Cache

Problemas comuns:

Pouca memória
↓
Paging excessivo
↓
Lentidão

I/O (Entrada e Saída)

Envolve:

  • Discos

  • Storages

  • FICON

  • VSAM

  • DB2

Muitas vezes o gargalo não está na CPU, mas no acesso aos dados.


Rede

Hoje os Mainframes estão conectados a:

  • APIs

  • Cloud

  • Mobile

  • Open Banking

Logo, performance também envolve:

TCP/IP
OSA
HiperSockets
TLS

Conceitos Fundamentais

Tempo de Resposta

Quanto tempo o usuário espera.

Exemplo:

Consulta Saldo
↓
0,3 segundos

Excelente.


Throughput

Quantidade de trabalho processado.

Exemplo:

50.000 transações/segundo

Latência

Tempo necessário para iniciar uma operação.

Exemplo:

Aplicação
↓
DB2
↓
Resposta

Quanto menor, melhor.


Utilização

Percentual de uso de um recurso.

Exemplo:

CPU = 40%

Capacidade

Quanto o ambiente suporta antes de saturar.


Performance em Batch

Muito importante em Mainframe.

Exemplo:

JOB NOTURNO

Início: 22:00
Fim:    04:00

Objetivo:

22:00
↓
01:30

Menor janela batch.


Performance em CICS

Em ambiente online analisa-se:

  • Tempo de resposta

  • Número de transações

  • Esperas

  • Locks

Fluxo:

Terminal
↓
CICS
↓
COBOL
↓
DB2

Cada etapa é medida.


Performance em DB2

Grande parte dos problemas de performance está no SQL.

Exemplo ruim:

SELECT *
FROM CLIENTES

Melhor:

SELECT NOME
FROM CLIENTES
WHERE CPF = ?

Aspectos analisados:

  • Índices

  • Buffer Pools

  • Access Path

  • Tablespaces


Performance em COBOL

Algumas boas práticas:

Evitar Leitura Desnecessária

Ruim:

READ ARQUIVO

milhões de vezes.


Carregar Tabelas em Memória

Melhor:

READ UMA VEZ
↓
WORKING-STORAGE

Utilizar SEARCH ALL

Mais eficiente que busca sequencial.


Reduzir Chamadas ao Banco

Menos SQL significa:

Menos I/O
↓
Mais Performance

Principais Gargalos

CPU

Uso excessivo

Disco

I/O elevado

SQL

Full Table Scan

Rede

Latência

Aplicação

Loops ineficientes

Ferramentas de Performance

RMF

Resource Measurement Facility

Ferramenta nativa do z/OS.

Monitora:

  • CPU

  • Memória

  • I/O

  • Rede


SMF

System Management Facility

Gera registros estatísticos.

Exemplo:

SMF Type 30
SMF Type 110
SMF Type 101

OMEGAMON

Monitoramento em tempo real.

Muito utilizado para:

  • CICS

  • DB2

  • IMS

  • z/OS


MainView

Solução Broadcom.


Capacity Planning

Não basta analisar o presente.

É necessário prever o futuro.

Perguntas comuns:

O ambiente suporta
o crescimento do próximo ano?

Avalia:

  • CPU

  • Memória

  • Storage

  • Rede


MIPS e MSU

MIPS

Million Instructions Per Second

Métrica histórica.


MSU

Million Service Units

Mais utilizada atualmente.


zIIP e Performance

Os processadores zIIP ajudam a reduzir carga dos CPs.

Executam:

  • Java

  • XML

  • JSON

  • DB2

  • Analytics


Fluxo:

CP
↓
zIIP
↓
Menos CPU

Workload Manager (WLM)

Controla prioridades.

Exemplo:

PIX
↓
Alta Prioridade

Relatório
↓
Baixa Prioridade

Performance e Cloud

Hoje também envolve:

APIs
OpenShift
Containers
z/OS Connect
LinuxONE

O Papel do Analista de Performance

Ele atua como um "médico do Mainframe".

Analisa:

  • Sintomas

  • Gargalos

  • Tendências

  • Crescimento

E propõe otimizações.


Curiosidade

Muitas das técnicas modernas de observabilidade utilizadas em Cloud Computing possuem origem em conceitos que os profissionais de Mainframe já utilizavam desde as décadas de 1970 e 1980 através de ferramentas como RMF, SMF e monitores de desempenho.


Resumo Rápido

ConceitoObjetivo
CPUProcessamento
MemóriaArmazenamento temporário
I/OAcesso a dados
RedeComunicação
ThroughputVolume processado
LatênciaTempo de espera
RMFMonitoramento
SMFEstatísticas
OMEGAMONTempo real
WLMPriorização
zIIPOffload de processamento
Capacity PlanningPlanejamento futuro

Conclusão

Performance em Mainframe é uma disciplina estratégica que busca maximizar a eficiência dos recursos do IBM Z. Ela envolve monitoramento, análise, tuning e planejamento de CPU, memória, I/O, rede, aplicações COBOL, CICS, IMS e DB2. Dominar esses conceitos é fundamental para garantir que ambientes críticos continuem processando milhões de transações com rapidez, estabilidade e o menor custo possível.


segunda-feira, 26 de março de 2007

O que é um Dataset no Mainframe?

 

Bellacosa Mainframe o que é um dataset

O que é Dataset no Mainframe?

No ambiente mainframe IBM Z, um dos conceitos mais importantes é:

Dataset.

Praticamente tudo no z/OS gira em torno deles:

  • programas;

  • JCL;

  • arquivos COBOL;

  • relatórios;

  • bibliotecas;

  • cargas batch;

  • bancos VSAM.


Definição simples

Dataset é:

um conjunto organizado de dados armazenado no disco do mainframe.

É equivalente a:

  • arquivos no Windows;

  • arquivos Linux;

  • documentos digitais.

Mas no mainframe os datasets possuem:

muito mais controle e estrutura.


Analogia simples


Windows

C:\TEMP\CLIENTES.TXT

Mainframe

EMPRESA.PROD.CLIENTES

Dataset = arquivo do mainframe


Onde datasets ficam?

Normalmente em:

DASD.


O que é DASD?

Direct Access Storage Device

Disco do mainframe.


Tipos mais comuns de dataset


Sequential Dataset (PS)

Arquivo sequencial.


PDS

Partitioned Dataset.

Biblioteca com membros.


PDSE

Versão moderna do PDS.


VSAM

Dataset avançado indexado.


GDG

Geração de datasets.


Dataset sequencial (PS)

Muito usado em:

  • COBOL batch;

  • relatórios;

  • arquivos entrada;

  • saída batch.


Exemplo

BANCO.CLIENTES.ARQ

Como funciona?

Os registros são lidos:

em sequência.


Fluxo

REG1
 ↓
REG2
 ↓
REG3

Muito usado com COBOL READ


O que é PDS?

Partitioned Dataset

Dataset dividido em:

membros.


Analogia

Como uma pasta contendo:

  • vários arquivos.


Muito usado para:

  • JCL;

  • PROC;

  • COBOL source;

  • CLIST;

  • REXX.


Exemplo

USER.JCLLIB

Membros:

TESTE
COBOL
BACKUP

O que é PDSE?

Versão moderna do:

PDS.


Vantagens do PDSE

  • menos fragmentação;

  • gerenciamento automático;

  • mais eficiente;

  • mais moderno.


O que é VSAM?

Dataset mais sofisticado.

Pode possuir:

  • índice;

  • acesso direto;

  • chave.


Muito usado em:

  • bancos;

  • sistemas online;

  • CICS.


O que é GDG?

Generation Data Group

Controle de versões de datasets.


Exemplo

RELATORIO(+1)

Como datasets são identificados?

Por:

DSN.


DSN = Dataset Name


Exemplo

EMPRESA.FINANCEIRO.CLIENTES

Regras comuns

  • separados por ponto;

  • até 44 caracteres;

  • níveis hierárquicos.


Estrutura visual

EMPRESA
   ↓
FINANCEIRO
   ↓
CLIENTES

Como datasets aparecem no JCL?

Via:

DD statement.


Exemplo

//CLIENTE DD DSN=EMPRESA.CLIENTES,
//            DISP=SHR

Explicando

ElementoFunção
DDDefine dataset
DSNNome dataset
DISPTipo acesso

DISP mais comuns

DISPSignificado
SHRCompartilhado
OLDExclusivo
NEWNovo dataset
MODAcrescentar dados

Como COBOL usa dataset?

Através de:

  • SELECT;

  • ASSIGN;

  • READ;

  • WRITE.


Exemplo COBOL

SELECT ARQCLI
ASSIGN TO CLIENTE.

Ligação COBOL ↔ JCL

COBOL ASSIGN
      ↓
DDNAME JCL
      ↓
Dataset real

O que é layout do dataset?

Estrutura do registro.


Exemplo

12345JOAO SILVA          0001500

Layout COBOL

05 ID      PIC 9(5).
05 NOME    PIC X(20).
05 SALDO   PIC 9(7).

Dataset pode conter:

  • texto;

  • números;

  • binários;

  • packed decimal;

  • JCL;

  • programas.


Dataset no SDSF/ISPF

Muito acessado usando:

  • 3.4 ISPF;

  • SDSF;

  • utilities.


Comandos famosos

LISTCAT

ALLOC

IEBGENER

O que é catalog?

Catálogo do z/OS.

Guarda:

  • localização;

  • volume;

  • informações dataset.


O que é volume?

Disco físico/lógico onde dataset está.


Dataset temporário

Criado temporariamente no JOB.


Exemplo

//TEMP DD DSN=&&TEMP

Dataset permanente

Fica armazenado após execução.


Dataset e batch

Praticamente todo batch:

  • lê datasets;

  • processa;

  • grava novos datasets.


Fluxo batch clássico

INPUT DATASET
      ↓
COBOL PROCESSA
      ↓
OUTPUT DATASET

Curiosidades incríveis

1. Mainframes armazenam bilhões de datasets


2. PDS foi uma revolução para bibliotecas JCL/COBOL


3. VSAM ainda é extremamente usado em bancos


4. Muitos datasets existem há décadas em produção


Erros comuns de iniciantes


1. Confundir PDS com dataset sequencial


2. DDNAME diferente do ASSIGN


3. DISP incorreto


4. Layout incompatível


5. Não entender organização do dataset


Dicas importantes

Entenda PS vs PDS vs VSAM


Sempre valide DDNAME


Aprenda DISP corretamente


Conheça layouts COBOL


Resumo rápido

TipoFunção
PSSequencial
PDSBiblioteca
PDSEBiblioteca moderna
VSAMIndexado
GDGVersionamento
DSNNome dataset
DDAssociação JCL

Conclusão

Dataset é a estrutura fundamental de armazenamento no ambiente mainframe IBM Z.

Eles armazenam programas, arquivos batch, bibliotecas, dados corporativos e informações críticas, sendo essenciais para COBOL, JCL, CICS e processamento no z/OS.

domingo, 25 de março de 2007

O que é DL/I em IMS?

 

Bellacosa Mainframe analisando o DL/I em IMS

O que é DL/I em IMS?

O DL/I (Data Language/I) é a linguagem de acesso a dados e transações utilizada pelo IMS (Information Management System) da IBM.

Ele funciona como uma interface entre os programas (COBOL, PL/I, Assembler) e os bancos de dados hierárquicos do IMS.

De forma simples:

Programa COBOL
       ↓
      DL/I
       ↓
Banco IMS

O que Significa DL/I?

DL/I
Data Language / Interface

É a API original criada pela IBM para acessar bancos IMS.


Por que o DL/I Foi Criado?

Na década de 1960, não existia SQL.

O IMS armazenava dados em estruturas hierárquicas.

Para acessar esses dados era necessário um mecanismo específico.

A IBM criou então:

DL/I

DL/I é o SQL do IMS?

De certa forma, sim.

Compare:

DB2

SELECT *
FROM CLIENTE
WHERE CPF = '12345678900'

IMS DL/I

GU CLIENTE

seguido da navegação hierárquica.


Estrutura Hierárquica do IMS

Exemplo:

CLIENTE
   │
   ├── CONTA
   │      │
   │      └── MOVIMENTO
   │
   └── CARTAO

Como o DL/I Navega?

O DL/I percorre a hierarquia.

CLIENTE
   ↓
CONTA
   ↓
MOVIMENTO

Tipos de Chamadas DL/I

O DL/I trabalha através de comandos conhecidos como:

CALL DL/I

Exemplo COBOL:

CALL 'CBLTDLI'
     USING GU
           PCB-MASK
           AREA-CLIENTE
           SSA-CLIENTE.

Principais Comandos DL/I

GU

Get Unique

Busca um registro específico.


Exemplo:

GU CLIENTE

Resultado:

CLIENTE 12345

GN

Get Next

Busca o próximo segmento.


Exemplo:

CLIENTE 1
CLIENTE 2
CLIENTE 3

Fluxo:

GN
↓
Próximo registro

GNP

Get Next Within Parent

Busca o próximo filho.


Exemplo:

CLIENTE
   │
   ├── CONTA1
   ├── CONTA2
   └── CONTA3

Com:

GNP

navega entre as contas.


GHU

Get Hold Unique

Lê e bloqueia registro.


Utilizado antes de atualização.


GHN

Get Hold Next

Lê próximo registro com bloqueio.


ISRT

Insert

Insere novo segmento.


Exemplo:

Novo Cliente

COBOL:

CALL 'CBLTDLI'
     USING ISRT
           PCB-MASK
           AREA-CLIENTE.

REPL

Replace

Atualiza registro existente.


Fluxo:

GHU
 ↓
REPL

DLET

Delete

Remove segmento.


Fluxo:

GHU
 ↓
DLET

Exemplo Completo

Banco IMS:

CLIENTE
    ↓
CONTA

Passo 1

Buscar cliente.

GU

Passo 2

Alterar dados.

GHU

Passo 3

Atualizar.

REPL

SSA (Segment Search Argument)

Equivalente ao WHERE do SQL.


SQL:

WHERE CPF='123'

DL/I:

CLIENTE(CPF=123)

Exemplo

01 SSA-CLIENTE.
   05 FILLER PIC X(8)
      VALUE 'CLIENTE('.

PCB

Program Communication Block

Define o acesso ao banco.


Exemplo:

PCB CLIENTE

Contém:

  • Status

  • Banco

  • Permissões


Status Codes

Após cada chamada DL/I.


Espaços

'  '

Sucesso.


GE

GE

Registro não encontrado.


GB

GB

Fim de banco.


II

II

Inserção inválida.


Exemplo de Leitura Sequencial

GU
 ↓
GN
 ↓
GN
 ↓
GN

Resultado:

CLIENTE1
CLIENTE2
CLIENTE3
CLIENTE4

Exemplo COBOL

CALL 'CBLTDLI'
     USING GU
           PCB-CLIENTE
           REG-CLIENTE
           SSA-CLIENTE.

Verificando retorno:

IF PCB-STATUS = '  '
   DISPLAY 'ENCONTRADO'
END-IF.

DL/I em Ambiente Online

Muito comum em:

CICS
IMS TM

Fluxo:

Terminal
    ↓
IMS TM
    ↓
COBOL
    ↓
DL/I
    ↓
IMS DB

DL/I em Batch

Também muito utilizado.

JOB
 ↓
COBOL
 ↓
DL/I
 ↓
IMS DB

Comparação SQL x DL/I

SQL (DB2)DL/I (IMS)
SELECTGU/GN
INSERTISRT
UPDATEREPL
DELETEDLET
WHERESSA
CursorGN
LockGHU

Vantagens do DL/I

✅ Extremamente rápido

✅ Baixo consumo de CPU

✅ Excelente para grandes volumes

✅ Muito usado em bancos

✅ Altamente confiável


Curiosidades

1. O DL/I surgiu antes do SQL

2. Foi criado para o Projeto Apollo da NASA

3. Ainda processa bilhões de transações diariamente

4. Continua amplamente utilizado em bancos e seguradoras

5. É uma das APIs de banco de dados mais antigas ainda em produção


Resumo Rápido

ComandoFunção
GUGet Unique
GNGet Next
GNPGet Next Within Parent
GHUGet Hold Unique
GHNGet Hold Next
ISRTInsert
REPLReplace
DLETDelete
SSACritério de busca
PCBControle de acesso

Conclusão

O DL/I (Data Language/I) é a interface de acesso ao banco de dados IMS. Ele permite que programas COBOL, PL/I e Assembler leiam, insiram, atualizem e removam segmentos em bancos hierárquicos IMS por meio de comandos como GU, GN, ISRT, REPL e DLET. Embora seja anterior ao SQL, continua sendo uma das tecnologias mais importantes do universo Mainframe, sustentando aplicações críticas em bancos, governos, seguradoras e grandes corporações ao redor do mundo.


sábado, 24 de março de 2007

Como Funciona o FTP no Ambiente Mainframe (Modo Batch e Modo Online)

 

Bellacosa Mainframe tranferindo arquivos com FTP

Como Funciona o FTP no Ambiente Mainframe (Modo Batch e Modo Online)

O FTP (File Transfer Protocol) é uma das formas mais tradicionais de transferir arquivos entre Mainframes, servidores Linux, Windows, Unix e plataformas Cloud.

No z/OS, o FTP pode ser executado de duas formas:

Modo Online (TSO)

Modo Batch (JCL)


O que é FTP?

FTP significa:

File Transfer Protocol

É um protocolo utilizado para:

  • Enviar arquivos

  • Receber arquivos

  • Trocar datasets

  • Integrar sistemas


Arquitetura Básica

Mainframe
     ↓
FTP
     ↓
Servidor Linux

ou

Mainframe A
      ↓
FTP
      ↓
Mainframe B

Modos de Transferência

ASCII

Converte caracteres.

Utilizado para:

JCL
COBOL
TXT
PROC

BINARY

Não converte conteúdo.

Utilizado para:

LOADLIB
XMIT
ZIP
PDF
Executáveis

FTP Online (TSO)

Executado diretamente no terminal TSO.


Passo 1 – Entrar no FTP

No prompt TSO:

FTP 192.168.1.100

ou

FTP servidor.empresa.com

Passo 2 – Informar Usuário

Name:

Digite:

USER01

Passo 3 – Informar Senha

Password:

Digite:

*******

Conexão Estabelecida

Connected to server.

Comandos Básicos


Listar Diretório

LS

ou

DIR

Mudar Diretório

CD /home/arquivos

Ver Diretório Atual

PWD

Enviando Arquivos

Exemplo

Dataset:

USER.CLIENTES

Comando:

PUT 'USER.CLIENTES' clientes.txt

Fluxo:

Dataset Mainframe
      ↓
PUT
      ↓
Arquivo Linux

Recebendo Arquivos

GET clientes.txt 'USER.CLIENTES'

Fluxo:

Linux
 ↓
GET
 ↓
Dataset z/OS

Definindo Modo ASCII

ASCII

Definindo Modo BINARY

BINARY

Exemplo Completo Online

FTP servidor.empresa.com

USER user01
PASS senha

ASCII

PUT 'USER.COBOL.SOURCE(MEUCOBOL)' programa.cbl

QUIT

Resultado:

programa.cbl

enviado para o servidor.


FTP Batch (JCL)

Muito utilizado em produção.


Vantagens

✅ Automação

✅ Execução noturna

✅ Integração Batch

✅ Sem intervenção humana


Estrutura Básica

//FTPJOB JOB ...
//STEP01 EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//INPUT DD *
...
/*

Exemplo 1 – Enviar Arquivo

//FTPJOB JOB CLASS=A,MSGCLASS=X

//FTPSTEP EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//OUTPUT   DD SYSOUT=*
//INPUT DD *

192.168.1.100

USER01
SENHA

ASCII

PUT 'USER.CLIENTES' clientes.txt

QUIT

/*

Fluxo

JCL
 ↓
FTP
 ↓
Servidor
 ↓
clientes.txt

Exemplo 2 – Receber Arquivo

//FTPJOB JOB CLASS=A

//FTPSTEP EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//INPUT DD *

192.168.1.100

USER01
SENHA

ASCII

GET clientes.txt 'USER.CLIENTES'

QUIT

/*

Exemplo 3 – Transferindo XMIT

Arquivo:

USER.COBOL.XMIT

Sempre usar:

BINARY

JCL:

//FTPSTEP EXEC PGM=FTP
//INPUT DD *

192.168.1.100

USER01
SENHA

BINARY

PUT 'USER.COBOL.XMIT' COBOL.XMIT

QUIT

/*

Recebendo Arquivo XMIT

GET COBOL.XMIT 'USER.COBOL.XMIT'

Depois:

RECEIVE INDSN('USER.COBOL.XMIT')

FTP Entre Mainframes

Muito comum.


Mainframe A:

BANCO A

PUT 'PROD.CLIENTES'

BANCO B

Criando Dataset Remoto

Muitos servidores FTP do z/OS aceitam:

SITE

Exemplo:

SITE RECFM(F B) LRECL(80) BLKSIZE(8000)

Depois:

PUT CLIENTES.TXT 'USER.CLIENTES'

SITE Command

Muito importante.

Permite definir:

  • LRECL

  • BLKSIZE

  • RECFM

  • SPACE


Exemplo

SITE

RECFM(FB)
LRECL(80)
CYLINDERS
PRIMARY=5
SECONDARY=2

FTP Seguro

Atualmente utiliza-se:

FTPS

FTP com TLS.


SFTP

Via SSH.


Fluxo:

Mainframe
 ↓
SFTP
 ↓
Linux

Exemplos de Uso Real


Banco

PIX
 ↓
FTP
 ↓
Arquivo BACEN

Seguradora

Batch Noturno
 ↓
FTP
 ↓
Parceiro

Governo

Arrecadação
 ↓
FTP
 ↓
Receita

Erros Mais Comuns

Login Inválido

530 Login Incorrect

Dataset Não Encontrado

550 File Not Found

Permissão Negada

550 Access Denied

ASCII x BINARY

Erro clássico.

Enviar XMIT em ASCII:

Arquivo Corrompido

Correto:

BINARY

Boas Práticas

✅ XMIT → BINARY

✅ LOADLIB → BINARY

✅ Texto COBOL → ASCII

✅ Usar FTPS/SFTP

✅ Automatizar via JCL

✅ Validar retorno FTP


Resumo Rápido

ComandoFunção
FTP hostConectar
PUTEnviar
GETReceber
ASCIIModo texto
BINARYModo binário
DIRListar
CDTrocar diretório
QUITEncerrar
SITEDefinir atributos
RECEIVERestaurar XMIT

Exemplo Clássico de Produção

JOB Batch
      ↓
FTP
      ↓
Arquivo Remessa
      ↓
Banco Parceiro
      ↓
Processamento
      ↓
Arquivo Retorno
      ↓
FTP GET
      ↓
Mainframe

Esse é um dos cenários mais comuns em bancos, seguradoras, telecomunicações e órgãos governamentais que utilizam Mainframe para integração de arquivos em larga escala.