quinta-feira, setembro 17, 2026

O Modelo de Licenciamento no mundo dos Softwares

Durante muito tempo, comprar um software parecia algo simples: adquirir uma caixa, receber um CD ou DVD, instalar o programa e utilizá-lo por muitos anos. A ideia de que, depois da compra, aquele produto continuaria disponível para uso fazia parte da relação entre o consumidor e o fabricante. Mas será que essa lógica continua sendo a mesma? Nos últimos anos, o mercado de tecnologia vem passando por uma transformação significativa. Grandes empresas estão mudando a forma de comercializar seus produtos, substituindo, em parte, o modelo tradicional de licença definitiva por assinaturas mensais ou anuais. O que antes era uma aquisição pontual passa a ser, cada vez mais, uma relação contínua de pagamento e utilização. Essa mudança levanta uma questão interessante: estamos comprando um software ou contratando o direito de utilizá-lo enquanto mantivermos o pagamento? A diferença pode parecer apenas comercial, mas possui implicações importantes. Uma licença definitiva, em determinadas condições, pode permitir o uso de uma versão específica por tempo indeterminado. Já uma assinatura normalmente vincula a continuidade de determinados recursos, serviços ou atualizações à vigência do contrato. Não se trata de afirmar que um modelo é necessariamente melhor que o outro. Cada modalidade possui características, vantagens e compromissos diferentes. A assinatura pode facilitar o acesso a versões atualizadas e reduzir o investimento inicial, enquanto a licença definitiva pode oferecer maior previsibilidade sobre o direito de uso daquela versão, embora suporte, manutenção e atualizações possam ter custos adicionais. O que chama a atenção é a velocidade com que essa transformação vem acontecendo. Empresas de produtividade, ferramentas profissionais, serviços em nuvem e diversas outras soluções passaram a adotar modelos recorrentes como parte importante de suas estratégias comerciais. E, quando pensamos em ambientes corporativos que precisam permanecer funcionando por muitos anos, essa mudança ganha uma dimensão ainda maior. No Mainframe, por exemplo, produtos como Adabas, Natural, Predict e Natural One fazem parte de sistemas, aplicações e processos que não podem ser tratados como algo descartável. Por isso, entender a evolução dos modelos de licenciamento não é apenas uma questão de acompanhar o mercado. É também uma forma de refletir sobre o futuro dos custos, dos contratos e da continuidade dos ambientes tecnológicos. Afinal, quando adquirimos um software para utilizá-lo durante décadas, o que realmente estamos comprando: o produto, o direito de uso ou uma relação contínua com o fabricante?

Hoje

A licença definitiva praticamente deixou de ser encarada como um patrimônio garantido do cliente e se tornou uma exceção — ou um artigo de luxo com preços despropositados — no mercado de software modernizado.

Mainframe

Infográfico sobre a evolução das licenças de software

É nesse ponto que começo a pensar especificamente no ambiente Mainframe e nos produtos utilizados por tantas organizações que dependem de sistemas críticos, estáveis e de longa duração. Não tenho conhecimento de nenhuma notícia, comunicado ou anúncio oficial informando que a Software AG pretende alterar o modelo de licenciamento de seus produtos. Portanto, não seria correto afirmar que essa mudança já está acontecendo ou que foi anunciada pela empresa. Essa observação é importante para separar uma informação confirmada de uma reflexão baseada nas tendências do mercado. O que observo, entretanto, é uma transformação significativa na indústria de tecnologia. Empresas de software do mundo inteiro vêm modificando a forma como comercializam seus produtos e serviços. Modelos tradicionais, baseados na aquisição de uma licença perpétua, estão gradualmente dando espaço a formatos de assinatura, com pagamentos mensais ou anuais. Em muitos casos, o cliente deixa de adquirir definitivamente uma versão do software e passa a pagar pelo direito de utilizá-lo durante determinado período. Essa mudança pode ser percebida em diversos segmentos, como aplicativos de escritório, ferramentas de edição, plataformas de desenvolvimento, sistemas corporativos e soluções em nuvem. Além do pagamento pelo uso, muitas empresas vinculam a assinatura ao acesso a atualizações, suporte técnico, serviços em nuvem, recursos adicionais e novas funcionalidades. Na prática, o software deixou de ser apenas um produto que o cliente compra, instala e utiliza por tempo indeterminado. Em muitos casos, passou a ser tratado como um serviço contínuo, que depende da manutenção de um contrato e de pagamentos recorrentes. Esse modelo também modifica a maneira como as organizações planejam seus investimentos, elaboram seus orçamentos e administram seus contratos de tecnologia. Diante desse cenário, surge uma pergunta que considero relevante para todos aqueles que trabalham com Mainframe: em que momento a Software AG poderá mudar o modelo de licenciamento de seus produtos? Não sei a resposta. Também não é possível afirmar se uma eventual mudança ocorrerá, quando poderá ocorrer ou se atingiria todos os produtos da mesma maneira. Soluções como Adabas, Natural, Predict, Natural One e outros produtos do ecossistema podem possuir características técnicas, comerciais e contratuais distintas. Por esse motivo, seria precipitado imaginar que todos necessariamente seguiriam o mesmo caminho ou que uma mudança ocorreria de forma uniforme. Ainda assim, observando o comportamento do mercado, considero possível que, em algum momento, a Software AG também venha a avaliar alterações em seu modelo comercial, acompanhando a direção que boa parte da indústria de software vem tomando. Se fosse para apostar as minhas fichas com base apenas nessa tendência, eu apostaria que mudanças poderão ocorrer futuramente, embora não seja possível prever quando, de que forma ou com qual abrangência. Essa possibilidade merece atenção especialmente no ambiente Mainframe, onde muitos sistemas são utilizados há décadas e sustentam operações essenciais de órgãos públicos, instituições financeiras, empresas de serviços e grandes organizações. Diferentemente de ambientes em que a substituição de uma ferramenta pode ser relativamente simples, sistemas Mainframe normalmente envolvem aplicações críticas, grandes volumes de dados, integrações complexas e processos que não podem ser interrompidos facilmente. Por isso, qualquer alteração no modelo de licenciamento pode gerar impactos que vão além do valor pago pela licença. Dependendo das condições comerciais, a mudança poderá influenciar o planejamento financeiro, a renovação de contratos, o acesso ao suporte técnico, as atualizações, as métricas de cobrança e as decisões relacionadas à continuidade operacional. Em ambientes de longo prazo, esses fatores precisam ser avaliados com antecedência. Também será importante observar como eventuais mudanças poderão afetar contratos existentes, direitos de uso, versões antigas, ambientes de produção, ambientes de homologação e sistemas que dependem de componentes específicos. Uma alteração no modelo comercial pode exigir estudos jurídicos, financeiros e técnicos, principalmente quando envolve plataformas que fazem parte da infraestrutura central de uma organização. Por enquanto, o mais importante é acompanhar a evolução do mercado e manter atenção às comunicações oficiais da fabricante. A discussão não deve ser tratada como motivo para antecipar conclusões, mas como uma oportunidade para refletir sobre o futuro do licenciamento de software e sobre os possíveis impactos para quem administra ambientes Mainframe. A tendência mundial indica que a forma de comercializar software continua mudando. O que antes era adquirido como uma licença definitiva, em muitos casos, passou a ser oferecido como um serviço contínuo. Resta saber como essa transformação poderá alcançar o universo Mainframe e, especificamente, quais caminhos a Software AG poderá adotar no futuro.

Analise

Para quem trabalha com Adabas, Natural, Predict, Natural One e outros produtos do ecossistema Software AG, acompanhar essa questão é importante porque o licenciamento faz parte da própria sustentabilidade do ambiente. Em um sistema que pode permanecer em produção durante décadas, uma eventual alteração nas condições comerciais não deve ser analisada apenas no momento da renovação. Ela precisa ser considerada com antecedência, especialmente quando existem aplicações críticas, integrações, conhecimentos técnicos acumulados e processos que dependem diretamente desses produtos. Uma mudança de modelo pode envolver diferentes aspectos: valores, métricas de cobrança, direitos de uso, suporte, atualizações, condições de renovação e até a forma como os custos são planejados ao longo dos anos. Não estou afirmando que essas mudanças ocorrerão nos produtos da Software AG, mas são pontos que merecem atenção caso a empresa venha a alterar sua política de licenciamento. Por isso, considero importante que os profissionais de Mainframe não acompanhem apenas a evolução técnica dos produtos, mas também a evolução comercial de seus fabricantes. Afinal, conhecer uma tecnologia é fundamental, mas entender as condições que permitem continuar utilizando essa tecnologia também faz parte da gestão de um ambiente crítico.

Planejamento

No Mainframe, muitas decisões precisam ser tomadas pensando não apenas no presente, mas também nos próximos cinco, dez ou vinte anos. Uma aplicação pode continuar atendendo perfeitamente às necessidades da organização, mas isso não significa que suas condições de licenciamento permanecerão necessariamente iguais durante todo esse período. Estar atento a possíveis mudanças permite que as empresas tenham tempo para avaliar cenários, conversar com fornecedores, revisar contratos e planejar seus investimentos. Isso é especialmente importante quando a substituição de um produto não é simples ou quando uma migração poderia envolver riscos operacionais, custos elevados e grande esforço técnico.
Leia Mais

sexta-feira, setembro 11, 2026

Criando um programa de Jogo da Adivinhação em Natural/Adabas

Um exercício prático para aprender lógica de programação, estruturas de repetição e instruções condicionais no ambiente mainframe. Desenvolver um Jogo da Adivinhação em Natural/Adabas é um excelente exercício para fixar a sintaxe e a lógica de controle da linguagem. Muito utilizado em ambientes mainframe pela sua robustez no processamento corporativo, o Natural oferece uma estrutura simples e poderosa para desenvolver aplicações interativas. Neste exemplo, o objetivo é criar um jogo em que o usuário precisa descobrir um número secreto entre 1 e 10, dispondo de apenas três tentativas. A cada chute, o programa informa se o número secreto é maior, menor ou se o jogador acertou. Embora seja um programa simples, ele reúne conceitos importantes que aparecem frequentemente em aplicações Natural: definição de variáveis, atribuição de valores, entrada de dados, saída de informações, laços de repetição e decisões condicionais.

Código Completo em Natural
* -------------------------------------------------------------------- *
* FUNCAO - JOGO DA ADVINHACAO                                          *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 #NUMERO-SECRETO (N2)                                                  
1 #CHUTE          (N2)                                                   
1 #TENTATIVAS     (N2) INIT <3>                                          
1 #ACERTOU        (L)  INIT                                       
1 #AUXILIAR       (N7)
END-DEFINE                                                              
*                                                                       
COMPUTE #AUXILIAR = *TIMN                         
DIVIDE 10 INTO #AUXILIAR REMAINDER #NUMERO-SECRETO
ADD 1 TO #NUMERO-SECRETO                          
*
WRITE "===================================="                            
WRITE "   BEM-VINDO AO JOGO DA ADIVINHACAO "                            
WRITE "===================================="                            
*                                                                       
REPEAT WHILE #TENTATIVAS > 0 AND NOT #ACERTOU                           
  WRITE / "TENTATIVAS RESTANTES:" #TENTATIVAS                           
  INPUT "TENTE ADIVINHAR UM NUMERO DE 1 A 10:" #CHUTE                   
*                                                                       
  DECIDE FOR FIRST CONDITION                                            
    WHEN #CHUTE = #NUMERO-SECRETO                                  
      ASSIGN #ACERTOU = TRUE                                       
      WRITE / "PARABENS! VOCE ACERTOU O NUMERO!"                   
    WHEN #CHUTE < #NUMERO-SECRETO                                  
      WRITE / "O NUMERO SECRETO E MAIOR."                          
    WHEN NONE                                                      
      WRITE / "O NUMERO SECRETO E MENOR."                          
  END-DECIDE                                                       
*                                                                  
  COMPUTE #TENTATIVAS = #TENTATIVAS - 1                            
END-REPEAT                                                         
*                                                                  
IF NOT #ACERTOU                                                    
  WRITE / "SUAS TENTATIVAS ACABARAM! O NUMERO ERA:" #NUMERO-SECRETO
END-IF                                                             
END                                                                 

Tela inicial - tenho 3 opções
MORE                                                                           
PAG      1                                                   11/09/26  11:56:34
                                                                               
====================================                                           
   BEM-VINDO AO JOGO DA ADIVINHACAO                                            
====================================                                           
                                                                               
TENTATIVAS RESTANTES:   3                                                      
 

Primeira tentativa - Vou colocar o número 6
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 6       
                                              
 

O número é maior - temos 2 tentativas restantes
MORE                                                                           
PAG      2                                                   11/09/26  11:56:34
                                                                               
                                                                               
O NUMERO SECRETO E MAIOR.                                                      
                                                                               
TENTATIVAS RESTANTES:   2                                                      
 

Coloquei o número 8
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 8      
                                             
 

É menor - temos uma tentativa somente
MORE                                                                           
PAG      3                                                   11/09/26  11:56:34
                                                                               
                                                                               
O NUMERO SECRETO E MENOR.                                                      
                                                                               
TENTATIVAS RESTANTES:   1                                                      
                                                                               
 

Coloquei o número 7
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 7   
                                           

Acertamos era o número 7
MORE                                                                           
PAG      4                                                   11/09/26  11:56:34
                                                                               
                                                                               
PARABENS! VOCE ACERTOU O NUMERO!                                               
                                                                               
 


Leia Mais

quinta-feira, agosto 27, 2026

Limite de 32 Bytes no Nome das Variáveis no NaturaL/Adabas

Durante a manutenção ou desenvolvimento de rotinas na linguagem Natural, é comum nos depararmos com comportamentos inesperados do compilador que deixam dúvidas. Recentemente, um desenvolvedor passou por uma situação em que utilizava uma variável não declarada explicitamente no código, mas, para a surpresa de todos, o sistema não retornou nenhum erro de compilação ou execução. Investigando o caso e simulando a rotina com o apoio do suporte Adabas, nos mostraram a causa raiz desse comportamento: a limitação interna de 32 bytes/caracteres para a tabela de símbolos do compilador Natural. A seguir, detalho esse teste prático, a explicando como esse mesmo limite se reflete em outras estruturas do ecossistema, como Views e Campos no Predict/Adabas.

DEFINE DATA LOCAL                              
1 #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY (N8)
* 1...x....1....x....2....x....3..   --- até aqui dá 32 bytes. o YY excede 32.  
END-DEFINE                                     
MOVE 100 TO #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY
MOVE 200 TO #DATA-INI-WEB-INFRACOES-XXXXXXXX   
WRITE #DATA-INI-WEB-INFRACOES-XXXXXXXX         
WRITE #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY     
END   

-- essa variavel sem o YY não esta definida, mas não dá erro
-- explicação: depois de 32 caracteres no nome da variável, o Natural desconsidera.

Simulando

Simulando esas situação
 >                                       > +  Program     CSAVAR   Lib SUPORTE2 
 All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
   0010 RESET #TRANSACAO-VARIAVEL-ORIGEM-01-01012024(A10)                       
   0020 MOVE 'A' TO #TRANSACAO-VARIAVEL-ORIGEM-01-01012024                      
   0030 WRITE '='  #TRANSACAO-VARIAVEL-ORIGEM-01-01012024                       
   0040 END

Ao rodar, so mostra o nome da variavel -01-01 não mostra o restante
 MORE                                                                           
 PAG      1                                                   17/01/24  08:49:04
                                                                                
 #TRANSACAO-VARIAVEL-ORIGEM-01-01: A  


Importante

O compilador/interpretador do Natural mantém uma tabela interna de nome variáveis para resolver a questão de endereçamento de memória. Essa tabela tem somente 32 bytes para o símbolo, por isso a limitação do tamanho do nome. Quando o nome da variável tem mais de 32 bytes, não aparece o erro de compilação e será levado em conta somente os 32 primeiros caracteres. Deve-se tomar cuidado com o nome de variáveis que possuem mais de 32 caracteres, cujos primeiros 32 bytes sejam iguais, porque nesse caso o compilador não terá como controlar corretamente o endereçamento.

Limite

Se há uma restrição estabelecida pelo compilador/interpretador Natural para variáveis, é plausível concluir que também exista um limite para os "nomes de views" e "campos" no Adabas. Essa suposição ganha respaldo ao observar as telas onde temos que criar uma view e os campos identificados no Predict, especialmente em relação aos limites estabelecidos para o nome de uma view. Essa correlação sugere a presença de limitações consistentes ao longo do ambiente, destacando a importância de considerar esses parâmetros ao trabalhar com variáveis, views e campos no sistema.

Telas Predict

Essa é a tela para criar uma view - tem um limite de 32
                                                                                
 07:21:47             *****  P R E D I C T  4.4.1  *****              2024-01-18
 Plan   0                 - (FI) File Maintenance -              Profile DBAP055
                                                                                
  Function                              Function                                
                                                                                
  A  Add a file                         L  Link children                        
  C  Copy file                          S  Select file from a list              
  M  Modify file                        B  Push backward                        
  N  Rename/Renumber file               F  Force standard                       
  P  Purge file                         J  Physical Attributes                  
  D  Display file                       K  Modify Vista elements                
                                                                                
 Function .........                                                             
 File ID .......... |||||||||x|||||||||x|||||||||x|| Attributes ........*       
 Copy ID .......... |||||||||x|||||||||x|||||||||x|| File of type ......*       
 Contained in DA ..                                  File nr ............ 426   
 External name ....                                                             
                                                                                
 Restrictions ....*   Profile DBAP055 ,empty         Association .......* EL    
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  menu  Stop  Last  E-el  Flip  Print Impl  Supo2 Ssec  Prof  next   

Essa é a tela para criar um campo (Field ID) - tem um limite de 32
                                                                                
 >                     > + Fi: AEAD-FISICO-426                  L: 1    S: 29   
     Ty L Field ID                         F Cs Length   Occ   D U DB S    Top  
     *- - -------------------------------- *- * -------- ----- * * -- *         
        1 AEC-PLACA-PGE                    A        7,0        D   AA N         
        1 AEC-RENAVAM-PGE                  N       11,0        D   AB N         
        1 AEC-MUNICIPIO-PGE                N        4,0        D   AC N         
     MU 1 AEC-EXERCICIO-PGE                N        4,0            AD N         
        1 AEC-DATA-NOT-GUIA-PGE            N        8,0            AE N         
        1 AEC-DATA-VENC-NOT-GUIA-PGE       N        8,0        D   AF N         
        1 AEC-DATA-NOT-DO-PGE              N        8,0            AG N         
        1 AEC-DATA-VENC-NOT-DO-PGE         N        8,0        D   AH N         
        1 AEC-DT-BLOQUEIO-PGE              N        8,0        D   AI N         
        1 AEC-HR-BLOQUEIO-PGE              N        9,0            AJ N         
        1 AEC-SITUACAO-PGE                 N        1,0            AK N         
        1 AEC-DATA-GRAVA-VIEW-PGE          N        8,0        D   AL N         
        1 AEC-NOME-DEV-PGE                 A       50,0            AM N         
        1 AEC-LOGRADOURO-DEV-PGE           A       28,0            AN N         
        1 AEC-NUMERO-DEV-PGE               A        7,0            AO N         
        1 AEC-COMPLEMENTO-PGE              A       10,0            AP N         
        1 AEC-BAIRRO-DEV-PGE               A       15,0            AQ N         
        1 AEC-CEP-DEV-PGE                  N        8,0            AR N         
        1 AEC-MUNICIPIO-DEV-PGE            N        4,0            AS N         
     -- - -------------------------------- -- - -------- ----- - - -- -         


Leia Mais

quarta-feira, agosto 26, 2026

Logando na Console o RACF

Em cenários críticos de contingência ou manutenção em ambientes z/OS, pode ocorrer a indisponibilidade temporária do subsistema TSO/ISPF ou falhas de conectividade via rede. Nestas situações emergenciais, a MVS System Console permanece como a principal interface de gerenciamento operacional. O procedimento a seguir descreve o passo a passo para autenticação direta na console operadora e execução de comandos administrativos do RACF (Resource Access Control Facility), garantindo o controle de acessos e a gestão de usuários mesmo em momentos de crise no mainframe. Se por algum motivo ninguem conseguir acessar o TSO para dar um comando de RACF - podemos acessar o RACF pela console - ela esta sempre online na operação

Logar na Console

vamos dar o comando LOGON USUÁRIO
                                                                                
   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                                      
  logon DBAP055

  IEE163I MODE= RD   

Digitando a Senha

Colocando a senha
                                                                                
   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE187I ENTER LOGON PARAMETERS                                                
  LOGON DBAP055  PASSWORD senha                          
  GROUP          SECLABEL         
  IEE163I MODE= RD    

Logado

Logado na console
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   


  IEE163I MODE= RD  

Comando de RACF

Vamos dar um comando para dar display do usuário ibmuser - #lu ibmuser - se aceita display podemos dar qualquer comando
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   
  #lu ibmuser

  IEE163I MODE= RD  

Resultado
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   


  IEE163I MODE= RD   

Resetando a Senha de um usuário

Como estou logado com acesso especial vou dar o comando para alterar a senha outro usuário

   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=IBMUSER   
#ALU DBAP7057 RESUME PASS(vi87432	)

IEE163I MODE= RD                                                              

Aceitou
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED                                             
    - 19.46.20            #ALU DBAP7057 RESUME PASS(vi87432)          
                                                                                
                                                                                
                                                                                
IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=IBMUSER                                   


  IEE163I MODE= RD   

Logoff do RACF na Console

Sempre finalize sua sessão corretamente para manter a segurança do sistema. Utilize o comando LOGOFF
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED
    - 19.46.00            #ALU DBAP7057 RESUME PASS(vi87432)                                              
    - 19.46.25  logoff                                                          
      19.46.25  IEE185I LOGOFF DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                                      


  IEE163I MODE= RD   


Leia Mais

terça-feira, agosto 18, 2026

Comandos Úteis no spool do Mainframe

Gerenciar a utilização do SPOOL no ambiente JES2 no z/OS é uma atividade crítica de rotina para qualquer equipe de suporte e operação em Mainframe. Quando o volume de dados acumulados atinge limiares críticos de alerta — como no atingimento das metas do parâmetro JOBWARN ou na escassez do número de jobs livres (JNUMFREE) —, o risco de degradação da performance do sistema e até da paralisação de execuções de produção torna-se uma ameaça real. Saber identificar rapidamente a causa raiz dessa ocupação elevada, localizar os datasets de spool mais pesados e filtrar outputs acumulados por tempo de retenção é o primeiro passo para conter incidentes. Neste artigo, apresento um guia prático e objetivo contendo a sintaxe dos comandos JES2 mais úteis para monitorar a porcentagem global de uso, rastrear jobs que utilizam grandes volumes do SPOOL e executar a remoção seletiva ou limpeza cirúrgica de dados retidos no ambiente.

Display do SPOOL Utilizado

A % de utilização está o spool - O display abaixo esta em 29% cheio - Comando
$DSPOOL

Resultado
                                                                                
 07:44:13        TID    50          COM641/D          User DBAP055      14.03.24
                          ---   System Messages   ---                       UQM1
 STC03681  COMVTM2020-P LOSTERM LU=TERM0089 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0090 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0091 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0092 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0093 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0094 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0095 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0096 Tid=256 Code=20 
 STC05529  $DSPOOL                                                              
           $HASP893 VOLUME(ZOSPO1)  STATUS=ACTIVE,PERCENT=24                    
           $HASP893 VOLUME(ZOSPO2)  STATUS=ACTIVE,PERCENT=25                    
           $HASP893 VOLUME(ZOSPO3)  STATUS=ACTIVE,PERCENT=24                    
           $HASP893 VOLUME(ZOSPO4)  STATUS=ACTIVE,PERCENT=24                    
           $HASP646 24.8759 PERCENT SPOOL UTILIZATION                           
 STC08585 @53 DF3001A  *** RVS 5.1  ***                                         
 ******************************** BOTTOM OF DATA *******************************
 Select Function:                                                       CONSOLE 
 Operand/Command:                                                               
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                                    Retrv  Up    Down        Left  Right        

Display the number of JOES

Comando
$D JOBDEF

Resultado
 STC01746  $D JOBDEF                                                            
           $HASP835 JOBDEF                                                      
           $HASP835 JOBDEF  ACCTFLD=REQUIRED,BAD_JOBNAME_CHAR=?,                
           $HASP835         CNVT_ENQ=FAIL,JCLERR=YES,JNUMBASE=8979,             
           $HASP835         JNUMFREE=6444,JNUMWARN=80,JOBFREE=6444,             
           $HASP835         JOBNUM=9999,JOBWARN=60,PRTYHIGH=10,                 
           $HASP835         PRTYJECL=YES,PRTYJOB=NO,PRTYLOW=1,PRTYRATE=1,       
           $HASP835         RANGE=(1,9999),RASSIGN=YES,DUPL_JOB=DELAY           
 STC05365 @54 DF3001A  *** RVS 5.1  ***                                         
 ******************************** BOTTOM OF DATA *******************************
 Select Function:                                                       CONSOLE 
 Operand/Command:                                                               
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                                    Retrv  Up    Down        Left  Right        

Observa o parametro JNUMFREE esse valor é muito importante, se a númeração vai até 9999 e estamos em 6444 (o calculo da porcentagem é calculo de 3)
1 - 100 * 6444 = 644.400 
2 - 644.400 / 9999 
3 - 64% estamos utilizando do spool
Essa mensagem começa a dar quando esta em 60% (observe o parametro JOBWARN acima);

Display dos Jobs Output Pesados

Quais jobs estão usando mais de 1% do spool; - Comando
$DJQ,SPL=(%>1)

Resultado
 STC01746  $DJQ,SPL=(%>1)                                                       
 STC00383  $HASP890 JOB(SYSLOG)                                                 
 STC00383  $HASP890 JOB(SYSLOG)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00383  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC00383  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=1126,      
 STC00383  $HASP890                PERCENT=1.6877)                              
 STC00390  $HASP890 JOB(AAFTVTAM)                                               
 STC00390  $HASP890 JOB(AAFTVTAM)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00390  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC00390  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=2235,      
 STC00390  $HASP890                PERCENT=3.3500)                              
 JOB02005  $HASP890 JOB(AADCDITO)                                               
 JOB02005  $HASP890 JOB(AADCDITO)  STATUS=(AWAITING HARDCOPY),CLASS=S,          
 JOB02005  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE),         
 JOB02005  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=2815,      
 JOB02005  $HASP890                PERCENT=4.2194)

Display dos Jobs com 30 dias na Fila

Jobs que estão mais de 30 dias na fila; - Comando
$DJQ,DAYS>30

Resultado
 STC01746  $DJQ,DAYS>30                                                         
 STC00001  $HASP890 JOB($MASCOMM)                                               
 STC00001  $HASP890 JOB($MASCOMM)  STATUS=(AWAITING HARDCOPY),CLASS=A,          
 STC00001  $HASP890                PRIORITY=15,SYSAFF=(ANY),HOLD=(NONE)
 STC00383  $HASP890 JOB(SYSLOG)                                                 
 STC00383  $HASP890 JOB(SYSLOG)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00383  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00384  $HASP890 JOB(RMF)                                                    
 STC00384  $HASP890 JOB(RMF)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00384  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00389  $HASP890 JOB(TSS)                                                    
 STC00389  $HASP890 JOB(TSS)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00389  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00390  $HASP890 JOB(AAFTVTAM)                                               
 STC00390  $HASP890 JOB(AAFTVTAM)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00390  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00393  $HASP890 JOB(ZFS)                                                    
 STC00393  $HASP890 JOB(ZFS)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00393  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00437  $HASP890 JOB(AAFTICS5)                                               
 STC00437  $HASP890 JOB(AAFTICS5)  STATUS=(EXECUTING/CPAC),CLASS=STC,
 STC00437  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00438  $HASP890 JOB(AAFTICS7)                                               
 STC00438  $HASP890 JOB(AAFTICS7)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00438  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00441  $HASP890 JOB(AAFTNWRK)                                               
 STC00441  $HASP890 JOB(AAFTNWRK)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00441  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00483  $HASP890 JOB(TSO)                                                    
 STC00483  $HASP890 JOB(TSO)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00483  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00490  $HASP890 JOB(RMFGAT)                                                 
 STC00490  $HASP890 JOB(RMFGAT)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00490  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00506  $HASP890 JOB(EREP)                                                   
 STC00506  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC00506  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)
 STC00878  $HASP890 JOB($DI)       STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC00878  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 JOB01775  $HASP890 JOB(ALBPNATB)                                               
 JOB01775  $HASP890 JOB(ALBPNATB)  STATUS=(AWAITING EXECUTION),CLASS=N,         
 JOB01775  $HASP890                PRIORITY=10,SYSAFF=(ANY),HOLD=(JOB)          
 STC01842  $HASP890 JOB(EREP)                                                   
 STC01842  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC01842  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC02034  $HASP890 JOB(FFBE240)                                                
 STC02034  $HASP890 JOB(FFBE240)   STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC02034  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC02070  $HASP890 JOB(AAFAI141)                                               
 STC02070  $HASP890 JOB(AAFAI141)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC02070  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC02956  $HASP890 JOB(EREP)                                                   
 STC02956  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC02956  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)
 JOB04169  $HASP890 JOB(ABTDNATB)                                               
 JOB04169  $HASP890 JOB(ABTDNATB)  STATUS=(AWAITING EXECUTION),CLASS=6,         
 JOB04169  $HASP890                PRIORITY=10,SYSAFF=(ANY),HOLD=(JOB)          
 STC04353  $HASP890 JOB($TJ1033)                                                
 STC04353  $HASP890 JOB($TJ1033)   STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC04353  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC04923  $HASP890 JOB(EREP)                                                   
 STC04923  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC04923  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05233  $HASP890 JOB(EREP)                                                   
 STC05233  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC05233  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05234  $HASP890 JOB(AADPTLMS)                                               
 STC05234  $HASP890 JOB(AADPTLMS)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC05234  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC05502  $HASP890 JOB(EREP)                                                   
 STC05502  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,
 STC05502  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05610  $HASP890 JOB(INIT)                                                   
 STC05610  $HASP890 JOB(INIT)      STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC05610  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC05610  $HASP890                INITASID=0437                                
 STC06172  $HASP890 JOB(EREP)                                                   
 STC06172  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC06172  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC06351  $HASP890 JOB(AAFTESF)                                                
 STC06351  $HASP890 JOB(AAFTESF)   STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC06351  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC07485  $HASP890 JOB(EREP)                                                   
 STC07485  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC07485  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC07648  $HASP890 JOB(EREP)                                                   
 STC07648  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC07648  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)

Display de todos os jobs começando

Display de todos os output dos jobs com AAC que estão na fila - Comando
$DO JQ,JM=AAC *

Resultado
 STC01746  $DO JQ,JM=AAC *                                                      
 JOB00301  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB00301  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB00301  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00301  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00301  $HASP686                   QUEUE=A,RECORDS=(1093 OF 1093),           
 JOB00301  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00301  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB00301  $HASP686                   WRITER=                                   
 JOB00301  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB00301  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB00301  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00301  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,
 JOB00301  $HASP686                   QUEUE=G,RECORDS=(325 OF 325),             
 JOB00301  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00301  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB00301  $HASP686                   WRITER=                                   
 JOB04567  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB04567  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB04567  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04567  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB04567  $HASP686                   QUEUE=A,RECORDS=(1088 OF 1088),           
 JOB04567  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04567  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB04567  $HASP686                   WRITER=                                   
 JOB04567  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB04567  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB04567  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04567  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB04567  $HASP686                   QUEUE=G,RECORDS=(297 OF 297),
 JOB04567  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04567  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB04567  $HASP686                   WRITER=                                   
 JOB06822  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB06822  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB06822  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB06822  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB06822  $HASP686                   QUEUE=A,RECORDS=(1089 OF 1089),           
 JOB06822  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB06822  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB06822  $HASP686                   WRITER=                                   
 JOB06822  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB06822  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB06822  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB06822  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB06822  $HASP686                   QUEUE=G,RECORDS=(346 OF 346),             
 JOB06822  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,
 JOB06822  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB06822  $HASP686                   WRITER= 

Exclui os jobs Output pelo Nome

Exclui todos os outputs dos jobs que começam com AAFSNSTC - dá para excluir também as STC - $PO S - Comando
$PO JQ,JM=AAFSNSTC

Resultado
 STC01746  $PO JQ,JM=AAFSNSTC                                                   
 JOB01012  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB01476  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB02094  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB02700  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03101  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03736  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03876  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04296  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04421  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04920  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB05210  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED
 JOB05629  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB05890  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06201  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06300  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06679  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06746  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07046  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07263  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07287  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07432  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07551  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07710  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07779  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB08002  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB08376  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09071  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09075  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED
 JOB09169  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09296  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09784  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09967  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09967  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FA9E0)                   
 JOB09784  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F8F0C)                   
 JOB09296  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F5968)                   
 JOB09169  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F3E95)                   
 JOB09075  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F303B)                   
 JOB09071  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F2EF0)                   
 JOB08376  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8EF685)                   
 JOB08002  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC93042D)                   
 JOB07779  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8ED9E2)                   
 JOB07710  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92CE8A)                   
 JOB07551  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92B3B6)                   
 JOB07432  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8ECF2A)                   
 JOB07287  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8EC5C1)
 JOB07263  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC927E12)                   
 JOB07046  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92633F)                   
 JOB06746  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC922D9B)                   
 JOB06679  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC9212C8)                   
 JOB06300  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC91DD22)                   
 JOB06201  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC91C250)                   
 JOB05890  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC918CAD)                   
 JOB05629  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC9171D9)                   
 JOB05210  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC913C35)                   
 JOB04920  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC912161)                   
 JOB04421  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC90EBBE)                   
 JOB04296  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC90D0EA)                   
 JOB03876  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC909B46)                   
 JOB03736  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC908072)                   
 JOB03101  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC904ACF)                   
 JOB02094  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC900C8C)                   
 JOB02700  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC902FFB)
 JOB01476  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FFA56)                   
 JOB01012  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FDF87)

Para excluir todos os jobs AAFS é só dar o comando abaixo com *
$PO JQ,JM=AAFS*

Display dos Jobs de Output com mais de 30 dias na Fila

Quais jobs estão a 30 dias na fila - Comando
$DO JQ,AGE>30 

Resultado
 STC01746  $DO JQ,AGE>30                                                        
 STC00483  $HASP686 OUTPUT(TSO)                                                 
 STC00483  $HASP686 OUTPUT(TSO)       OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC00483  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC00483  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC00483  $HASP686                   QUEUE=A,RECORDS=(18 OF 18),               
 STC00483  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC00483  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=TSO,         
 STC00483  $HASP686                   WRITER=                                   
 STC04353  $HASP686 OUTPUT($TJ1033) 
 STC04353  $HASP686 OUTPUT($TJ1033)   OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC04353  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC04353  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC04353  $HASP686                   QUEUE=A,RECORDS=(16 OF 16),               
 STC04353  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC04353  $HASP686                   TSOAVAIL=YES,UCS=****,                    
 STC04353  $HASP686                   USERID=USERSTC,WRITER=                   
 STC09681  $HASP686 OUTPUT($TJ7777)                                             
 STC09681  $HASP686 OUTPUT($TJ7777)   OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC09681  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC09681  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC09681  $HASP686                   QUEUE=A,RECORDS=(16 OF 16),               
 STC09681  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC09681  $HASP686                   TSOAVAIL=YES,UCS=****,                    
 STC09681  $HASP686                   USERID=USERSTC,WRITER= 

Excluir os Jobs com mais de 30 dias na Fila

Este comando vai deletar os jobs que estão a x dias na fila - o comando abaixo vai deletar os jobs que estão a 30 dias na fila
$PO JQ,AGE>30 

Display dos Jobs aekpr00* com mais de uma semana

Quais jobs de saída pertencem ao AEKPR00* e também têm uma semana ($DO S e $do S) - Comando
$DO JQ,JM=AEKPR00*,A>7 

Resultado
 STC01746  $DO JQ,JM=AEKPR00*,A>7                                               
 JOB00571  $HASP686 OUTPUT(AEKPR006)                                            
 JOB00571  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,
 JOB00571  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00571  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00571  $HASP686                   QUEUE=A,RECORDS=(1060 OF 1060),           
 JOB00571  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00571  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB00571  $HASP686                   WRITER=                                   
 JOB00665  $HASP686 OUTPUT(AEKPR008)                                            
 JOB00665  $HASP686 OUTPUT(AEKPR008)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB00665  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00665  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00665  $HASP686                   QUEUE=A,RECORDS=(1135 OF 1135),           
 JOB00665  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00665  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB00665  $HASP686                   WRITER=                                   
 JOB02407  $HASP686 OUTPUT(AEKPR005)                                            
 JOB02407  $HASP686 OUTPUT(AEKPR005)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02407  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),
 JOB02407  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB02407  $HASP686                   QUEUE=A,RECORDS=(662 OF 662),             
 JOB02407  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02407  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02407  $HASP686                   WRITER=                                   
 JOB02548  $HASP686 OUTPUT(AEKPR006)                                            
 JOB02548  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02548  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB02548  $HASP686                   OUTDISP=HOLD,PRIORITY=7,PRMODE=LINE,      
 JOB02548  $HASP686                   QUEUE=A,RECORDS=(1255 OF 1255),           
 JOB02548  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02548  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02548  $HASP686                   WRITER=                                   
 JOB02609  $HASP686 OUTPUT(AEKPR008)                                            
 JOB02609  $HASP686 OUTPUT(AEKPR008)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02609  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB02609  $HASP686                   OUTDISP=HOLD,PRIORITY=7,PRMODE=LINE,
 JOB02609  $HASP686                   QUEUE=A,RECORDS=(1316 OF 1316),           
 JOB02609  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02609  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02609  $HASP686                   WRITER=                                   
 JOB04949  $HASP686 OUTPUT(AEKPR005)                                            
 JOB04949  $HASP686 OUTPUT(AEKPR005)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB04949  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04949  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB04949  $HASP686                   QUEUE=A,RECORDS=(577 OF 577),             
 JOB04949  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04949  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB04949  $HASP686                   WRITER=                                   
 JOB05093  $HASP686 OUTPUT(AEKPR006)                                            
 JOB05093  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05093  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05093  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB05093  $HASP686                   QUEUE=A,RECORDS=(893 OF 893),
 JOB05093  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB05093  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05093  $HASP686                   WRITER=                                   
 JOB05119  $HASP686 OUTPUT(AEKPR002)                                            
 JOB05119  $HASP686 OUTPUT(AEKPR002)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05119  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05119  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB05119  $HASP686                   QUEUE=A,RECORDS=(1031 OF 1031),           
 JOB05119  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB05119  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05119  $HASP686                   WRITER=                                   
 JOB05134  $HASP686 OUTPUT(AEKPR002)                                            
 JOB05134  $HASP686 OUTPUT(AEKPR002)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05134  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05134  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB05134  $HASP686                   QUEUE=A,RECORDS=(242 OF 242),             
 JOB05134  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,
 JOB05134  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05134  $HASP686                   WRITER=

Excluir os Jobs com mais de dois dias

Deletar os jobs de output com o nome AAASMF que estão parados na fila em 2 dias (vai ser excluido o setimo dia somente)
$PO JQ,JM=AAASMF,A>2

Resultado
 STC01746  $PO JQ,JM=AAASMF,A>2                                                 
 STC03618  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC06502  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC06709  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC09955  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC09955  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC8FA7FD)                     
 STC06709  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC921C6E)                     
 STC06502  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC8E9BF2)                     
 STC03618  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC907532)


Leia Mais

sábado, agosto 15, 2026

Reorganização do banco de dados Adabas

Se você atua na administração ou no desenvolvimento em ambientes mainframe com Adabas, sabe que a eficiência do banco de dados depende diretamente do bom uso do espaço físico em disco. Conforme as aplicações realizam atualizações, inserções massivas e exclusões diárias, a estrutura interna das tabelas passa a sofrer com um fenômeno inevitável: a fragmentação. Para manter o desempenho das consultas em alto nível e otimizar o uso da ASSO e da DATA, o procedimento de reorganização é uma das rotinas de manutenção mais cruciais no ciclo de vida do ambiente. Hoje os espaços não utilizados estão bem fragmentado.

  13:19:59          ***** A D A B A S  BASIC  SERVICES *****       2026-08-14 
  DBID 230                  - Display Unused Storage -                PDRU012 
                                                                              
         I Device I     Total Number of      I Extent           in Blk.   I   
         I Type   I   Blocks     /  Cyls.    I from        -      until   I   
   ------I--------I------------------------- I----------------------------I   
   DATA  I  8391  I         780          10  I     1008562 -     1009341  I   
         I  8391  I          70           0  I     1033052 -     1033121  I   
         I  8391  I           1           0  I     1100108 -     1100108  I   
         I  8391  I         120           1  I     1107062 -     1107181  I   
         I  8391  I         193           2  I     1112313 -     1112505  I   
         I  8391  I    11508869      153451  I     1119927 -    12628795  I   
   ------I--------I------------------------- I----------------------------I   
   ASSO  I  8391  I          19           0  I      457493 -      457511  I   
         I  8391  I          23           0  I      476280 -      476302  I   
         I  8391  I           4           0  I      476325 -      476328  I   
         I  8391  I          12           0  I      476341 -      476352  I   
         I  8391  I         330           1  I      538034 -      538363  I   
         I  8391  I           8           0  I      539027 -      539034  I 
   ASSO  I  8391  I    12406943       68927  I      553046 -    12959988  I  
                                                                              
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12----- 
  Help               Exit                                           Menu      

Backup e Reorganização - Esse é o JCL
//AAFAREDB  JOB (AABS,OSB),DBA,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW 
//* --------------------------------------------------------    
//*                BACKUP OFFLINE DO BANCO 220                  
//* --------------------------------------------------------    
//SAVE     EXEC AAFAU230,TIME=1440                              
//DDSAVE1   DD DSN=CSA.C.SAVE.DB230.OFFLINE,                    
//         DISP=(NEW,CATLG),UNIT=CVRT,LABEL=(,SL)               
//* --------------------------------------------------------    
//DDCARD    DD *                                                
ADARUN PROG=ADASAV,DBID=230,MODE=SINGLE,PLOGRQ=NO
//DDKARTE   DD *                                                
ADASAV   SAVE                                                   
//* ---------------------------------------------------------
//*             REORGANIZA O DATA E O ASSO DO BANCO          
//* ---------------------------------------------------------
//REORDB   EXEC AAFAU230,TIME=1440                           
//DDFILEA  DD DSN=ADABAS.C.REORDB.DB230,                     
//         DISP=(NEW,KEEP),UNIT=CVRT,LABEL=(1,SL)            
//* ---------------------------------------------------------
//DDCARD    DD *                                             
ADARUN PROG=ADAORD,MODE=SINGLE,DBID=230,PLOGRQ=NO            
ADARUN LP=10000,LWKP2=1200                                   
//DDKARTE   DD *                                             
ADAORD    REORDB                                             
/*                                                           

Tirar o banco do ar - Importante - Depois job submetido
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2                           
0                                                                                                                       
 07.50.34 JOB00421 ---- SATURDAY,  15 AUG 2026 ----                                                                     
 07.50.34 JOB00421  ICH70001I DBAP055  LAST ACCESS AT 07:14:50 ON SATURDAY, AUGUST 15, 2026                             
 07.50.34 JOB00421  $HASP373 AAFAREDB STARTED - INIT K    - CLASS S - SYS CPAC                                          
 07.50.34 JOB00421  IEF403I AAFAREDB - STARTED - TIME=07.50.34                                                          
 07.50.34 JOB00421 *IEF233A M 0892,PRIVAT,SL,AAFAREDB,AAFAUTID,  513                                                    
    513                     ADABAS.C.SAVE.DB230.A2026227                                                                
 07.50.37 JOB00421  IEC705I TAPE ON 0892,VC0373,SL,COMP,AAFAREDB,AAFAUTID.SAVE,ADABAS.C.SAVE.DB230.A2026227,MEDIA4      
 07.50.37 JOB00421  ADAU14 00230 ADASAV-Run with save tape 639                                                          
 07.52.38 JOB00421  IEC205I DDSAVE1,AAFAREDB,AAFAUTID,FILESEQ=1, COMPLETE VOLUME LIST,  574                             
    574             DSN=ADABAS.C.SAVE.DB230.A2026227,VOLS=VC0373,TOTALBLOCKS=35035                                      
 07.52.38 JOB00421  IEF234E K 0892,VC0373,PVT,AAFAREDB,AAFAUTID                                                         
 07.52.38 JOB00421  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 07.52.38 JOB00421  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 07.52.38 JOB00421  -SAVE     AAFAUTID    00  54152  85820    .50    .07    2.0  3913K  SYSTEM       0     0     0     0
 07.52.38 JOB00421 *IEF233A M 089E,PRIVAT,SL,AAFAREDB,AAFAUTID,  579                                                    
    579                     ADABAS.C.REORDB.DB230.A2026227                                                              
 07.52.39 JOB00421  ADAN02 00230 Nucleus run without protection log                                                     
 07.52.39 JOB00421  ADAL01 00230 2026-08-15 07:52:38 CLOG not active                                                    
 07.52.39 JOB00421  ADAN03 00230 ADABAS coming up                                                                       
 07.52.40 JOB00421  ADAN01 00230 A D A B A S  V7.4.4  is active                                                         
 07.52.40 JOB00421  ADAN01 00230 MODE = SINGLE                                                                          
 07.52.40 JOB00421  ADAN01 00230 Running without recovery log                                                           
 07.52.44 JOB00421  $HASP375 AAFAREDB ESTIMATED  LINES EXCEEDED                                                         
 07.52.49 JOB00421  IEC705I TAPE ON 089E,VC0580,SL,COMP,AAFAREDB,AAFAUTID.REORDB,ADABAS.C.REORDB.DB230.A2026227,MEDIA4  
 07.59.23 JOB00421  IEC205I DDFILEA,AAFAREDB,AAFAUTID,FILESEQ=1, COMPLETE VOLUME LIST,  918                             
    918             DSN=ADABAS.C.REORDB.DB230.A2026227,VOLS=VC0580,TOTALBLOCKS=36218                                    
 07.59.23 JOB00421  ADAU40 00230 Point of No Return reached                                                             
 07.59.23 JOB00421  ADAU41 00230 ADAORD invoked from job AAFAREDB                                                       
 08.08.12 JOB00421  $HASP375 AAFAREDB ESTIMATE EXCEEDED BY               6,000  LINES                                   
 08.16.26 JOB00421  $HASP375 AAFAREDB ESTIMATE EXCEEDED BY              12,000  LINES                                   
 08.16.35 JOB00421  IEF234E K 089E,VC0580,PVT,AAFAREDB,AAFAUTID                                                         
 08.16.35 JOB00421  -REORDB   AAFAUTID    00  1718K   449K   7.75    .51   23.9 71417K  SYSTEM       0     0     0     0
 08.16.35 JOB00421  IEF404I AAFAREDB - ENDED - TIME=08.16.35                                                            
 08.16.35 JOB00421  -AAFAREDB ENDED.  NAME-DBAP055              TOTAL TCB CPU TIME=   8.25 TOTAL ELAPSED TIME=  26.0    
 08.16.35 JOB00421  $HASP395 AAFAREDB ENDED                                                                             
0------ JES2 JOB STATISTICS ------                                                                                      
-  15 AUG 2026 JOB EXECUTION DATE                                                                                       
-           27 CARDS READ                                                                                               
-       26,134 SYSOUT PRINT RECORDS                                                                                     
-            0 SYSOUT PUNCH RECORDS                                                                                     
-        1,072 SYSOUT SPOOL KBYTES                                                                                      
-        26.01 MINUTES EXECUTION TIME                                                                                   
UQS0009 - END OF DATA SET.                                                                                              

Banco Online
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2              
0                                                                                                          
 08.17.32 STC00572 ---- SATURDAY,  15 AUG 2026 ----                                                        
 08.17.32 STC00572  IEF695I START AAFAI230 WITH JOBNAME AAFAI230 IS ASSIGNED TO USER ADABASD , GROUP STCGRP
 08.17.32 STC00572  $HASP373 AAFAI230 STARTED                                                              
 08.17.32 STC00572  IEF403I AAFAI230 - STARTED - TIME=08.17.32                                             
 08.17.34 STC00572  +ADAN02 00230 Nucleus run without protection log                                       
 08.17.34 STC00572  +ADAL04 00230 2026-08-15 08:17:32 W A R N I N G                                        
 08.17.34 STC00572  +             Now it is too late to copy DDCLOGR2                                      
 08.17.34 STC00572  +ADAL02 00230 2026-08-15 08:17:32 CLOGR2 is active                                     
 08.17.34 STC00572  +ADAN03 00230 ADABAS coming up                                                         
 08.17.34 STC00572  +ADAN19 00230 Buffer flush is  a s y n c h r o n o u s                                 
 08.17.34 STC00572  +ADAN01 00230 A D A B A S  V7.4.4  is active                                           
 08.17.34 STC00572  +ADAN01 00230 MODE = MULTI                                                             
 08.17.34 STC00572  +ADAN01 00230 Running without recovery log                                             
 08.19.28 STC00572  +TRIMX4 00230 TRIMV832    STARTUP IN PROGRESS FIX D                                    
 08.19.28 STC00572  +TRIMX4 00230 TRIMV832    ADABAS LBP - ABOVE THE 16 MEG LINE                           
 08.19.28 STC00572  +TRIMX4 00230 TRIMV832    TRIM IS ACTIVE                                               
UQS0009 - END OF DATA SET.                                                                                 

Reorganizado o banco
                                                                                                                                    
                                                                                                                                    
  08:25:48          ***** A D A B A S  BASIC  SERVICES *****       2026-08-15                                                       
  DBID 230                  - Display Unused Storage -                PDRU012                                                       
                                                                                                                                    
         I Device I     Total Number of      I Extent           in Blk.   I                                                         
         I Type   I   Blocks     /  Cyls.    I from        -      until   I                                                         
   ------I--------I------------------------- I----------------------------I                                                         
   DATA  I  8391  I    11509942      153465  I     1118854 -    12628795  I                                                         
   ------I--------I------------------------- I----------------------------I                                                         
   ASSO  I  8391  I    12407339       68929  I      552650 -    12959988  I                                                         
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----                                                       
  Help               Exit                                           Menu

Leia Mais