terça-feira, 8 de janeiro de 2008

🧠 OMVS Shell no z/OS

 

Bellacosa Mainframe com o Unix no Mainframe ZOS conheça o Posix OMVS shell

🧠 OMVS Shell no z/OS

O Unix que mora dentro do Mainframe

👉 Ao estilo Bellacosa Mainframe


🎬 Abertura – “Tem Unix dentro do meu z/OS?”

Sim.
E não é gambiarra.
Não é emulação.
Não é “meio Unix”.

👉 É Unix de verdade, certificado POSIX, rodando lado a lado com JES2, CICS, DB2 e batch.

O nome da criatura é:

z/OS UNIX System Services (USS)

E o portal de entrada é o OMVS shell.

Se você é padawan de mainframe e ainda acha que tudo é JCL + ISPF, prepare-se:
o OMVS vai expandir sua visão do universo.


🕰️ Um pouco de história (porque Bellacosa não pula contexto)

Anos 90.
O mundo gritava: “Unix! TCP/IP! Open Systems!”

A IBM poderia ter brigado.
Mas fez o que sempre faz melhor:

👉 Engoliu o mundo… e integrou.

Nasce o USS:

  • Compatível com POSIX

  • Suporte a C, Java, shell scripts

  • Base para:

    • TCP/IP

    • OpenSSH

    • FTP

    • NFS

    • WebSphere

    • DB2 Utilities

    • Ferramentas modernas

👉 Sem OMVS, z/OS não conversa com o mundo moderno.


🚪 Entrando no OMVS – Primeiro contato do Padawan

Opção 1️⃣ – ISPF Command Line

OMVS

Boom 💥
Você saiu do mundo verde clássico e entrou no shell Unix do mainframe.


Opção 2️⃣ – Via TSO

TSO OMVS

Mesmo efeito.
Outra porta do mesmo templo.


Opção 3️⃣ – SSH (modo Jedi)

ssh usuario@hostname

👉 Aqui você já nasce adulto.
Terminal moderno, scripts, automação.


🐣 Onde estou? Quem sou eu?

Primeiro comando que todo padawan executa:

pwd

Resposta típica:

/u/renato

📌 /u é o “HOME” padrão dos usuários USS.

Confirme quem você é:

whoami

📁 Navegação básica (sem medo)

ls # lista arquivos ls -l # lista detalhada ls -a # mostra arquivos ocultos cd dir # entra no diretório cd .. # sobe um nível cd # volta pro HOME

👉 Sim, igual Linux.
👉 Não, não é coincidência.


📄 Trabalhando com arquivos

touch arquivo.txt vi arquivo.txt cat arquivo.txt more arquivo.txt less arquivo.txt rm arquivo.txt cp a b mv a b

⚠️ Cuidado Bellacosa
rm no USS não pergunta.
Não tem ISPF UNDO.
Aqui é vida real.


🧬 Comandos essenciais do OMVS (lista de ouro)

Sistema

uname -a # info do sistema df -k # espaço em disco du -sk * # tamanho de diretórios ps -ef # processos top # monitor em tempo real

Usuários e permissões

id chmod 755 file chown user:grp file

📌 Sim, RACF manda por baixo.
USS respeita UID, GID, mas quem manda é o SAF.


Processos

ps -ef | grep nome kill -9 PID

👉 Sim, você pode matar processo.
👉 Não, não mate coisa que você não entende 😈


🔄 “Bellacosa, como eu VOLTO pro z/OS?”

Pergunta clássica.
Resposta simples:

exit

Ou:

logout

👉 Você volta direto pro TSO/ISPF, são e salvo.

📌 Não existe reboot do mainframe porque você saiu do OMVS.
Relaxa.


🧙‍♂️ Truques & Dicas de Velho Jedi

🧩 1. Dataset ≠ Arquivo USS

USS usa HFS/ZFS, não dataset.

Mas existe ponte:

cat "//'HLQ.DATASET'"

🤯 Sim.
Dataset como se fosse arquivo.


🧩 2. Shell scripts no z/OS

#!/bin/sh echo "Hello, Mainframe Unix!"

Executa:

chmod +x script.sh ./script.sh

👉 Batch + Shell = automação poderosa.


🧩 3. Variáveis de ambiente

export PATH=$PATH:/usr/local/bin

👉 Java, DB2, ferramentas modernas dependem disso.


🧩 4. Histórico secreto

Setinha ↑ ↓ funciona 😏
Sim, até no OMVS.


🥚 Easter Eggs do USS

🥚 echo $?
Mostra o return code do último comando
👉 Sim, tipo COND CODE do Unix.

🥚 /bin/date
Unix date rodando no mainframe desde os anos 90.

🥚 Strings Unix em dumps z/OS
Sim, você já viu stack trace Unix dentro de dump mainframe.
Agora sabe por quê.


🤔 Comentários Bellacosa (sem filtro)

👉 OMVS é:

  • Subestimado

  • Mal ensinado

  • Essencial

👉 Quem ignora USS:

  • Sofre com FTP

  • Não entende WebSphere

  • Apanha em troubleshooting TCP/IP

👉 Mainframe não é só batch.
É plataforma híbrida antes de “cloud híbrida” virar buzzword.


🧑‍🎓 Caminho do Padawan → Jedi

Passo a passo recomendado:

1️⃣ Aprender navegação básica
2️⃣ Editar arquivos com vi
3️⃣ Entender permissões
4️⃣ Usar ps, kill, df
5️⃣ Integrar shell com batch
6️⃣ Acessar via SSH
7️⃣ Automatizar tarefas
8️⃣ Entender RACF + USS
9️⃣ Troubleshooting real
🔟 Virar referência na equipe 😎


🏁 Encerramento

OMVS não é “opcional”.
É parte do DNA moderno do z/OS.

Quem domina OMVS:

  • Entende o passado

  • Opera o presente

  • Está pronto pro futuro

👉 Mainframe não é velho.
Velho é quem não explora tudo o que ele tem.


segunda-feira, 7 de janeiro de 2008

Bellacosa Index Page: Checklist de Indexação

  

✅ Checklist de Indexação 



SEO não é sobre truques, mas sobre clareza, qualidade e consistência.
Ao seguir este checklist, você cria uma base sólida para crescer organicamente, ganhar visibilidade e construir autoridade nos motores de busca de forma sustentável.

🔹 1. Visibilidade nos motores de busca

📍 Blogger → Configurações → Preferências de pesquisa

  •  Visibilidade nos motores de busca:
    ☑️ SIM (permitir indexação)

❌ Se estiver “Não”, o Google não indexa nada do blog.


🔹 2. Meta tags do blog (muito importante)

📍 Configurações → Preferências de pesquisa → Meta tags

  •  Descrição: ATIVADA

  •  Descrição clara, objetiva e com palavras-chave do blog

⚠️ Não usar textos vazios ou genéricos.


🔹 3. Meta tags dos posts

📍 Editor de post → Opções do post

Para cada post:

  •  Robôs personalizados: padrão (index, follow)

  •  NÃO marcar “Não indexar”

❌ Um post com noindex nunca aparecerá no Google.


🔹 4. Robots.txt personalizado

📍 Configurações → Preferências de pesquisa → Robots.txt personalizado

Configuração recomendada:

User-agent: * Disallow: /search Allow: /
  •  Robots.txt ATIVADO

  •  Não bloquear / ou /posts

  •  Não usar Disallow: / (isso bloqueia tudo)


🔹 5. Cabeçalho HTTP (X-Robots-Tag)

⚠️ Erro comum em templates modificados

  •  Nenhuma página importante retorna:

X-Robots-Tag: noindex

Como verificar:

  1. Abrir post no navegador

  2. Pressionar F12

  3. Aba Network → Document

  4. Ver cabeçalhos HTTP


🔹 6. Template do Blog

📍 Tema → Editar HTML

  •  NÃO existir:

<meta name="robots" content="noindex">

em páginas de post

✔️ noindex só deve existir em:

  • páginas de busca

  • arquivos

  • labels (opcional)


🔹 7. URLs corretas (SEO-friendly)

  •  URLs curtas

  •  Sem datas exageradas

  •  Palavras-chave no link

  •  Evitar caracteres estranhos

Exemplo bom:

/2025/retrospectiva-canal-el-jefe.html

🔹 8. Sitemap enviado ao Google

📍 Google Search Console → Sitemaps

Enviar:

/sitemap.xml
  •  Sitemap enviado

  •  Sem erros


🔹 9. Google Search Console – Indexação

📍 Indexação → Páginas

Verificar:

  •  Páginas indexadas

  •  Páginas excluídas

  •  Motivos de exclusão analisados

Erros comuns:

  • noindex

  • duplicadas

  • redirecionadas

  • descobertas mas não indexadas


🔹 10. Inspeção de URL (página por página)

📍 Search Console → Inspeção de URL

  •  Colar URL do post

  •  Ver status: INDEXADA

  •  Se não → Solicitar indexação


🔹 11. Conteúdo mínimo para indexação

O Google evita indexar páginas fracas.

Para cada post:

  •  +300 palavras

  •  Texto original

  •  Pelo menos 1 imagem

  •  Título claro

  •  Conteúdo útil


🔹 12. Links internos

  •  Posts linkam para outros posts

  •  Página inicial linka posts importantes

  •  Menu com links reais

✔️ Links internos ajudam o Google a descobrir páginas.


🔹 13. Velocidade e usabilidade

  •  Template leve

  •  Mobile-friendly

  •  Sem excesso de scripts externos

📌 Blogspot lento = indexação lenta.


🔹 14. Verificação manual rápida

No Google, digite:

site:SEUBLOG.blogspot.com
  •  Posts aparecem

  •  Novos posts surgem após alguns dias


🔹 15. Frequência de publicação

  •  Postar pelo menos 1x por semana

  •  Evitar longos períodos sem atualização

📈 Blog ativo = Google visita mais vezes.


🧠 DICA FINAL

Indexação não é imediata. Mesmo com tudo correto:

  • novos blogs levam semanas

  • novos posts levam dias

📌 Consistência vence pressa.


quinta-feira, 3 de janeiro de 2008

📊 Tabela de Erros Comuns no COBOL 4.x

 



📊 Tabela de Erros Comuns no COBOL 4.x

(O museu do código que sobreviveu por sorte)

“COBOL 4 não perdoa erros…
ele apenas adia a cobrança.”

— Bellacosa



🟥 ERROS DE DADOS E NUMÉRICOS (os mais perigosos)

Erro comumPor que acontece no COBOL 4Sintoma clássicoRisco real
MOVE alfanumérico → numérico sem validaçãoCOBOL 4 é permissivoResultado “estranho”Dados corrompidos
Campo COMP com lixoFalta de NUMCHECKValor inválido silenciosoABEND S0C7
Campo não inicializadoWORKING-STORAGE “herdada”Resultado imprevisívelErro intermitente
Truncamento implícitoFalta de TRUNCPerda de centavosErro contábil
Uso errado de PICPIC não condiz com o dadoMOVE aceitaCálculo errado

🥚 Easter-egg:

“Nunca deu problema” é o sintoma mais comum.


🟧 ERROS DE CONTROLE DE FLUXO

Erro comumPor que passa no COBOL 4SintomaConsequência
PERFORM sem END-PERFORMSintaxe antiga aceitaLoop infinitoCPU 100%
GO TO cruzando lógicaPermitidoFluxo ilegívelBug fantasma
PERFORM THRU mal definidoDependência de labelsExecução indevidaLógica quebrada
IF sem END-IFAmbiguidadeDecisão erradaRegra violada

Bellacosa rule:

Se tem GO TO, alguém já chorou por isso.


🟨 ERROS DE ARQUIVOS (Batch Killers)

Erro comumCausa típicaSintomaImpacto
FILE STATUS ignorado“Sempre abre”JOB termina normalDados errados
READ sem AT ENDPressuposto erradoLoop infinitoBatch travado
WRITE sem verificaçãoFalta de validaçãoArquivo inconsistenteReprocessamento
OPEN erradoCopybook confusoAbend S013/S213Job abortado

🥚 Easter-egg de produção:

O JOB “rodou verde”, mas gerou arquivo vazio.


🟦 ERROS DE MEMÓRIA E STORAGE

Erro comumPor que ocorreSintomaResultado
REDEFINES mal alinhadoEstrutura erradaDado incoerenteCorrupção
OCCURS sem limitesFalta de índiceLeitura foraS0C4
INDEX mal usadoMistura de tiposLoop erradoDados perdidos
DEPENDING ON inválidoValor sujoOCCURS erradoOverrun

🟪 ERROS DE PERFORMANCES (invisíveis)

Erro comumPor que é ignoradoSintomaCusto
MOVE desnecessárioCódigo antigoCPU altaMIPS caro
Loop mal definidoFalta de controleBatch lentoSLA estourado
Uso excessivo de DISPLAYDebug legadoLentidãoI/O inútil
Falta de OPTIMIZEPadrão conservadorCódigo ineficienteMais CPU

Bellacosa truth:

Performance ruim é bug financeiro.


🟫 ERROS DE COMPILAÇÃO (clássicos)

Erro comumCOBOL 4 permiteResultadoPerigo
Compilar sem SSRANGEDefault antigoOverflow invisívelCrash futuro
Compilar sem NUMCHECKTolerância excessivaDado inválidoS0C7
Ignorar warnings“Não quebra”Bug latenteProdução
TRUNC erradoDefault históricoTruncamentoErro monetário

☠️ ABENDS mais ligados a COBOL 4

ABENDCausa típica
S0C7Campo numérico inválido
S0C4Endereço inválido
S013Arquivo mal definido
S222Loop infinito
S0CBViolação de storage

🎓 Resumo para Padawans

✔ COBOL 4 funciona por tolerância
✔ Erros ficam escondidos
✔ Bugs surgem anos depois
✔ Migração para COBOL 5 revela tudo


🧠 Frase final Bellacosa™

“COBOL 4 não valida.
Ele confia.
E confiança sem validação é bug.”