Mostrar mensagens com a etiqueta Adabas. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Adabas. Mostrar todas as mensagens

sexta-feira, agosto 14, 2026

Adabas - Um Erro no REORFILE entre Cilindros e Blocos

Ao reorganizar um arquivo que extendeu, durante a preparação do REORFILE, precisava informar o tamanho da alocação em blocos. Porém, na hora de preencher o parâmetro, acabei informando o tamanho em cilindros, que representa uma quantidade de espaço bem menor do que a necessária para aquela reorganização. Naquele momento, parecia apenas um detalhe de configuração, mas o resultado foi bem diferente do esperado. Quando o job iniciou o processo de reorganização, o espaço disponível não foi suficiente para realizar a operação e o job acabou dando ABEND justamente no momento em que iria reorganizar o arquivo. Como a reorganização poderia deixar o arquivo em uma situação inconsistente, foi necessário tomar alguns cuidados antes de tentar novamente. Primeiro, restaurei o backup anterior à reorganização, garantindo que o arquivo voltasse ao estado original e íntegro. Somente depois disso, corrigi o parâmetro de tamanho do REORFILE e iniciei novamente o processo de reorganização. No final, o problema foi causado por uma diferença aparentemente simples: informar o tamanho em cilindros quando o esperado era em blocos. É um daqueles erros que servem como lembrete de que, em ambiente Mainframe, pequenos detalhes em parâmetros de JCL ou de utilitários podem provocar consequências grandes.

A lição que ficou foi simples: antes de executar uma reorganização, principalmente em arquivos importantes, é fundamental conferir cuidadosamente a unidade de medida utilizada, o espaço necessário, os parâmetros de alocação e, principalmente, garantir que exista um backup válido para recuperação. Foi um daqueles momentos em que alguns segundos conferindo o parâmetro poderiam ter evitado um bom tempo de trabalho depois.

07:00:41          ***** A D A B A S  BASIC  SERVICES *****       2010-06-25
  DBID 230                   - Display File Layout -                  PDRF022
  File 176

     I Dev  LiI  Space allocated  I      From         To    I Unused
     I Type TyI  Blocks   / Cyls. I      RABN         RABN  I BLOCKS  /  Cyls.
-----I--------I-------------------I ------------------------I------------------
     I        I                   I                         I
ASSO I 8391 ACI      146        0 I     186774 -     186919 I        0        0
     I 8391 ACI       37        0 I     258077 -     258113 I        0        0
     I 8391 ACI       46        0 I     151716 -     151761 I        0        0
     I 8391 ACI       57        0 I     151762 -     151818 I        0        0
     I 8391 ACI       71        0 I     151819 -     151889 I        0        0
     I 8391 UII      110        0 I     190120 -     190229 I       66        0
     I 8391 NII     3200       17 I     186920 -     190119 I        0        0
     I 8391 NII     5540       30 I     265551 -     271090 I      807        4
     I        I                   I                         I
DATA I 8391 DSI     3175       42 I     318634 -     321808 I        0        0
     I 8391 DSI      789       10 I     424305 -     425093 I        0        0
     I 8391 DSI     2309       30 I     281722 -     284030 I        0        0
     I 8391 DSI     3532       47 I     439498 -     443029 I      891       11

Aqui esta o erro, simples, mas que vai causar um grande problema, no lugar de blocos foi colocado o tamanho em cilindros (160B) - tinha que ser 9905B

ADAORD    REORFILE
ADAORD    FILE=176
ADAORD    DSSIZE=160B
ADAORD    MAXISN=600000

O job sofreu ABEND após ultrapassar o ponto de não retorno. Como não havia espaço suficiente para concluir a reorganização, o processo não conseguiu ser finalizado corretamente e o arquivo acabou ficando corrompido. Nesse ponto, a única alternativa segura é restaurar o file anterior à reorganização e, somente depois, realizar novamente o procedimento com os parâmetros de alocação corrigidos.

1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O
0
07.03.30 JOB00079 ---- FRIDAY,    25 JUN 2010 ----
07.03.30 JOB00079  TSS7000I DBAP055 Last-Used 25 Jun 10 06:59 System=CPAC Facil
07.03.30 JOB00079  TSS7001I Count=50978 Mode=Fail Locktime=None Name=CLAUDEMAR
07.03.30 JOB00079  $HASP373 AAFPREOR STARTED - INIT K    - CLASS S - SYS CPAC
07.03.30 JOB00079  IEF403I AAFPREOR - STARTED - TIME=07.03.30
07.04.01 JOB00079  ADAU40 00230 Point of No Return reached
07.04.01 JOB00079  ADAU41 00230 ADAORD invoked from job AAFPREOR
07.04.21 JOB00079  IEA995I SYMPTOM DUMP OUTPUT  571
    571               USER COMPLETION CODE=0034
    571              TIME=07.04.20  SEQ=34616  CPU=0000  ASID=0446
    571              PSW AT TIME OF ERROR  078D1000   800192C4  ILC 2  INTC 0D
    571                ACTIVE LOAD MODULE           ADDRESS=00015F50  OFFSET=000
    571                NAME=ADAIOS
    571                DATA AT PSW  000192BE - 00181610  0A0D0A0D  0000C96D
    571                GR 0: 00000000_80000000   1: 00000000_80000022
    571                   2: 00000000_00046A00   3: 00000000_0000000C
    571                   4: 00000000_1710ABA0   5: 00000000_00094F3F
    571                   6: 00000000_00055430   7: 00000000_00043FE4
    571                   8: 00000000_00043FE4   9: 00000000_0004EEE0
    571                   A: 00000000_00019250   B: 00000000_00044A00
    571                   C: 00000000_8000EDB0   D: 00000000_00012950
    571                   E: 00000000_8001927C   F: 00000004_00019250
    571              END OF SYMPTOM DUMP
07.04.21 JOB00079  IEF450I AAFPREOR AAFAUTID ORDFILE - ABEND=S000 U0034 REASON=
    572                     TIME=07.04.21
07.04.21 JOB00079  -                                              --TIMINGS (MI
07.04.21 JOB00079  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK
07.04.21 JOB00079  -ORDFILE  AAFAUTID U0034   9415  29292    .10    .00     .8
07.04.21 JOB00079  IEF404I AAFPREOR - ENDED - TIME=07.04.21
07.04.21 JOB00079  -AAFPREOR ENDED.  NAME-GERMANO              TOTAL TCB CPU TI
07.04.21 JOB00079  $HASP395 AAFPREOR ENDED
0------ JES2 JOB STATISTICS ------
-  25 JUN 2010 JOB EXECUTION DATE
-           23 CARDS READ
-       10,731 SYSOUT PRINT RECORDS
-            0 SYSOUT PUNCH RECORDS
-        1,141 SYSOUT SPOOL KBYTES
-         0.86 MINUTES EXECUTION TIME
UQS0009 - END OF DATA SET.
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFPREOR,00079 DS=1 SI=SM LR=22 LL=80 PP=0 DC=
RL=999999 AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000

Restaurando do backup que foi feito desse file.

MEMBER=REST230  000015 REC SAVE:25.06.2010 07:15 BY   USERID DBAP055  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//ABBPREST  JOB (AAFA,DIBD),GER,CLASS=S,MSGCLASS=A
//*UQ ALLOW
//* ---------------------------------------------------------
//*                   RESTORE DB OFF-LINE
//* ---------------------------------------------------------
//RESTORE  EXEC AAFAU230,TIME=1440
//DDREST1   DD   DSN=ADABAS.C.SAVE.ALL.D.G0463V00,
//         DISP=OLD,UNIT=TP35,VOL=SER=TP0644
//* ---------------------------------------------------------
//DDCARD    DD *
ADARUN PROG=ADASAV,DBID=230,MODE=SINGLE
//DDKARTE   DD *
ADASAV RESTORE FMOVE=176
ADASAV         OVERWRITE
/*

JCL da segunda reorganização - o valor do DS agora é 9905 blocos

MEMBER=REORFILE 000021 REC SAVE:25.06.2010 11:39 BY   USERID DBAP055  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFPREOR JOB (AAFP,OSB),GERMANO,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//* ---------------------------------------------------------------
//*                   REORGANIZA O FILE DE UM BANCO
//* ---------------------------------------------------------------
//ORDFILE  EXEC  AAFAU230,TIME=1440
//DDFILEA   DD   DSN=&&DDFILEA,DISP=(,PASS),
//          UNIT=SYSDA,VOL=SER=WRK22A,SPACE=(CYL,(1000,2))
//* ---------------------------------------------------------------
//DDCARD    DD *
ADARUN PROG=ADAORD,DBID=230
//DDKARTE   DD *
ADAORD    REORFILE
ADAORD    FILE=176
** ADAORD    ISNSIZE=3
** ADAORD    INDEXCOMPRESSION=YES
** ADAORD    NISIZE=300B
** ADAORD    UISIZE=500B
ADAORD    DSSIZE=9905B
ADAORD    MAXISN=600000
/*

Reorganizado de novo terminou ok

12:19:00          ***** A D A B A S  BASIC  SERVICES *****       2010-06-25
  DBID 230                   - Display File Layout -                  PDRF022
  File 176

     I Dev  LiI  Space allocated  I      From         To    I Unused
     I Type TyI  Blocks   / Cyls. I      RABN         RABN  I BLOCKS  /  Cyls.
-----I--------I-------------------I ------------------------I------------------
     I        I                   I                         I
ASSO I 8391 ACI      436        2 I     186774 -     187209 I        0        0
     I 8391 UII      110        0 I     151716 -     151825 I       77        0
     I 8391 NII     8740       48 I     265551 -     274290 I     3482       19
     I        I                   I                         I
DATA I 8391 DSI     9905      132 I     439498 -     449402 I     1050       14


Leia Mais

quarta-feira, agosto 12, 2026

BACKUP SÓ É BACKUP QUANDO PODE SER RESTAURADO

No ambiente de produção, não basta apenas realizar o backup e verificar se o processo foi concluído com sucesso. É fundamental testar se esse backup realmente pode ser restaurado. Sempre que possível, procuro executar um teste de restauração para confirmar se o backup está íntegro e se os dados armazenados podem, de fato, ser recuperados quando houver necessidade. Afinal, um backup que foi gerado corretamente, mas que apresenta problemas no momento da restauração, pode dar uma falsa sensação de segurança. Na prática, não adianta olhar apenas para o resultado do job e verificar que terminou com RC=0 ou que o arquivo de backup foi criado. Isso confirma que o processo foi executado conforme o esperado, mas não garante, por si só, que teremos uma recuperação bem-sucedida quando precisarmos dos dados. O teste de restauração permite identificar antecipadamente possíveis problemas, como arquivos de backup corrompidos, falhas durante a gravação, inconsistências nos dados, problemas com mídias, parâmetros incorretos ou dificuldades no próprio procedimento de recuperação. Outro ponto importante é que o teste não deve validar apenas o arquivo de backup, mas todo o processo de recuperação. É necessário saber onde o backup está armazenado, como localizá-lo, quais procedimentos devem ser executados, quais parâmetros precisam ser utilizados e, principalmente, quanto tempo será necessário para concluir a restauração.

No ambiente Mainframe, onde temos sistemas e bancos de dados que permanecem em produção por muitos anos, essa validação se torna ainda mais importante. Um backup pode permanecer armazenado durante meses ou até anos, mas somente descobriremos se ele realmente é confiável quando tentarmos utilizá-lo. Por isso, considero o teste de restauração uma etapa tão importante quanto a própria execução do backup. Backup realizado é apenas o primeiro passo. Backup restaurado e validado é o que realmente nos dá confiança de que os dados poderão ser recuperados quando forem necessários. Afinal, o pior momento para descobrir que um backup não funciona é justamente quando precisamos dele para recuperar o ambiente de produção.

Backup

O backup rodou
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                                                                               
 18.31.18 STC08609 ---- TUESDAY,   11 AUG 2026 ----                             
 18.31.18 STC08609  IEF677I WARNING MESSAGE(S) FOR JOB ADAB0080 ISSUED          
 18.31.18 STC08609  IEF695I START ADAB0080 WITH JOBNAME ADAB0080 IS ASSIGNED TO USER ADA0001 , GROUP STCGRP                                                     
 18.31.18 STC08609  $HASP373 ADAB0080 STARTED                                   
 18.31.18 STC08609  IEF403I ADAB0080 - STARTED - TIME=18.31.18                  
 18.31.19 STC08609  +BACKUP DO BANCO - ADAB0080                                 
 18.31.19 STC08609 @83 REPLY C TO CONTINUE PROCESSING OR R TO REPEAT DISPLAY    
 18.31.21 STC08609  R 83,C                                                      
 18.31.22 STC08609 *IEF233A M 089B,PRIVAT,SL,ADAB0080,SAVE,  170                
    170                     ADABAS.C.SAVE.DB080.DIA.G4315V00            
 18.31.24 STC08609  IEC705I TAPE ON 089B,VC1312,SL,COMP,ADAB0080,SAVE,ADABAS.C.SAVE.DB080.DIA.G4315V00,MEDIA4                                           
 18.31.24 STC08609  ADAU14 00080 ADASAV-Run with save tape 8758                 
 18.31.49 STC08609  IEC205I DDSAVE1,ADAB0080,SAVE,FILESEQ=1, COMPLETE VOLUME LIST,  184                                                                         
    184             DSN=ADABAS.C.SAVE.DB080.DIA.G4315V00,VOLS=VC1312,   
    184             TOTALBLOCKS=5621                                            
 18.31.51 STC08609  ADAU14 00080 ADASAV-Run with save tape 8759                 
 18.32.06 STC08609  IEC205I DDSAVE1,ADAB0080,SAVE1,FILESEQ=2, COMPLETE VOLUME LIST,  193                                                                        
    193             DSN=ADABAS.C.SAVE.SIASIP.DB080.DIA.G3275V00,VOLS=VC1312,    
    193             TOTALBLOCKS=5621                                            
 18.32.23 STC08609  IEF234E K 089B,VC1312,PVT,ADAB0080                          
 18.32.23 STC08609  IEF404I ADAB0080 - ENDED - TIME=18.32.23                    
 18.32.23 STC08609  $HASP395 ADAB0080 ENDED                                     
0------ JES2 JOB STATISTICS ------   
-  11 AUG 2026 JOB EXECUTION DATE    
-            2 CARDS READ            
-        1,259 SYSOUT PRINT RECORDS  
-            0 SYSOUT PUNCH RECORDS  
-           60 SYSOUT SPOOL KBYTES   
-         1.07 MINUTES EXECUTION TIME

Esse é o layout que ficou em cada cartucho os files do banco Adabas;
____________________________________________________________________________________________________________________________________
*  A D A S A V                                   DB PROD 80 SIAFEM                                                         PAG. 0001
__________________________________________________________________________________________________________________________  11/08/26

  111      111     00000    88888    22222     666        TTTTTTT  EEEEEEE  RRRRRR     CCCCCC   AAAAA                               
 1111     1111    000 000  888 888  22  222   666           TTT    EEE      RRR RRR   CCC      AAA AAA                              
11111    11111    000 000  888 888     222   666            TTT    EEE      RRR RRR   CCC      AAA AAA                              
  111      111    000 000   88888     222    666666         TTT    EEEEEEE  RRRRRR    CCC      AAAAAAA                              
  111      111    000 000  888 888   222     666 666        TTT    EEE      RRRRRR    CCC      AAA AAA                              
  111      111    000 000  888 888  222      666 666        TTT    EEE      RRR RRR    CCCCCC  AAA AAA                              
1111111  1111111   00000    88888   2222222   66666         TTT    EEEEEEE  RRR  RRR    CC     AAA AAA                              
VOLSER-Table:                                                                                                                       
-------------                                                                                                                       
 I No. I Type I VOLSER I Device I     High   I Tape  I  Size in I                                                                   
 I     I      I        I        I     RABN   I Drive I  Tracks  I                                                                   
 I-----I------I--------I--------I------------I-------I----------I                                                                   
 I   1 I ASSO I ADS030 I  8391  I     722868 I    1  I    6305  I                                                                   
 I   2 I DATA I ADS030 I  8391  I     449995 I    1  I   23502  I                                                                   
 ----------------------------------------------------------------                                                                   
 A D A S A V   Processing Statistics:                                                                                               
 -------------------------------------                                                                                              
   Ended at                        2026-08-11 18:32:04                                                                              
   Input read from database          00080     (DB.S080.OFFICE)                                                                   
 File list written to output volumes:                                                                                               
 I VOLSER I Contents                                                   I Tape I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 I VC1312 I ASSO 007 - 011 , 015 , 019 , 021 - 036 , 038 - 052         I    1 I                                                     
 I        I ASSO 064 - 074 , 081 - 087 , 089 - 099 , 109               I    1 I                                                     
 I        I ASSO 111 - 114 , 116 - 119 , 121 - 132 , 134 - 138         I    1 I                                                     
 I        I ASSO 149 - 171 , 190 - 192 , 200 , 233 - 234 , 236         I    1 I                                                     
 I        I ASSO 238 - 255                                             I    1 I                                                     
 I VC1312 I DATA 007 - 011 , 015 , 019 , 021 - 036 , 038 - 052         I    1 I                                                     
 I        I DATA 064 - 074 , 081 - 087 , 089 - 099 , 109               I    1 I                                                     
 I        I DATA 111 - 114 , 116 - 119 , 121 - 132 , 134 - 138         I    1 I                                                     
 I        I DATA 149 - 171 , 190 - 192 , 200 , 233 - 234 , 236         I    1 I                                                     
 I        I DATA 238 - 255                                             I    1 I                                                     
 I        I Protection Log  PLOGNUM=8739, SYN1=17703, SYN2=17706       I      I                                                     
 I--------I------------------------------------------------------------I------I                                                     
    To restore any file from this tape use the RESTONL-Function.                                                                    
 RABN ranges as written to the output:                                                                                              
 I VOLSER I Contents                                                   I Tape I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 I VC1312 I ASSO 000001- 001414, 001447- 426323                        I    1 I                                                     
 I        I DATA 000001- 357444                                        I    1 I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 The following files have been modified while ADASAV was running:                                                                   
 I Files                                                               I                                                            
 I---------------------------------------------------------------------I                                                            
 I     019                                                             I                                                            
 I---------------------------------------------------------------------I                                                            
 A restore operation requires the Protection Log of the                                                                             
 current nucleus session.                                                                                                           
A D A S A V  Terminated normally                          2026-08-11  18:32:04                                                      


PLOG

Esse foi o PLOG que vamos utilizar
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                                                                               
 13.54.13 JOB03149 ---- WEDNESDAY, 12 AUG 2026 ----                             
 13.54.13 JOB03149  IRR010I  USERID ADAB0080 IS ASSIGNED TO THIS JOB.           
 13.54.13 JOB03149  ICH70001I ADAB0080 LAST ACCESS AT 20:14:53 ON SATURDAY, AUGUST 1, 2026                                                                      
 13.54.13 JOB03149  $HASP373 PLOGP080 STARTED - INIT K    - CLASS S - SYS CPAC  
 13.54.14 JOB03149  IEF403I PLOGP080 - STARTED - TIME=13.54.14                  
 13.54.15 JOB03149 *IEF233A M 0894,PRIVAT,SL,PLOGP080,PLOGDB,ADABAS.C.DB080.PLOG.G0247V00                                                                       
 13.54.19 JOB03149  IEC705I TAPE ON 0894,VC0551,SL,COMP,PLOGP080,PLOGDB,ADABAS.C.DB080.PLOG.G0247V00,MEDIA4                                                     
 13.54.31 JOB03149  IEC205I DDSIAUS1,PLOGP080,PLOGDB,FILESEQ=1, COMPLETE VOLUME LIST,  245                                                                      
    245             DSN=ADABAS.C.DB080.PLOG.G0247V00,VOLS=VC0551,TOTALBLOCKS=1016                                                                               
 13.54.33 JOB03149  IEF234E K 0894,VC0551,PVT,PLOGP080,PLOGDB                   
 13.54.33 JOB03149  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----                                        
 13.54.33 JOB03149  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS                                        
 13.54.33 JOB03149  -PLOGDB               00   6311   3995    .02    .00     .3   194K  BATCH        0     0     0     0                                        
 13.54.33 JOB03149  IEF404I PLOGP080 - ENDED - TIME=13.54.33                    
 13.54.33 JOB03149  -PLOGP080 ENDED.  NAME-DBA                  TOTAL TCB CPU TIME=    .02 TOTAL ELAPSED TIME=    .3                                            
 13.54.33 JOB03149  $HASP395 PLOGP080 ENDED                                     
0------ JES2 JOB STATISTICS ------                                              
-  12 AUG 2026 JOB EXECUTION DATE    
-           29 CARDS READ            
-          198 SYSOUT PRINT RECORDS  
-            0 SYSOUT PUNCH RECORDS  
-            9 SYSOUT SPOOL KBYTES   
-         0.33 MINUTES EXECUTION TIME

Informações importantes do PLOG
1                                                                               
 A D A R E S   V7.4  SM4   DBID = 00080  Started           2026-08-12  13:54:14 
                                                                                
                                                                                
                                                                                
 Parameters:                                                                    
 -----------                                                                    
                                                                                
                                                                                
 ADARES PLCOPY                                                                  
                                                                                
                                                                                
                                                                                
                                                                                
 DDSIAUS1 Output Volume=VC0551, Session NR=8739                                 
                                FROMBLK=       1, FROMTIME=2026-08-01 20:14:53  
                                TOBLK=     19430, TOTIME=  2026-08-12 13:54:12  
                                                                                
                                                                                
      The copy operation was successful, and the                                
      sequential output dataset has been closed.                                
                                                                                     
                                                                               
                                                                               
 ADARES (PLCOPY): 19430 blocks copied from DDPLOGR1 to DDSIAUS1/2.             
                  Protection Log Number = 8739                                 
                                                                               
                                                                               
 A D A R E S  Terminated normally                          2026-08-12  13:54:32

Restore

Esse é o JCL que vamos utilizar para fazer a restauração;
//AAFPREST JOB (ABBP,DIBD),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD   
//*UQ ALLOW                                                         
//*-----------------------------------------------------------------
//*                    RESTORE DO BANCO 141 ONLINE                  
//*-----------------------------------------------------------------
//RESTORE  EXEC AAFAU141,TIME=1440                                  
//DDREST1   DD DSN=ADABAS.C.SAVE.DB080.DIA.G4315V00,        
//          DISP=OLD,UNIT=CVRT,LABEL=(1,SL),VOL=SER=VC1312          
//* ----------------------------------------------------------------
//DDPLOG    DD DSN=ADABAS.C.DB080.PLOG.G0247V00,                    
//           DISP=OLD,UNIT=AFF=DDREST1,VOL=SER=VC0551               
//*-----------------------------------------------------------------
//DDCARD    DD *                                                    
ADARUN PROG=ADASAV,DBID=141                                         
//DDKARTE   DD *                                                    
ADASAV RESTONL FMOVE=28,30,31,32,33,34,35,36,38,43,47,50,65         
ADASAV         FMOVE=66,67,70,96,109,116,192,243,246,250            
ADASAV         PLOGNUM=8739,SYN1=17703,OVERWRITE
/*                                                                  

Foi restaurado com sucesso
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 
 14.05.30 JOB03290 ---- WEDNESDAY, 12 AUG 2026 ----
 14.05.30 JOB03290  ICH70001I DBAP055  LAST ACCESS AT 14:04:39 ON WEDNESDAY, AUGUST 12, 2026
 14.05.30 JOB03290  $HASP373 AAFPREST STARTED - INIT K    - CLASS S - SYS CPAC
 14.05.30 JOB03290  IEF403I AAFPREST - STARTED - TIME=14.05.30
 14.05.31 JOB03290 *IEF233A M 0891,VC1312,,AAFPREST,AAFAU141,  151
    151                     ADABAS.C.SAVE.DB080.DIA.G4315V00
 14.06.07 JOB03290  IEC502E K 0891,VC1312,SL,AAFPREST,AAFAU141
 14.06.07 JOB03290 *IEC501A M 0891,VC0551,SL,,AAFPREST,AAFAU141.RESTORE,ADABAS.C.DB080.PLOG.G0247V00
 14.06.17 JOB03290  IEF234E K 0891,VC0551,PVT,AAFPREST,AAFAU141
 14.06.17 JOB03290  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 14.06.17 JOB03290  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 14.06.17 JOB03290  -RESTORE  AAFAU141    00   7057   6293    .06    .01     .7   505K  BATCH        0     0     0     0
 14.06.17 JOB03290  IEF404I AAFPREST - ENDED - TIME=14.06.17
 14.06.17 JOB03290  -AAFPREST ENDED.  NAME-SUPORTE              TOTAL TCB CPU TIME=    .06 TOTAL ELAPSED TIME=    .7
 14.06.17 JOB03290  $HASP395 AAFPREST ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  12 AUG 2026 JOB EXECUTION DATE                                                                                                    
-           21 CARDS READ                                                                                                            
-        1,449 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-           60 SYSOUT SPOOL KBYTES                                                                                                   
-         0.78 MINUTES EXECUTION TIME 

Restaurado os files
 A D A S A V   V7.4  SM4   DBID = 00141  Started           2026-08-12  14:05:31                                          
                                                                                                                         
                                                                                                                         
                                                                                                                         
 Parameters:                                                                                                             
 -----------                                                                                                             
                                                                                                                         
                                                                                                                         
 ADASAV RESTONL FMOVE=28,30,31,32,33,34,35,36,38,43,47,50,65                                                             
 ADASAV         FMOVE=66,67,70,96,109,116,192,243,246,250                                                                
 ADASAV         PLOGNUM=8739,SYN1=17703,OVERWRITE
                                                                                                                         
                                                                                                                         
                                                                                                                         
                                                                                                                         
                                                                                                                         
 Function to be executed:                                                                                                
 ------------------------                                                                                                
                                                                                                                         
    RESTONL FILE(S)  ONLINE                                                                                              
                                                                                                                         
    Restore tape from Database    80  (DB.S080.OFFICE)                                                                 
         Loading into Database   141  (DB.S141.OFFICE)                                                                 
                                                                                                                         
                                                                                                                         
 File Number 28 is already present and will be overwritten.                                                              
 File Number 30 is already present and will be overwritten.                                                              
 File Number 31 is already present and will be overwritten.                                                              
 File Number 32 is already present and will be overwritten.                                                              
 File Number 33 is already present and will be overwritten.                                                              
 File Number 34 is already present and will be overwritten.                                                              
 File Number 35 is already present and will be overwritten.                                                              
 File Number 36 is already present and will be overwritten.                                                              
 File Number 38 is already present and will be overwritten.                                                              
 File Number 43 is already present and will be overwritten.                                                              
 File Number 47 is already present and will be overwritten.                                                              
 File Number 50 is already present and will be overwritten.                                                              
 File Number 65 is already present and will be overwritten.                                                              
 File Number 66 is already present and will be overwritten.                                                              
 File Number 67 is already present and will be overwritten.                                                              
 File Number 70 is already present and will be overwritten.                                                              
 File Number 96 is already present and will be overwritten.                                                              
 File Number 109 is already present and will be overwritten.                                                             
 File Number 116 is already present and will be overwritten.                                                             
 File Number 192 is already present and will be overwritten.                                                             
 File Number 243 is already present and will be overwritten.                                                             
 File Number 246 is already present and will be overwritten.                                                             
 File Number 250 is already present and will be overwritten.                                                             
Leia Mais

NAT3072 User queue overflow

O erro apresentado no ambiente Natural/Adabas está relacionado principalmente à ocorrência da mensagem NAT3072 – User queue overflow. Essa ocorrência está diretamente associada à User Queue do Adabas, estrutura utilizada para armazenar informações temporárias relacionadas à sessão, ao usuário e ao processamento em execução. Quando a capacidade disponível nessa área é atingida, ocorre um overflow (estouro da User Queue), fazendo com que o ambiente não consiga armazenar novas informações necessárias para a continuidade do processamento. Como consequência, a execução do programa pode ser interrompida e a sessão pode entrar em um estado inconsistente. A partir dessa condição, pode ocorrer também a mensagem NAT0856 – Automatic logon with invalid logon data, indicando uma falha durante o processo de logon automático. Nesse cenário, o Natural pode tentar utilizar informações de sessão que ficaram inconsistentes ou incompletas em decorrência do problema ocorrido anteriormente na User Queue. Na sequência, também pode ser apresentada a mensagem NAT9982 – Error occurred during session termination. Esse erro ocorre quando o Natural tenta finalizar a sessão, normalmente como consequência da falha anterior, mas encontra estruturas ou informações inconsistentes que impedem o encerramento normal do ambiente. Dessa forma, as mensagens NAT3072, NAT0856 e NAT9982 podem ser entendidas como parte de uma mesma cadeia de eventos. O problema tem como origem principal o esgotamento da User Queue no Adabas, que provoca uma falha no processamento, compromete o estado da sessão e, posteriormente, pode gerar erros relacionados ao logon automático e ao encerramento da sessão. Em resumo, trata-se de uma condição que começa com o overflow da User Queue, afetando diretamente a sessão do usuário e podendo provocar uma sequência de erros no Natural até a interrupção ou encerramento forçado do processamento.

 IEF142I AAFSNATB NATURAL DB230 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB240 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB110 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB210 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB140 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB141 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB150 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB160 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB170 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB180 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB190 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB130 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB120 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB100 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB241 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB020 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB030 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB040 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB050 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB060 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB070 - STEP WAS EXECUTED - COND CODE 0000            
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFSNATB,02616 DS=3 SI=CC LR=1 LL=80 PP=0 DC= RL=999999   
AD=S DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 11:17:34 

NAT3072 User queue overflow

Banco id 150
1NAT3072 User queue overflow. DB/FNR/Subcode 150/15/7.                          
 NAT0856 Automatic logon with invalid logon data; logon failed.                 
 NAT3072 User queue overflow. DB/FNR/Subcode 150/0/7.                           
1NAT9982 Error occurred during session termination                              
UQS0009 - END OF DATA SET.                                                      

Descrição do Erro

A recomendação é aumentar o parametro NU;
 12:31:48               ***** NATURAL HELP UTILITY *****              25/08/2023
 Library SUPORTE2      - Natural System Message NAT3072 -             Page 1    
                                                                                
    User queue overflow. DB/FNR/Subcode :1:/:2:/:3:.                            
                                                                                
 Tx *** Short Text ***                                                          
                                                                                
    User queue overflow. DB/FNR/Subcode .../.../....                            
                                                                                
 Ex *** Explanation ***                                                         
                                                                                
    An overflow occurred in the user queue or the user file list pool.          
                                                                                
 Ac *** Recommended Action ***                                                  
                                                                                
    Ask your database administrator to increase the value                       
    used for the NU parameter.                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                    Last Page   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  Menu  Exit        Print                                     Canc   

High Water Marks

Pelo Sysaos opção (A/U/H - banco 150) o parametro NU atingiu 100% caraca;
  11:25:03          ***** A D A B A S  BASIC  SERVICES *****          2023-08-25
  DBID 150                    -  High Water Marks  -                  PACUH02   
                                                                                
                                                                                
   Pool / Queue       I    Size    I    Used    I %Used I   Date       Time   I 
 ------------------------------------------------------------------------------ 
 Attached Buffer(NAB) I     655360 I      32768 I   5,0 I                     I 
 Command Queue  (NC)  I      15360 I        192 I   1,2 I 2023-08-25 11:25:02 I 
 Format Pool    (LFP) I    1024000 I     100948 I   9,8 I 2023-08-23 16:08:15 I 
 Hold Queue     (NH)  I      84056 I        252 I   0,2 I 2023-08-22 09:30:46 I 
 ISN-List Table (LI)  I      80000 I       1064 I   1,3 I 2023-08-23 15:30:00 I 
 Seq. Cmd. Table(LQ)  I      50000 I       1116 I   2,2 I 2023-08-21 12:27:21 I 
 User Queue     (NU)  I     112112 I     112112 I 100,0 I 2023-08-25 10:03:12 I 
 Unique DE Pool (DUQ) I      50000 I          0 I   0,0 I                     I 
 Security Pool  (LCP) I       2000 I          0 I   0,0 I                     I 
 UQ File List   (UQF) I      33960 I      25344 I  74,6 I 2023-08-25 10:03:12 I 
 ATM Trans. IDs (XID) I          0 I          0 I   0,0 I                     I 
 Work Pool      (LWP) I    1024000 I     333716 I  32,5 I 2023-08-23 11:22:01 I 
 Redo Pool      (LRDP)I          0 I          0 I   0,0 I                     I 
                                                                                
                                                                                
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----   
  Help               Exit      Refresh                              Menu   

Alterando Parametro

Vamos alterar o parametro de NU de 350 para 1000
MEMBER=ADAP150  000062 REC SAVE:04.07.2013 07:47 BY   USERID DBAP124  R=00000021
DSN=AAB.DIBD.ADAPARM                             LIB=S1 VOL=PRL303 UNIT=1526    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
ADARUN LOGSB=NO         <=== LOG SEARCH BUFFER                                  
ADARUN LOGVB=NO         <=== LOG VALUE BUFFER                                   
ADARUN LP=10000         <=== LENGTH OF DATA PROTECTION AREA*10000               
ADARUN LQ=50000         <=== LENGTH OF SEQUENTIAL COMMAD TABLE                  
ADARUN LS=300032        <=== LENGTH OF SORT AREA *                              
ADARUN LU=65535         <=== LENGTH OF INTERMEDIATE USER BUFFER * 44000         
ADARUN LWP=1024000      <=== LENGTH OF ADABAS WORK POOL * 1500000 04/99 96      
ADARUN LWKP2=1200       <=== LENGTH WORK PART-2 * NEW                           
* ADARUN MIRROR=NO        <=== DATA BASE MIRRORING                              
ADARUN NAB=160          <=== NUMBER OF ATTACHED BUFFERS * 25                    
ADARUN NC=80            <=== NUMBER OF COMMAND QUEUE ELEMENTS                   
ADARUN NH=3000          <=== NUMBER OF HOLD QUEUE ELEMENTS                      
ADARUN NISNHQ=750       <=== NUMBER OF ISNS IN HOLD QUEUE F/USER        /97     
ADARUN NONDES=NO        <=== DISALOW SEARCHES USING NONDESCRIPTORS 9/3/4/97     
ADARUN NQCID=75         <=== NUMBER OF CID PER USER * 10                        
ADARUN NSISN=250        <=== NUMBER OF ISNS PER TBI ELEMENT * 200               
ADARUN NT=3             -<=== NUMBER OF THREADS * 13 - 15/02/2000               
ADARUN NU=350           <=== NUMBER OF USER QUEUE ELEMENTS                      
ADARUN OPENRQ=NO        <=== OPEN COMMAND REQUIRED                              
* ADARUN PLOGMIR=NO       <=== PROTECTION LOG MIRRORING  

Parando e Colocar no Ar o Banco

Este banco 150 não tem ninguem acessando.
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O
0                                                                               
 23.56.52 STC06497 ---- THURSDAY,  10 AUG 2023 ----                             
 23.56.52 STC06497  IEF695I START DBA00150 WITH JOBNAME DBA00150 IS ASSIGNED TO 
 23.56.52 STC06497  $HASP373 DBA00150 STARTED                                   
 23.56.52 STC06497  IEF403I DBA00150 - STARTED - TIME=23.56.52                  
 23.56.52 STC06497  ADAN02 00150 Nucleus run without protection log             
 23.56.52 STC06497  ADAL01 00150 2023-08-10 23:56:51 CLOG not active            
 23.56.52 STC06497  ADAN03 00150 ADABAS coming up                               
 23.56.53 STC06497  ADAN19 00150 Buffer flush is  a s y n c h r o n o u s       
 23.56.53 STC06497  ADAN01 00150 A D A B A S  V7.4.4  is active                 
 23.56.53 STC06497  ADAN01 00150 MODE = MULTI                                   
 23.56.53 STC06497  ADAN01 00150 Running without recovery log                   
 11.45.30 STC06497 ---- FRIDAY,    25 AUG 2023 ----                             
 11.45.30 STC06497  ADAN51 00150 2023-08-25 11:45:30 Operator type-in: ADAEND   
 11.45.30 STC06497  ADAN42 00150 2023-08-25 11:45:30 Function accepted          
 11.45.30 STC06497  ADAM97 00150 This ASCB/initiator will be terminated by MVS a
 11.45.31 STC06497  IEF404I DBA00150 - ENDED - TIME=11.45.31                    
 11.45.31 STC06497  IEF352I ADDRESS SPACE UNAVAILABLE                           
 11.45.31 STC06497  $HASP395 DBA00150 ENDED                                     
0------ JES2 JOB STATISTICS ------                                              
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=DBA00150,06497 DS=1 SI=SM LR=1 LL=80 PP=0 DC= RL=999999   
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 12:13:47                   

Colocando o Banco

Colocando no ar o banco;
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O
0                                                                               
 11.45.42 STC03163 ---- FRIDAY,    25 AUG 2023 ----                             
 11.45.42 STC03163  IEF695I START DBA00150 WITH JOBNAME DBA00150 IS ASSIGNED TO 
 11.45.42 STC03163  $HASP373 DBA00150 STARTED                                   
 11.45.42 STC03163  IEF403I DBA00150 - STARTED - TIME=11.45.42                  
 11.45.42 STC03163  ADAN02 00150 Nucleus run without protection log             
 11.45.42 STC03163  ADAL01 00150 2023-08-25 11:45:42 CLOG not active            
 11.45.42 STC03163  ADAN03 00150 ADABAS coming up                               
 11.45.42 STC03163  ADAN19 00150 Buffer flush is  a s y n c h r o n o u s       
 11.45.42 STC03163  ADAN01 00150 A D A B A S  V7.4.4  is active                 
 11.45.42 STC03163  ADAN01 00150 MODE = MULTI                                   
 11.45.42 STC03163  ADAN01 00150 Running without recovery log                   
UQS0009 - END OF DATA SET.                                                      
        1 //DBA00150 JOB MSGLEVEL=1                                             
        2 //STARTING EXEC DBA00150                                              
        3 XXDBA00150 PROC ADA=N,LOG=P                                           
          XX*UQ ALLOW                                                           
          XX*             ADA=N --> NORMAL (ADAP150N)                           
          XX*             ADA=A --> ABEND  (ADAP150A)                           
          XX*             LOG=P --> C/PLOG (ADA150PP)                           
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=DBA00150,03163 DS=1 SI=SM LR=1 LL=80 PP=0 DC= RL=999999   
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 12:14:57                   
Depois de aumentar esse parametro nunca mais deu erro
Leia Mais

quinta-feira, julho 02, 2026

Otimização do Buffer Pool

A garantia de alta disponibilidade e o tempo de resposta otimizado dos sistemas de produção exigem o acompanhamento constante dos ativos de memória. Recentemente, a monitoração proativa do ambiente de produção através do utilitário SYSBPM (Natural Buffer Pool Utility) acendeu um alerta de capacidade: os dados históricos acumulados revelaram que o Buffer Pool operava no limite de sua saturação. Para mitigar gargalos operacionais antes que houvesse impacto direto na experiência do usuário final, foi conduzida uma análise aprofundada em conjunto com o suporte do fabricante. Este documento apresenta o diagnóstico técnico inicial, as justificativas para a reestruturação e a solução adotada para expandir a capacidade do ambiente, assegurando a estabilidade das operações.

1. Diagnóstico Inicial do Ambiente

A análise estática realizada diretamente no painel do SYSBPM indicava o seguinte cenário de ocupação de memória: Até o momento da análise, a inicialização do Buffer Pool primário utilizava a seguinte parametrização de 25 MB via JCL:

//* -----------------------------------------------------------------
//*             INICIALIZA O GLOBAL BUFFER POOL DO NATURAL        
//* -----------------------------------------------------------------
//STARTNAT EXEC PGM=NATGBP41,                                        
//   PARM='BPN=NATGBP,S=NAT4,N=(25M,XA,2),R=N'                       
//STEPLIB  DD DSN=ADA8.LOADLIB,DISP=SHR                              
//SYSUDUMP DD SYSOUT=A                                               
//GBPPRINT DD SYSOUT=A                                               
//SYSPRINT DD SYSOUT=A

Buffer Pool hoje
  12:38:32             ***** NATURAL SYSBPM UTILITY *****             01/06/2026
  BPNAME NATGBP        - General Buffer Pool Statistics -        Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
                                                                                
 Buffer Pool Address ..... 13C63000      Buffer Pool Size (MB) ... 25,00        
  Directory Section ...... 00000400      Directory Entry Size .... 128          
  Text Record Section .... 001A5000      Text Record Size (KB) ... 2            
 Dataspace attached ......                                                      
                                                                                
 Initialization .......... 23:20:13    2025-12-06                               
 Last Refresh ............ 23:20:13    2025-12-06        by User .. NATBPMG4    
                                                                                
  _______________________________ Text Records ______________________________   
          Total          Used   in %      Max Used    Total Size  Avg Usage %   
         11,958        11,785  98,55        11,956    24,135,680        90,47   
               _____________________ Objects ________________________________   
  Space Used %         Loaded           Max Loaded    Total Size  Avg TR Used   
         89,16          2,301                2,777    21,836,723          5,1   
               SumOfUseCounts AvgLifetimeUsed(min)    AvgLifetimeReplace(min)   
                          880                4,643                        804   
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip        Load                    Canc

2. Análise Técnica e Parecer do Suporte

A equipe de suporte da Software AG validou os dados e emitiu um parecer técnico que aponta para um cenário crítico de saturação em diferentes camadas. O ponto mais alarmante reside na gestão de Text Records, cujo consumo severo atingiu 98,55%, indicando que a área está praticamente esgotada. O fato de a métrica de uso máximo (Max Used) ter encostado no limite total, somado a uma ocupação média (Avg Usage) constantemente acima de 90%, evidencia que a sobrecarga não decorre de um pico pontual, mas sim de uma pressão operacional contínua. Em termos práticos, essa escassez de espaço força o Natural a descartar componentes em memória, desencadeando um efeito cascata de leituras físicas adicionais no banco de dados ADABAS. Como consequência direta, há uma degradação na performance geral do sistema e uma elevação no tempo de resposta das transações. Paralelamente, a ocupação de objetos também exige atenção, operando atualmente em 89,16%. Embora esse indicador ainda retenha uma margem mínima de manobra, a curva demonstra uma tendência clara de aproximação do seu limite máximo histórico de 2.777 objetos carregados — um fator de peso, considerando que cada objeto consome, em média, 5,1 Text Records. Ao cruzar esses dados com o comportamento dinâmico do ambiente, a análise combinada de Reuse e Lifetime revela que, embora o indicador SumOfUseCounts confirme a reutilização regular dos objetos, o tempo de vida médio antes de uma substituição (AvgLifetimeReplace) é extremamente longo, girando em torno de 13 horas. Em contrapartida, o tempo de uso ativo após a carga (AvgLifetimeUsed) é de apenas 4,6 minutos. Esse descompasso sugere que rotinas ou objetos obsoletos permanecem retidos na memória sem necessidade de uso imediato, estreitando ainda mais o espaço útil disponível e sufocando o ecossistema do Buffer Pool.

3. Plano de Ação e Recomendações

Como estratégia para mitigar a saturação identificada, a equipe de suporte da Software AG recomendou a expansão da capacidade do Buffer Pool em um patamar entre 20% e 50%, condicionada à disponibilidade de memória no ambiente z/OS. Adotando uma postura conservadora dentro dessa margem, optou-se por um acréscimo de 50% sobre os 25 MB originais, totalizando uma nova volumetria de 37 MB para o ambiente. Além do ganho de espaço físico, o parecer técnico sugeriu ações complementares para garantir a eficiência da estrutura, incluindo a revisão de parâmetros de inicialização adjacentes do Natural — como o BPI ou BPSFI — e uma análise detalhada dos padrões de carga das aplicações. Essa última medida visa rastrear o comportamento dos sistemas para identificar possíveis excessos na execução de programas dinâmicos ou o acesso a bibliotecas excessivamente pesadas que possam estar sobrecarregando o Buffer Pool. O que foi melhorado:
Critério Melhoria Aplicada
Fluidez Eliminou os marcadores de tópicos (bullet points).
Coesão Justificou a escolha dos 37 MB encaixando-a logo após a menção da regra de 20% a 50% sugerida pela Software AG.

4. Implementação e Nova Parametrização

Seguindo as diretrizes técnicas, a volumetria do Buffer Pool foi expandida de 25 MB para 37 MB. Vale ressaltar que a efetivação dessa nova configuração em subsistemas globais exige a execução de um IPL (Initial Program Load) ou o procedimento manual de exclusão e recriação do Buffer Pool na região correspondente.
Cenário Configuração do Buffer Pool
Antes da Alteração Configuração Antiga - 25MB
Após a Alteração Nova Otimização - 37MB

5. Próximos Passos e Critérios de Sucesso

Após a alteração do parâmetro de 25 MB para 37 MB no JCL de inicialização, a efetivação dessa nova valor no ambiente ativo dependerá obrigatoriamente da execução de um IPL ou do procedimento controlado de stop/start manual do Buffer Pool. Para efetivar vamos fazer a deletação e a recriação da buffer pool manualmente.

Stop Buffer Pool
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                               
//*UQ ALLOW                                                                     
//* --------------------------------------------------------                    
//*               STOP NATURAL GLOBAL BUFFER POOL                               
//* --------------------------------------------------------                    
//STOPNAT  EXEC PGM=NATGBP41,PARM='CF=STOPNAT'                                  
//STEPLIB  DD DSN=ADA8.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=*                                                          
//STOPNAT  DD *                                                                 
F,BPN=NATGBP,S=NAT4                                                             
//*

Start Buffer Pool
//AAFSEGBP JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                               
//*UQ ALLOW                                                                     
//* --------------------------------------------------                          
//*         START EDITOR GLOBAL BUFFER POOL                                     
//* --------------------------------------------------                          
//STARTNAT EXEC PGM=NATGBP41,                                                   
//   PARM='BPN=NATGBP,S=NAT4,N=(37M,XA,2),R=N'                                  
//STEPLIB  DD DSN=ADA8.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=A                                                          
//GBPPRINT DD SYSOUT=A                                                          
//SYSPRINT DD SYSOUT=A

Display do Buffer Pool
//AAFSNATB JOB (AAFP,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                 
//*UQ ALLOW                                                                     
//* -----------------------------------------------------------                 
//*           VERIFICAR SE O BUFFER POOL ESTA NO AR                             
//* -----------------------------------------------------------                 
//STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT'                                 
//STEPLIB  DD DSN=ADA8.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=*                                                          
//STARTEDT DD *                                                                 
SHOWBP
Leia Mais

terça-feira, junho 23, 2026

Entendendo o Funcionamento do ISN no Adabas

Entre os diversos conceitos que tornam o Adabas um banco de dados extremamente eficiente, o ISN (Internal Sequence Number) ocupa um papel fundamental. Embora muitas vezes passe despercebido pelos desenvolvedores e administradores iniciantes, o ISN é um dos principais responsáveis pela rapidez com que o Adabas localiza e recupera informações. Em vez de percorrer registros sequencialmente em busca de um dado específico, o Adabas utiliza o ISN como um identificador interno único, permitindo o acesso direto aos registros armazenados no Data Storage. Essa arquitetura, combinada com os índices invertidos do banco de dados, proporciona um desempenho excepcional, mesmo em ambientes que processam milhões de registros diariamente. Neste artigo, vamos entender o que é o ISN, como ele é atribuído, de que forma é utilizado pelo Adabas e por que ele é um dos pilares da alta performance que tornou o Adabas referência em sistemas de missão crítica.

Entendendo o ISN

No banco de dados Adabas, o ISN (Internal Sequence Number), ou Número de Sequência Interna, é um identificador numérico atribuído a cada registro armazenado dentro de um arquivo (file). Em termos práticos, ele funciona como um endereço interno que permite ao Adabas localizar e acessar um registro de forma rápida e eficiente. Cada registro dentro de um FILE possui um ISN único, ou seja, não pode existir dois registros com o mesmo ISN dentro do mesmo arquivo. No entanto, é importante destacar que essa unicidade vale apenas dentro do FILE. Em arquivos diferentes, o mesmo número de ISN pode existir sem qualquer conflito, pois a identificação do registro sempre é feita pela combinação FILE + ISN. O ISN é um elemento fundamental na arquitetura do Adabas, pois permite acesso direto aos dados. Em vez de percorrer registros sequencialmente, o sistema utiliza índices internos para localizar rapidamente os ISNs que atendem a uma determinada condição. Em seguida, com base nessa lista de ISNs, o Adabas acessa diretamente os registros correspondentes no Data Storage, reduzindo o tempo de resposta e aumentando a eficiência das consultas. Essa característica é uma das razões pelas quais o Adabas é reconhecido por seu alto desempenho, especialmente em ambientes corporativos que exigem processamento de grandes volumes de dados com rapidez, confiabilidade e alta disponibilidade.

Como o ISN funciona?

Cada registro armazenado em um arquivo do Adabas recebe um ISN exclusivo e irrepetível dentro desse arquivo. Isso significa que não podem existir dois registros compartilhando o mesmo ISN. De forma semelhante a um número de RG ou CPF para uma pessoa, o ISN identifica individualmente cada registro, permitindo que o Adabas o localize e o acesse diretamente, sem ambiguidades. Essa unicidade é um dos pilares da eficiência do banco de dados, pois garante uma referência precisa e rápida para a recuperação das informações.

Tamanho e Faixa de Valores

O ISN (Internal Sequence Number) é um valor numérico inteiro utilizado pelo Adabas para identificar de forma única cada registro dentro de um arquivo. Em termos práticos, ele funciona como um identificador interno do banco de dados, garantindo que cada registro possa ser localizado e acessado individualmente sem ambiguidades. Normalmente, o ISN é armazenado em 3 ou 4 bytes, dependendo da configuração do ambiente e do tamanho definido para o arquivo (RABNSIZE). Sua numeração geralmente se inicia em 1 e é incrementada sequencialmente conforme novos registros são inseridos no arquivo. Quando registros são excluídos, seus ISNs podem ser reutilizados futuramente, dependendo das políticas internas de gerenciamento do Adabas. A capacidade máxima de ISNs está diretamente relacionada ao tamanho do RABN/ISN, conforme demonstrado abaixo:

Formas de Atribuição do ISN

A definição do ISN pode ocorrer de diferentes maneiras, conforme a necessidade da aplicação e a configuração estabelecida pelo Administrador de Banco de Dados (DBA).
1. ISN atribuído pelo Adabas - O próprio banco de dados gera automaticamente o próximo ISN disponível, normalmente de forma sequencial.
2. ISN atribuído pela aplicação - O programa aplicativo, desenvolvido em linguagens como Natural, COBOL ou outra interface Adabas, define explicitamente qual ISN será utilizado ao inserir um novo registro.
3. Reutilização de ISNs - Quando um registro é excluído, o seu ISN pode ou não ser reaproveitado pelo sistema. Esse comportamento depende das configurações definidas para o arquivo e das políticas de administração adotadas.

Por que o ISN é tão importante?

Uma das principais características do Adabas é sua capacidade de realizar acesso extremamente rápido aos dados. Diferentemente de muitos bancos de dados relacionais, que frequentemente necessitam de pesquisas extensas e operações de junção entre tabelas, o Adabas utiliza o ISN como um ponteiro direto para a localização física do registro no Data Storage.

O processo ocorre da seguinte forma:

1. O Adabas utiliza seus índices invertidos para localizar os registros que atendem aos critérios da pesquisa.
2. O resultado da pesquisa é uma lista de ISNs correspondentes aos registros encontrados.
3. Com essa lista em mãos, o banco acessa diretamente os registros no Data Storage, sem a necessidade de percorrer todo o arquivo.

Benefícios do uso do ISN

Acesso Direto: localização imediata dos registros por meio de seus identificadores internos.
Alto Desempenho: minimiza leituras desnecessárias e reduz significativamente o tempo de resposta das consultas.
Eficiência na Recuperação de Dados: permite que grandes volumes de informações sejam acessados com rapidez e baixo custo de processamento.

É justamente essa arquitetura baseada em ISNs e índices invertidos que faz do Adabas um banco de dados reconhecido por sua elevada performance em ambientes de missão crítica e processamento de grandes volumes de dados.
Leia Mais

Adabas Operator Commands: Referência Completa

O banco de dados Adabas tem um conjunto de comandos operacionais que permitem aos administradores e operadores monitorar, controlar e gerenciar o ambiente de banco de dados em tempo real. Conhecidos como Adabas Operator Commands, esses comandos são essenciais para tarefas de administração, diagnóstico de problemas, análise de desempenho e execução de operações de manutenção sem a necessidade de interromper o banco de dados. Por meio desses comandos, é possível consultar o estado da sessão, exibir estatísticas, controlar logs, gerenciar recursos, obter informações sobre usuários e transações, além de executar diversas ações administrativas de forma rápida e eficiente. Neste artigo, exploraremos os principais Adabas Operator Commands, apresentando sua finalidade, sintaxe e exemplos práticos de utilização no dia a dia da administração de ambientes Adabas.

ADAEND

Use o comando ADAEND para encerrar a sessão Adabas normalmente. Após feito este comando não serão aceitos novos usuários para acessar o banco de dado. ET é a lógica de atualização continuou até o fim da transação atual lógica para cada usuário. Depois de toda a atividade foi concluída, conforme descrito acima, a sessão é encerrada Adabas. Em ambientes de núcleo cluster, a opção global pode ser usado para encerrar a sessão Adabas em todos os núcleos de cluster ativo.
STC03611  F AAFAI222,ADAEND                                                
STC01517  +ADAN51 00222 2011-02-09 16:56:12 Operator type-in: ADAEND        
STC01517  +ADAN42 00222 2011-02-09 16:56:12 Function accepted              
STC01517  +ADAM97 00222 This ASCB/initiator will be terminated by MVS at EOJ
STC01517  IEF404I AAFAI222 - ENDED - TIME=16.56.12                          
STC01517  IEF352I ADDRESS SPACE UNAVAILABLE                                
STC01517  $HASP395 AAFAI222 ENDED

ALOCKF

Use o comando ALOCKF bloquear um arquivo com antecedência para garantir que um usuário EXU, EXF, ou UTI terá o controle exclusivo do arquivo especificado. O avanço bloqueio impede que novas operações possam usar o arquivo. Uma vez que todos os usuários atuais deixaram de usar o arquivo, o usuário tem o controle exclusivo do lock. Até então, o usuário controle exclusivo precisa esperar. Para remover o bloqueio do avanço sem executar o utilitário, consulte o comando RALOCKF. Este comando não está disponível no modo single user ou para um núcleo só de leitura.

AOSLOG

Use o comando AOSLOG para ativar ou desativar o log de registro do Adabas em determinadas chamadas que modificar o núcleo para DD/PRINT. Essas chamadas são emitidos por ADADBS OPERCOM ou Adabas Online System. Read e display as chamadas não são registrados.

ASYTVS

Use o comando ASYTVS é para ativar ou desativar o asynchronous flushing of buffers no número de série do volume.

CANCEL

Use o comando CANCEL para cancelar a sessão Adabas imediatamente. Todo o processamento que estiver usando o banco de dados será imediatamente suspensa. A rotina de autorestart a ser executada durante a inicialização da sessão Adabas que vai resolver as pendencias que faltaram a ser feitas no banco. Em ambientes de cluster núcleo, a opção global pode ser usado para cancelar a sessão Adabas em todos os núcleos de cluster ativo.

CLOGMRG

Use o comando CLOGMRG dinamicamente modifica a configuração do parâmetro ADARUN CLOGMRG. O comando CLOGMRG é válida apenas em ambientes de cluster. É global, por definição, e afeta todos os núcleos do cluster.

CLUFREEUSER

O comando CLUFREEUSER é válida apenas em ambientes de cluster. Pode ser emitida para o núcleo local, ou, com a opção global, contra todos os núcleos ativos e inativos do cluster. Use o comando CLUFREEUSER para excluir restos de agrupar os elementos da tabela de usuário (UTEs ou PLXUSERs) armazenadas em comum que já não estão associados a elementos do usuário fila (UQEs) em um núcleo.

CT

Use o comando do CT para dinamicamente substituir o valor do parâmetro ADARUN do banco, ou seja, o número máximo de segundos que podem decorrer do tempo um comando Adabas foi concluída até que os resultados são retornados para o usuário através da comunicação interregion (que depende da particular sistema operacional usado). A configuração mínima é 1, o máximo é 16777215. Em ambientes de cluster núcleo, o comando do CT é, por definição, global e afeta todos os núcleos do cluster.
STC00291  F AAFAI220,CT=301                                                   
STC00500  +ADAN41 00220 2020-05-20 15:19:47 Function completed 

DAUQ

Use o comando DAUQ para mostrar os elementos do usuário fila de usuários que tenham executado o comando, pelo menos, um Adabas nos últimos 15 minutos.
STC03611  F AAFAI230,DAUQ                                            
STC08763  +ADAN11 00230 2011-02-09 16:58:11 User=00000001,JN=AAFBR230
STC08763  +                       ,TID=G.K.....(C749D29035CA7002)    
STC08763  +                                   TY= E,LA=19 S          
STC08763  +ADAN11 00230 2011-02-09 16:58:11 User=00000002,JN=AAFBR230
STC08763  +                       ,TID=G.K.....(C749D29035CACF42)    
STC08763  +                                   TY= E,LA=19 S          
STC08763  +ADAN11 00230 2011-02-09 16:58:11 User=00000287,JN=AAFCINID
STC08763  +                       ,TID=AA950041(C1C1F9F5F0F0F4F1)    
STC08763  +                                   TY= E,LA=97 S          
STC08763  +ADAN11 00230 2011-02-09 16:58:11 User=00000288,JN=AAFCINID
STC08763  +                       ,TID=AA950042(C1C1F9F5F0F0F4F2)    
STC08763  +                                   TY= E,LA=89 S          
STC08763  +ADAN41 00230 2011-02-09 16:58:11 Function completed

DCQ

Use o comando DCQ para mostrar todos os elementos de comando postado fila (CQEs). O comando DCQ mostra ID de cada usuário do CQE, nome do trabalho e tamanho do buffer.
STC03611  F AAFAI222,DCQ                                      
STC01517  +ADAN14 00222 2011-02-09 16:54:06 Current CQ is empty
STC01517  +ADAN41 00222 2011-02-09 16:54:06 Function completed

DDIB

Use o comando DDIB para exibir o bloco de integridade de dados (DIB). Este bloco contém entradas indicando quais utilitários Adabas estão ativos e os recursos que estão sendo utilizados por cada utilitario.
STC03611  F AAFAI222,DDIB                                                      
STC01517  +ADAN25 00222 2011-02-09 16:53:06 DIB                                
STC01517  +ADAN25 00222 2011-02-09 16:53:06 Jobname=AAFAI222,Starttime=16:42:29
STC01517  +                                                                    
STC01517  +ADAN41 00222 2011-02-09 16:53:06 Function completed         

DDSF

Use o comando DDSF para mostrar Adabas Delta Save status Facility. O comando DDSF só está disponível se o núcleo Adabas é executado com o parâmetro ADARUN DSF=YES.

DELUF

Use o comando DELUF para excluir todos os usuários que estão usando o arquivo especificado. Todas as transações abertas dos usuários excluídos são backed out. Este comando não exclui usuários EXF ou UTI. O comando DELUF corresponde ao ADADBS OPERCOM STOPF=file-number,PURGE function. Atenção - Se Adabas está sendo executado com ADARUN OPENRQ=NO (especificando que os usuários não são obrigados a emitir OP como o primeiro comando da sessão), execute o comando DELUF somente se tiver certeza de que os usuários a ser excluído não estão mais ativos. Se um usuário com uma transação aberta é excluído, mas depois retorna (através do envio de um comando), não há nenhuma indicação sobre a devolução da transação. Se o usuário continuar a operação, inconsistências lógicas no banco de dados pode ocorrer.

DELUI

Use o comando DELUI para excluir todos os usuários que não tenham executado um comando durante o intervalo de tempo especificado (em segundos). Todas as transações abertas dos usuários excluídos são recuou. Este comando não exclui usuários EXF ou UTI. O comando DELUI corresponde ao ADADBS OPERCOM STOPI=time,PURGE function. Atenção - Se Adabas está sendo executado com ADARUN OPENRQ=NO (especificando que os usuários não são obrigados a emitir OP como o primeiro comando da sessão), execute o comando DELUI somente se tiver certeza de que os usuários a ser excluído não estão mais ativos. Se um usuário com uma transação aberta é excluído, mas depois retorna (através do envio de um comando), não há nenhuma indicação sobre a devolução da transação. Se o usuário continuar a operação, inconsistências lógicas no banco de dados pode ocorrer.
STC00291  F AAFAI220,DELUI=900                                                
STC00500  +ADAN42 00220 2020-05-20 15:21:32 Function accepted

DFILES

Use o comando DFILES para mostrar o número de usuários a acessando, atualizando, ou controlar ou um arquivo específico (n) ou uma série de arquivos individuais, especificado em uma lista (N1,..., n5). Um máximo de cinco arquivos podem ser especificados na lista. Os usuários são exibidos pelo nome de trabalho e identificação do usuário Adabas atribuído e listado pelo arquivo.
STC03611  F AAFAI230,DFILES=21,40,41,42,43                        
STC08763  +ADAN31 00230 2011-02-09 17:07:19 File= 00021 is not used
STC08763  +ADAN31 00230 2011-02-09 17:07:19 File= 00040 is not used
STC08763  +ADAN31 00230 2011-02-09 17:07:19 File= 00041 is not used
STC08763  +ADAN31 00230 2011-02-09 17:07:19 File= 00042 is not used
STC08763  +ADAN31 00230 2011-02-09 17:07:19 File= 00043 is not used
STC08763  +ADAN41 00230 2011-02-09 17:07:19 Function completed

DFILUSE

Use o comando DFILUSE para mostrar o número de comandos total processado até agora para o arquivo especificado durante a sessão atual. A contagem é exibido na mensagem ADAN33 núcleo.
STC02760  F AAFAI222,DFILUSE=22
STC03141  +ADAN33 00222 2015-08-25 16:32:37 File= 22    Usage=0
STC03141  +ADAN41 00222 2015-08-25 16:32:37 Function completed

DHQ

Use o comando DHQ para exibir até cinco elementos a fila de espera.
STC02760  F AAFAI222,DHQ
STC03141  +ADAN07 00222 2015-08-25 16:33:57 Current HQ is empty
STC03141  +ADAN41 00222 2015-08-25 16:33:57 Function completed

DHQA

Use o comando DHQA para exibir até 1.000 elementos fila de espera.
STC02760  F AAFAI222,DHQA
STC03141  +ADAN07 00222 2015-08-25 16:34:25 Current HQ is empty
STC03141  +ADAN41 00222 2015-08-25 16:34:25 Function completed 

DLOCKF

Use o comando DLOCKF para dar display dos files locked.
STC02760  F AAFAI222,DLOCKF
STC03141  +ADAN30 00222 2015-08-25 16:20:17 No files locked
STC03141  +ADAN41 00222 2015-08-25 16:20:17 Function completed 

DNC

Use o comando DNC para mostrar o número de elementos de comando postado fila de espera para ser selecionado.
STC02760  F AAFAI222,DNC
STC03141  +ADAN13 00222 2015-08-25 16:21:02 Number of posted CQEs = 0
STC03141  +ADAN41 00222 2015-08-25 16:21:02 Function completed

DNFV

Use o comando DNFV para mostrar as variáveis de arquivos do núcleo, ou seja, informações sobre o uso atual do arquivo. Este comando fornece informações sobre os arquivos em uso em um determinado ponto no tempo. Ele também indica que outros núcleos tem o controle de arquivo exclusivo, se, por exemplo, um programa do usuário recebe uma resposta 148, subcode 15.
STC02760  F AAFAI222,DNFV
STC03141  +FNR=00008  A=Y U=  ID=      CA=00001   CU=00000
STC03141  +FNR=00009  A=Y U=Y ID=      CA=00001   CU=00000
STC03141  +FNR=00015  A=Y U=  ID=      CA=00001   CU=00000
STC03141  +ADAN41 00222 2015-08-25 16:21:52 Function completed

DNH

Use o comando DNH para mostrar o número de ISNs atualmente na hold queue (fila de espera).
STC02760  F AAFAI222,DNH
STC03141  +ADAN06 00222 2015-08-25 16:22:32 Number of HQEs = 0
STC03141  +ADAN41 00222 2015-08-25 16:22:32 Function completed 

DNU

Use o comando DNU para exibir o número de usuários atuais.
STC02760  F AAFAI222,DNU
STC03141  +ADAN09 00222 2015-08-25 16:23:05 Number of UQEs = 2
STC03141  +ADAN41 00222 2015-08-25 16:23:05 Function completed 

DONLSTAT

Use o comando DONLSTAT para exibir o status de cada reorder ativo, invert online, ou Event Replicator processo de estado inicial juntamente com a identificação do processo.
16.58.09 STC08167  +ADAN35 00240 2019-02-20 16:58:08 Online processes:
16.58.09 STC08167  +ADAN35 00240 2019-02-20 16:58:08 INVERT,DE=AU,FILE=297,Cur-ISN=52241905
16.58.09 STC08167  +ADAN35 00240 2019-02-20 16:58:08 ID=X'000036A2',Active
16.58.09 STC08167  +ADAN35 00240 2019-02-20 16:58:08 INVERT,DE=AZ,FILE=298,Cur-ISN=16648679
16.58.09 STC08167  +ADAN35 00240 2019-02-20 16:58:08 ID=X'000036DC',Active
16.58.09 STC08167  +ADAN41 00240 2019-02-20 16:58:08 Function completed 

DPARM

Use o comando DPARM para apresentar os parâmetros da sessão Adabas atualmente em vigor.
STC03611  F AAFAI222,DPARM                                                    
STC01517  +ADAN16 00222 2011-02-09 16:43:07 READONLY=NO,UTIONLY=NO            
STC01517  +ADAN16 00222 2011-02-09 16:43:07 ASYTVS=YES,AOSLOG=NO              
STC01517  +ADAN16 00222 2011-02-09 16:43:07 NC=250,NH=3000,NT=20,NU=3000      
STC01517  +ADAN16 00222 2011-02-09 16:43:07 LBP=61467904,LFP=12288000,LWP=33000
STC01517  +ADAN16 00222 2011-02-09 16:43:07 LI=300000,LP=25000,LQ=150000,LS=300
STC01517  +ADAN16 00222 2011-02-09 16:43:07 LFIOP=15360000,FMXIO=1            
STC01517  +ADAN16 00222 2011-02-09 16:43:07 TT=420,TNAA=900,TNAE=900,CT=300    
STC01517  +ADAN16 00222 2011-02-09 16:43:07 TNAX=120,MXTT=3600,MXTNA=3600      
STC01517  +ADAN16 00222 2011-02-09 16:43:07 Logging                            
STC01517  +                                 LOGCB                              
STC01517  +ADAN41 00222 2011-02-09 16:43:07 Function completed

DPPT

Utilize o comando DPPT para exibir a Parallel Participant Table (PPT), ou Tabela de Participantes Paralelos. Esse comando permite visualizar o bloco interno do próprio PPT no núcleo do sistema. As informações apresentadas pelo DPPT são de natureza interna do Adabas e têm como principal objetivo auxiliar a equipe de suporte técnico da Software AG na análise e diagnóstico do ambiente.
STC02760  F AAFAI222,DPPT
STC03141  +ADAN24 00222 2015-08-25 16:24:43 Display PPT RABNs 0000281F to 00002
STC03141  +ADAN24 00222 2015-08-25 16:24:43
STC03141  +ADAN24 00222 2015-08-25 16:24:43          PPT RABN: 000028FF
STC03141  +ADAN24 00222 2015-08-25 16:24:43 Number of entries: 01
STC03141  +ADAN24 00222 2015-08-25 16:24:43 Nucleus indicator: 50
STC03141  +ADAN24 00222 2015-08-25 16:24:43             NUCID: 0000
STC03141  +ADAN24 00222 2015-08-25 16:24:43  PPT Entry length: 0022
STC03141  +ADAN24 00222 2015-08-25 16:24:43          Entry ID: E9
STC03141  +ADAN24 00222 2015-08-25 16:24:43 Dataset=/ADABAS/DBID222/WORK1/
STC03141  +ADAN41 00222 2015-08-25 16:24:43 Function completed

DRES

Use o comando DRES para mostrar o pool space e o mais alto nível de uso (high water mark) chegou até agora durante a sessão atual, contagem de registros e por cento para os seguintes recursos:
 STC08623  F AAFAI222,DRES                                                      
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 Resource       Size       Current  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 AB  -Pool     3276800         N/A  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 CQ  -Pool       48000           0  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 FI  -Pool    12288000           0  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 HQ  -Pool       84056           0  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 TBI -Pool      300000           0  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 TBS -Pool      150000           0  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 UQ  -Pool      925232         924  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 UQF -Pool      288360          72  
 STC01129  +ADAN28 00222 2018-07-26 08:25:00 WORK-Pool     3300000         416  
 STC01129  +ADAN41 00222 2018-07-26 08:25:00 Function completed 

DSTAT

Exibe o atual status de operação ADALOD, ADAORD, ADARES, ADASAV, ADAULD ou ADAVAL. A seguir, exemplos da saída resultante quando o DSTAT é inserido durante operações específicas do utilitário Adabas:
STC08623  F AAFAI080,DSTAT                                                    
STC02353  ADAN17 00080 2018-07-27 18:35:08 Online database save running        
STC02353  ADAN17 00080 2018-07-27 18:35:08 Read I/Os A=1073149,D=9033462,W=264
STC02353  ADAN17 00080 2018-07-27 18:35:08 Write I/O A=27886,D=11518,W=4785537
STC02353  ADAN17 00080 2018-07-27 18:35:08 Nr. of commands=79775254,Buffer effi
STC02353  ADAN17 00080 2018-07-27 18:35:08 Nr. of Fmt-Tran.=16245,Nr. of Fmt-Ov
STC02353  ADAN17 00080 2018-07-27 18:35:08 Thread001=79341190 commands        
STC02353  ADAN17 00080 2018-07-27 18:35:08 Thread002=431824 commands          
STC02353  ADAN17 00080 2018-07-27 18:35:08 Thread003=2240 commands            
STC02353  ADAN41 00080 2018-07-27 18:35:08 Function completed 

Quando não esta rodando o nada;
STC03611  F AAFAI222,DSTAT                                                    
STC04070  +ADAN17 00222 2011-02-10 13:54:13 Read I/Os A=365,D=2,W=3            
STC04070  +ADAN17 00222 2011-02-10 13:54:13 Write I/O A=5,D=0,W=2              
STC04070  +ADAN17 00222 2011-02-10 13:54:13 Nr. of commands=1,Buffer efficiency
STC04070  +ADAN17 00222 2011-02-10 13:54:13 Nr. of Fmt-Tran.=6,Nr. of Fmt-Ovwr.
STC04070  +ADAN17 00222 2011-02-10 13:54:13 Thread001=1 commands              
STC04070  +ADAN41 00222 2011-02-10 13:54:13 Function completed 

DTH

Use o comando DTH para dar display do status das threads.
STC03611  F AAFAI222,DTH                                      
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=1,ST=AA ,Use=2
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=2,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=3,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=4,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=5,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=6,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=7,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=8,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=9,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=10,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=11,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=12,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=13,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=14,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=15,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=16,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=17,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=18,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=19,ST=UU ,Use=0
STC04070  +ADAN18 00222 2011-02-10 13:55:03 THN=20,ST=UU ,Use=0
STC04070  +ADAN41 00222 2011-02-10 13:55:03 Function completed 

DUQ

Use o comando DUQ para exibir até cinco elementos da fila ativos e inativos da user queue.
STC02760  F AAFAI222,DUQ
STC03141  +ADAN11 00222 2015-08-25 16:29:25 User=00000001,JN=AAFCINID
STC03141  +                       ,TID=DBA00551(C1C1F0F1F0F5F5F1)
STC03141  +                                   TY= U,LA=730 S
STC03141  +ADAN11 00222 2015-08-25 16:29:25 User=00000004,JN=AAFCINID
STC03141  +                       ,TID=DBA00553(C1C1F0F1F0F5F5F3)
STC03141  +                                   TY= E,LA=723 S
STC03141  +ADAN41 00222 2015-08-25 16:29:25 Function completed 

DUQA

Use o comando DUQA para dar display até 100 elementos da user queue.
STC02760  F AAFAI222,DUQA
STC03141  +ADAN11 00222 2015-08-25 16:29:58 User=00000001,JN=AAFCINID
STC03141  +                       ,TID=DBA00551(C1C1F0F1F0F5F5F1)
STC03141  +                                   TY= U,LA=763 S
STC03141  +ADAN11 00222 2015-08-25 16:29:58 User=00000004,JN=AAFCINID
STC03141  +                       ,TID=DBA00553(C1C1F0F1F0F5F5F3)
STC03141  +                                   TY= E,LA=756 S
STC03141  +ADAN41 00222 2015-08-25 16:29:58 Function completed 

DUQE

Use o comando DUQE para mostrar o elemento da user queue para a identificação do usuário especificado Adabas-assigned user ID. O ID do usuário deve ser digitado no formato hexadecimal como segue: -- DUQE=X'A3C1F2' -- Não digite um nome de job no lugar do ID de usuário.

DUUQE

Use o comando DUUQE para exibir elementos de utilitario da user queue.
STC02760  F AAFAI222,DUUQE
STC03141  +ADAN11 00222 2015-08-25 16:40:10 Currently no utility UQE
STC03141  +ADAN41 00222 2015-08-25 16:40:10 Function completed 

FEOFCL

Use o comando FEOFCL para fechar a atual da CLOG (command log) dual ou múltiplo e fazer a troca para o command log para outro log. Esse comando é válido apenas se o comando dual ou múltiplo log está em vigor. Em ambientes de cluster núcleo, a opção global pode ser usado para fechar e mudar de comando duplo ou múltiplo registros em todos os núcleos de cluster ativo.
k f aafai220,FEOFCL                                                            
JOB     NUMBER     Q J O SYST  DEST     PRI  ST      LINES  FORM  FCB  FLASH  
AAFAI220 S.00682   *X   - CPAC            15              0                    
AAFAI220 S.01053    O S A                  9  H         306  STD                
... 34 PERCENT SPOOL UTILIZATION.
Feito a troca
16:36:09        TID    87          COM641/D          User DBA0055      19.03.19
                         ---   System Messages   ---                       UQM1
STC00682  +UEX2   00220 CHAMADA P/ CLOG, FLAGS=X'4800'                        
JOB01054  $HASP100 AAFAC220 ON INTRDR      DBA                   FROM STC00682
STC00682  +UEX2   00220 JOB AAFACLOG   SUBMETIDO                              
STC00682  +UEX2   00220 RETORNO AO NUCLEO, WAITTIME= 000 S                    
STC00682  +ADAL03 00220 2019-03-19 16:36:09 Command-Log DDCLOGR2 started      
STC00682  +ADAN41 00220 2019-03-19 16:36:09 Function completed                
JOB01054  $SI(K)                                                              
          $HASP892 INIT(11)  STATUS=INACTIVE,CLASS=S,NAME=K,ASID=0024          
JOB01054  TSS7000I ADABAST Last-Used 19 Mar 19 16:35 System=CPAC Facility=STC  
JOB01054  TSS7001I Count=01395 Mode=Fail Locktime=None Name=ADABAS DE TESTES  
JOB01054  $HASP373 AAFAC220 STARTED - INIT K    - CLASS S - SYS CPAC          
JOB01054  IEF403I AAFAC220 - STARTED - TIME=16.36.09                          
JOB01054 *CTS001  IEF233A M 0899,PRIVAT,SL,AAFAC220,COPYCLOG,ADABAS.C.DB220.CLO
JOB01054 *IEF233A M 0899,PRIVAT,SL,AAFAC220,COPYCLOG,                          
JOB01054          ADABAS.C.DB220.CLOG.G0003V00                                
JOB01054  CTS014  IEF234E K 0899,,PVT,AAFAC220,COPYCLOG                        
JOB01054  IEF234E K 0899,,PVT,AAFAC220,COPYCLOG                                
JOB01054  -                                              --TIMINGS (MINS.)--  
JOB01054  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  W
JOB01054  -COPYCLOG             04    296     65    .00    .00     .0   6393  B
JOB01054  IEF404I AAFAC220 - ENDED - TIME=16.36.14                            
JOB01054  -AAFAC220 ENDED.  NAME-DBA                  TOTAL TCB CPU TIME=    .0
JOB01054  $HASP395 AAFAC220 ENDED                                              
          $HASP309 INIT K    INACTIVE ******** C=S                            
STC08935 @66 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

FEOFPL

Use o comando FEOFPL para fechar o registro de protection log atual. Este comando é valido para dual ou múltipla de dados para mudar para o registo de uma outra protection log. Em ambientes usando núcleo cluster, a opção global pode ser usado para fechar e mudar a dupla proteção ou múltiplos registros em todos os núcleos de cluster ativo.
K f aafai210,FEOFPL                                                            
JOB     NUMBER     Q J O SYST  DEST     PRI  ST      LINES  FORM  FCB  FLASH  
AAFAI210 S.05061   *X   - CPAC            15              0                    
... 34 PERCENT SPOOL UTILIZATION.                                               
Feita a troca
16:40:09        TID    87          COM641/D          User DBA0055      19.03.19
                         ---   System Messages   ---                       UQM1
STC05061  +UEX2   00210 CHAMADA P/ PLOG, FLAGS=X'4000'                        
JOB01060  $HASP100 AAFAP210 ON INTRDR      DBA                   FROM STC05061
STC05061  +UEX2   00210 JOB AAFAPLOG   SUBMETIDO                              
STC05061  +UEX2   00210 RETORNO AO NUCLEO, WAITTIME= 000 S                    
STC05061  +ADAN21 00210 2019-03-19 16:40:09 Protection log PLOGR2 started      
STC05061  +ADAN41 00210 2019-03-19 16:40:09 Function completed                
JOB01060  $SI(K)                                                              
          $HASP892 INIT(11)  STATUS=INACTIVE,CLASS=S,NAME=K,ASID=0024          
JOB01060  TSS7000I ADABASP Last-Used 19 Mar 19 09:38 System=CPAC Facility=BATCH
JOB01060  TSS7001I Count=30801 Mode=Fail Locktime=None Name=ADABAS DE PRODUCAO
JOB01060  $HASP373 AAFAP210 STARTED - INIT K    - CLASS S - SYS CPAC          
JOB01060  IEF403I AAFAP210 - STARTED - TIME=16.40.10                          
JOB01060 *CTS001  IEF233A M 089B,PRIVAT,SL,AAFAP210,COPYPLOG,ADABAS.C.DB210.PLO
JOB01060 *IEF233A M 089B,PRIVAT,SL,AAFAP210,COPYPLOG,                          
JOB01060          ADABAS.C.DB210.PLOG.G0906V00                                
JOB01061  -ICEGEN03             00     35      8    .00    .00     .0   2094  S
JOB01061  -SMTP1             FLUSH      0      0    .00    .00     .0      0  S
JOB01061  IEF404I ABAPR001 - ENDED - TIME=16.40.13                            
JOB01061  -ABAPR001 ENDED.  NAME-PRODUCAO             TOTAL TCB CPU TIME=    .0
JOB01061  $HASP395 ABAPR001 ENDED                                              
          $HASP309 INIT F    INACTIVE ******** C=3                            
JOB01060  CTS014  IEF234E K 089B,VC2196,PVT,AAFAP210,COPYPLOG                  
JOB01060  IEF234E K 089B,VC2196,PVT,AAFAP210,COPYPLOG                          
JOB01060  -                                              --TIMINGS (MINS.)--  
JOB01060  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  W
JOB01060  -COPYPLOG             00    564    162    .00    .00     .0  18734  B
JOB01060  IEF404I AAFAP210 - ENDED - TIME=16.40.15                            
JOB01060  -AAFAP210 ENDED.  NAME-DBA                  TOTAL TCB CPU TIME=    .0
JOB01060  $HASP395 AAFAP210 ENDED                                              
          $HASP309 INIT K    INACTIVE ******** C=S                            
STC08935 @66 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


FMXIO

Use o comando FMXIO para mudar dinamicamente a configuração do parâmetro ADARUN FMXIO.

HALT

Use o comando HALT para realizar uma BT (back out transaction) para a sessão de cada usuário ativo que estiver usando a lógica de ET, em seguida, encerrar a sessão Adabas. Não serão gerados dumps produzidos usando o comando HALT. Em ambientes de cluster núcleo, a opção global pode ser usado para executar um BT para todas as sessões de usuários ativos usando a lógica ET e encerra a sessão Adabas em todos os núcleos de cluster ativo.
STC08623  F AAFAI220,HALT                                                      
STC00647  +ADAN51 00220 2018-07-24 17:25:07 Operator type-in: HALT            
STC00647  +ADAN42 00220 2018-07-24 17:25:07 Function accepted                  

--- CLOG pedido - Plog este banco não tem
STC00647  +UEX2   00220 CHAMADA P/ CLOG, FLAGS=X'4800'                        
JOB07430  $HASP100 AAFAC220 ON INTRDR      DBA                   FROM STC00647
STC00647  +UEX2   00220 JOB AAFACLOG   SUBMETIDO                              
STC00647  +UEX2   00220 RETORNO AO NUCLEO, WAITTIME= 000 S                    
JOB07430  $SI(K)                                                              
STC00647  +ADAM97 00220 This ASCB/initiator will be terminated by MVS at EOJ  
          $HASP892 INIT(11)  STATUS=INACTIVE,CLASS=S,NAME=K,ASID=0024          
JOB07430  $HASP373 AAFAC220 STARTED - INIT K    - CLASS S - SYS CPAC          
JOB07430  IEF403I AAFAC220 - STARTED - TIME=17.25.08                          
STC00647  IEF404I AAFAI220 - ENDED - TIME=17.25.08                            
STC00647  IEF352I ADDRESS SPACE UNAVAILABLE                                    
STC00647  $HASP395 AAFAI220 ENDED

O banco saiu do ar
IEA989I SLIP TRAP ID=X33E MATCHED.  JOBNAME=*UNAVAIL, ASID=00BC.    
JOB07430 *CTS001  IEF233A M 089A,PRIVAT,SL,AAFAC220,COPYCLOG,ADABAS.C.DB220.CLO
JOB07430 *IEF233A M 089A,PRIVAT,SL,AAFAC220,COPYCLOG,                          
JOB07430          ADABAS.C.DB220.CLOG.G0001V00                                
JOB07430  IEC705I TAPE ON 089A,VC1069,SL,COMP,AAFAC220,COPYCLOG,ADABAS.C.DB220.
JOB07430  IEC205I DDSIAUS1,AAFAC220,COPYCLOG,FILESEQ=1, COMPLETE VOLUME LIST,  
JOB07430  DSN=ADABAS.C.DB220.CLOG.G0001V00,VOLS=VC1069,TOTALBLOCKS=1          
JOB07430  CTS014  IEF234E K 089A,VC1069,PVT,AAFAC220,COPYCLOG                  
JOB07430  IEF234E K 089A,VC1069,PVT,AAFAC220,COPYCLOG                          
JOB07430  -                                              --TIMINGS (MINS.)--  
JOB07430  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  W
JOB07430  -COPYCLOG             00    346    120    .00    .00     .0   9053  B
JOB07430  IEF404I AAFAC220 - ENDED - TIME=17.25.13

LOCKF

Use o comando LOCKF para bloquear o arquivo especificado. Este comando bloqueia até para utilitarios o acesso.
-- Prendendo o arquivo
STC08623  F AAFAI220,LOCKF=26                                                  
STC00647  +ADAN41 00220 2018-07-24 17:09:23 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:09:34 Files=00026                        
STC00647  +ADAN41 00220 2018-07-24 17:09:34 Function completed                

-- Despredendo o arquivo preso
STC08623  F AAFAI220,UNLOCKF=26                                                
STC00647  +ADAN41 00220 2018-07-24 17:10:12 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:10:20 No files locked                    
STC00647  +ADAN41 00220 2018-07-24 17:10:20 Function completed

LOCKU

Use o comando LOCKU para bloquear o arquivo especificado para todos os usuários. Utilitários Adabas podem usar o arquivo especificado normalmente.
-- Prendendo o arquivo
STC08623  F AAFAI220,LOCKU=26                                                  
STC00647  +ADAN41 00220 2018-07-24 17:13:49 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:14:04 Files=00026                        
STC00647  +ADAN41 00220 2018-07-24 17:14:04 Function completed                

-- Liberando o arquivo preso
STC08623  F AAFAI220,UNLOCKU=26                                                
STC00647  +ADAN41 00220 2018-07-24 17:14:12 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:14:20 No files locked                    
STC00647  +ADAN41 00220 2018-07-24 17:14:20 Function completed

LOCKX

Use o comando LOCKX para bloquear o arquivo especificado para todos os usuários, exceto os usuários EXU ou EXF. Usuários EXU e EXF podem usar o arquivo normalmente. O lock é liberada automaticamente quando um usuário emite um comando OP.
-- Prendendo o arquivo
STC08623  F AAFAI220,LOCKX=26                                                  
STC00647  +ADAN41 00220 2018-07-24 17:13:49 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:14:04 Files=00026                        
STC00647  +ADAN41 00220 2018-07-24 17:14:04 Function completed                

-- Liberando o arquivo preso
STC08623  F AAFAI220,UNLOCKX=26                                                
STC00647  +ADAN41 00220 2018-07-24 17:14:12 Function completed                

-- Display dos arquivos presos
STC08623  F AAFAI220,DLOCKF                                                    
STC00647  +ADAN30 00220 2018-07-24 17:14:20 No files locked                    
STC00647  +ADAN41 00220 2018-07-24 17:14:20 Function completed


LOGGING

Use o comando LOGGING para iniciar o command logging.

LOGCB

Use o comando LOGCB para iniciar o log do Adabas control block para cada command logged.

LOGFB

Use o comando LOGFB para iniciar o log do buffer de formato para cada command logged.

LOGIB

Use o comando LOGIB para iniciar o log do ISN buffer para cada command logged.

LOGIO

Use o comando LOGIB para iniciar o log de atividade do Adabas I/O para cada command logged.

LOGRB

Use o comando LOGRB para iniciar o log de gravação do buffer para cada command logged.

LOGSB

Use o comando LOGSB para iniciar o log no search buffer para cada command logged.

LOGUX

Use o comando LOGUX para iniciar o log de dados do user exit B para inclusão no registro de CLOG. Este comando é válido apenas quando CLOGLAYOUT=5.

LOGVB

Use o LOGVB para iniciar no Adabas o log do value buffer para cada command logged.

NOLOGGING

Use comando NOLOGGING para parar ou impedir o log de registro.

NOLOGCB

Use o comando NOLOGCB para parar ou impedir o log do Adabas control block.

NOLOGFB

Use o comando NOLOGFB para parar ou impedir o log do Adabas format buffer.

NOLOGIB

Use o comando NOLOGIB para parar ou impedir o log do Adabas ISN buffer.

NOLOGIO

Use o comando NOLOGIO para parar ou impedir o log do Adabas I/O activity.

NOLOGRB

Use o comando NOLOGRB para parar ou impedir o log do Adabas record buffer.

NOLOGSB

Use o comando NLOGSB para parar ou previnir o log do Adabas search buffer.

NOLOGUX

Use o comando NOLOGUX para parar o log de dados do user exit B inclusão no registro de CLOG. Este comando é válido apenas quando CLOGLAYOUT=5

NOLOGVB

Use o comando NOLOGVB para parar ou impedir o log do Adabas value buffer.

ONLRESUME

Use o comando ONLRESUME para retomar um novo pedido anteriormente suspensa processo do, online reorder, invert, or Event Replicator for Adabas initial-state. Na versão 7.4.4
 STC01746  F AAFAI220,ONLRESUME                                                 
 STC02367  +ADAN43 00220 2022-12-19 07:54:07 Invalid type-in: ONLRESUME 

ONLSTOP

Use o comando para parar o ONLSTOP online reorder, invert, or Event Replicator for Adabas initial-state. O processo continua até o seu próximo ponto de interrupção, a fim de produzir um um consistente estado e, em seguida, encerra após realizar toda a limpeza necessária. Na versão 7.4.4
 STC01746  F AAFAI220,ONLSTOP                                                   
 STC02367  +ADAN43 00220 2022-12-19 07:53:25 Invalid type-in: ONLSTOP

ONLSUSPEND

Use o comando ONLSUSPEND para suspender o online reorder, invert, ou Event Replicator para o Adabas initial-state process. O processo continua até o seu próximo ponto de interrupção, a fim de produzir um consistente estado, realiza uma reminiscência de comando, e entra em um estado onde ele não pode ser selecionado para processamento. Este comando é útil se o processo on-line está consumindo muito dos recursos do núcleo. Na versão 7.4.4
 STC01746  F AAFAI220,ONLSUSPEND                                                
 STC02367  +ADAN43 00220 2022-12-19 07:51:59 Invalid type-in: ONLSUSPEND


RALOCKF

Use o comando RALOCKF para remover o bloqueio do avanço no arquivo especificado (consulte o comando ALOCKF) sem executar o utilitário.

RALOCKFA

Use o comando RALOCKFA para remover o bloqueio do avanço em todos os arquivos para os quais foi criado (consulte o comando ALOCKF) sem executar o utilitário.

RDUMPST

Use o comando RDUMPST para encerrar o online dump status. Este comando é usado normalmente se a execução on-line do utilitário ADASAV foi encerrado de forma anormal.

READONLY

Use o comando READONLY para mudar o status ON ou OFF. Um valor "YES" ON, o valor "NO" é OFF.

REVIEW

Use o comando REVIEW para:
* desativar o Review do Adabas;
* Alterar de hub mode para local mode, ou;
* para especificar ou alterar no Adabas hub Review com o qual nucleo comunica. 

STOPF

Use o comando STOPF para parar todos os usuários que estão usando o arquivo especificado. Todas as transações abertas dos usuários serão paradas imediatamente. Um usuário que esteja usando este file parado (através do envio de um comando) receberá o código de resposta 9. Este comando não pára usuários EXF ou UTI.
STC08623  F AAFAI230,STOPF=498                                                
STC08152  +ADAN34 00230 2018-07-26 07:35:03    users stopped                  
STC08152  +ADAN41 00230 2018-07-26 07:35:03 Function completed              

STOPI

Use o comando STOPI para parar todos os usuários que não tenham executado um comando durante o intervalo de tempo especificado (em segundos). Todas as transações abertas dos usuários serão paradas imediatamente. Um usuário que esteja usando este file que foi parado vai (através do envio de um comando) receberá o código de resposta 9. Este comando não pára usuários EXF ou UTI.
STC08623  F AAFAI230,STOPI=900                                                
STC02861  +ADAN29 00230 2018-07-24 17:21:40 No users stopped                  
STC02861  +ADAN41 00230 2018-07-24 17:21:40 Function completed 

STOPU

Use o comando STOPU para parar e excluir o usuário com o user ID no Adabas atribuído (na forma mostrada nos comandos display), ou parar e excluir todos os usuários com o job name especificado (job-name). Todas as transações abertas dos usuários pararam será feito fora. Cuidado: Se está a definido no Adabas ADARUN OPENRQ=NO (especificando que os usuários não são obrigados a emitir OP como o primeiro comando da sessão), execute o comando STOPU somente se tiver certeza de que os usuários a ser excluído não estão mais ativos. Se um usuário com uma transação aberta é excluído, e depois retorna (através do envio de um comando), não há nenhuma indicação sobre a devolução da transação. Se o usuário continuar a operação, inconsistências lógicas no banco de dados pode ocorrer. Nota - O comando STOPU=X'userid' não é permitida para reordenar os processos on-line ou invertido. Use o ON‌LSTOP=X'identifier'

SYNCC

Use o comando SYNCC para forçar a sincronização de todos os usuários ET. O núcleo de espera para todos os usuários ET para alcançar status de ET.
STC04647  F AAFAI330,SYNCC                                   
STC02860  ADAN41 00330 2026-06-23 09:56:51 Function completed

TCPIP

Use o comando TCPIP para abrir ou fechar uma conexão direta no com link do TCP/IP para o núcleo Adabas ou fechar todas as ligações TCP/IP quando nenhuma URL for especificada. Este comando só é possível quando o parâmetro ADARUN TCPURL é definido como "YES" e todas as condições para essa configuração foram atendidos. Este comando pode ser usado para fechar a URL definida no parâmetro ADARUN TCPURL, ou para abrir ou fechar adicionais ligações TCP/IP. Você deve identificar a universal resource locator (URL) para a ligação de TCP/IP que você deseja abrir ou fechar. A URL é um endereço de 20 bytes em conformidade com a especificação RFC para URLs.
api-name = é um valor de caráter 3-1 identificar a interface de programação de aplicativo (API) para usar. Ambas as APIs para o IBM TCP/IP (HPS, OES) ea API para a Interlink pilha (ILK) são suportados atualmente.

stackid = é um valor de caracter para indentificar de 8-1 a pilha para usar:

* for the HPS API, this is the name of the TCP/IP started task.
* for the OES API, no value is needed.
* for the ILK API, this is the subsystem identifier.

port-number = é um número de caracteres 1-5 em notação decimal.
Examplos
TCPIP=OPEN=ILK://ILZ5:1234
TCPIP=CLOSE=ILK://ILZ5:1234
Para fechar todas as URLs abertas:
TCPIP=CLOSE


TNAA

Use o comando TNAA definir o limite de tempo de atividade não-usuários para acesso somente. Este valor deve ser maior que zero e substitui o valor definido pelo parâmetro ADARUN TNAA. Em ambientes de cluster núcleo, o comando TNAA é global, por definição, e afeta todos os núcleos do cluster.

TNAE

Use o comando TNAE defini o limite de tempo de atividade não-lógica para os usuários ET. Este valor deve ser maior que zero e substitui o valor definido pelo parâmetro ADARUN TNAE. Em ambientes de cluster núcleo, o comando TNAE é global, por definição, e afeta todos os núcleos do cluster.

TNAX

Use o comando TNAX definir o limite de tempo de atividade não-usuários de control users. Este valor deve ser maior que zero e substitui o valor definido pelo parâmetro ADARUN TNAX. Em ambientes de cluster núcleo, o comando TNAX é global, por definição, e afeta todos os núcleos do cluster.

TT

Use o comando TT para definir o limite de tempo de transação para os usuários lógica ET. Este valor deve ser maior que zero e substitui o valor definido pelo parâmetro ADARUN TT. Em ambientes de cluster núcleo, o comando TT é global, por definição, e afeta todos os núcleos do cluster.

UNLOCKF

Use o comando UNLOCKF para desbloquear o arquivo especificado.

UNLOCKU

Use o comando UNLOCKU para desbloquear o arquivo especificado que anteriormente foi bloqueado para todos os usuários não utilitários.

UNLOCKX

Use o comando UNLOCKX para desbloquear o arquivo especificado que anteriormente foi bloqueado para usuários de controle não exclusivo.

UTIONLY

Use o comando UTIONLY para mudar o parâmetro de status ADARUN UTIONLY ON (ligado) ou off (desligado). O default é NO.
Leia Mais