domingo, agosto 30, 2020

Area de SORT pequena para criar o Campo Descritor

No Adabas com o tempo os arquivos crescem, no começo as tarefas que eram executadas nas areas de TEMP e SORT rodavam de boa a demanda, com o tempo temos que aumentar essas areas, esta postagem vai destacar este ponto onde tivemos que aumentar a area de SORT para poder conseguir criar um descritor de um arquivo. Colocar um campo como descritor no banco o Adabas cria uma lista (como um indice - lista invertida) a cada registro do campo determinado. Resumindo é como se o Adabas cria-se um indice dos registros desse campo, na hora da pesquisa é mais rapido. Uma lista invertida é uma lista (ou índice) ordenada de chaves, onde cada chave contém uma ligação para o registro. A lista é chamada de invertida porque partimos de um campo do registro para encontrar sua chave primária e, depois, o registro completo. A lista é chamada de lista por contém uma lista de referências de chaves primárias.
O analista pediu para colocar um determinado campo como descritor, este foi o jcl utilizado;
MEMBER=ADAINV05 000013 REC SAVE:31.07.2019 16:45 BY   USERID DBA0155  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1526   
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAINV2 JOB (AAFA,DBA),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD               
//*UQ ALLOW                                                                     
//* --------------------------------------------------------------             
//*            CRIAR UM DESCRITOR -- TEMP/SORT - 3000                           
//* --------------------------------------------------------------             
//INVERT    EXEC AAFAU010,TIME=1440                                             
//DDCARD    DD *                                                               
ADARUN PROG=ADAINV,DBID=010                                                     
//DDKARTE   DD *                                                               
ADAINV INVERT FILE=297                                                         
ADAINV        FIELD='AU'                                                       
ADAINV        TEMPSIZE=3000,SORTSIZE=3000                                       
/*

Ocorreu este erro - (SORT dataset too small - Dataset Sort muito pequeno)
1                                                                             
A D A I N V  V7.4  SM4  DBID = 00010  Started          2019-07-31  14:54:17
                                                                               
Parameters:                                                                   
-----------                                                                   
                                                                               
ADAINV INVERT FILE=297                                                       
ADAINV        FIELD='AU'                                                     
ADAINV        TEMPSIZE=3000,SORTSIZE=3000                                     
                                                                               
A D A I N V:  Error occurred during execution:                               
                                             
ERROR-110, SORT dataset too small                                             
                                                                               
            Supply a larger SORT dataset.                                     
            See the ADABAS Utilities Manual for instructions how               
            to calculate the SORT dataset size.                               
                                                                               
                                                                               
A D A I N V  Terminated                                  2019-07-31  16:42:28
UQS0009 - END OF DATA SET.                                                     
                                                                               
                                                                 
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFAINV2,01451 DS=1 SI=SO LR=22 LL=80 PP=0 DC=           
RL=999999 AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000

Checando o Tamanho de Sort Precisamos Formatar

Com o tamanho da maior sort deu erro vamos ter que formatar uma nova SORT, para descobrir quanto precisamos formatar para este campo no SYSAOS tem uma opção para descobrir;
07:29:54          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                                -  Main Menu  -                      PMAIN02 
                                                                               
                                                                               
              Code  Basic Services              Code  Other Services         
              ----  ----------------------      ----  ---------------------   
                A    Session monitoring          1    Adabas Cache Facility   
                C    Checkpoint maintenance      2    Delta Save Facility     
                F    File maintenance            3    Trigger Maintenance     
                M    Database maintenance        4    AOS Security           
                O    Session opercoms            5    Transaction Manager     
                R    Database report             6    Adabas Statistics       
                S    Space calculation           7    Vista                   
                ?    Help                        8    Fastpath               
                .    Exit                        9    SAF Security           
              ----  ----------------------      ----  ---------------------   
                                                                               
  Code ....... s                                                             
  Database ... 012    (DB.D009.ADABAS)                                     
                                                                               
  Command ==>                                                                 
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12----- 
  Help              Exit

SORT escolhemos
  07:32:25          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                              -  Space Calculation  -                 PSP0002  
                                                                               
                               Code    Service                                 
                               ----    --------------                          
                                A      ASSO                                    
                                D      DATA                                    
                                F      DDFILEA                                 
                                S      SORT                                    
                                T      TEMP                                    
                                W      WORK                                    
                                ?      Help                                    
                                .      Exit                                    
                               ----    --------------                          
                Code .......... s                                              
                Database ID ... 012    (DB.P012.ADABAS)                      
                                                                               
                                                                               
                                                                               
                                                                               
  Command ==>                                                                  
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit                                           Menu       

Como estamos criando um descritor - ADAINV
  07:35:55          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                               -  SORT Storage  -                     PSPS002  
                                                                               
                            Code    Service                                    
                            ----    -------------                              
                             I      ADAINV                                     
                             L      ADALOD load                                
                             U      ADALOD update                              
                             ?      Help                                       
                             .      Exit                                       
                            ----    -------------                              
                                                                               
                                                                               
              Code ......... i                                                 
              File Number .. 297                                               
              Database ID .. 012    (DB.P012.ADABAS)                         
                                                                               
                                                                               
                                                                               
                                                                               
  Command ==>                                                                  
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit                                           Menu       

Coloque o cursor no campo (Name of the field to be processed) tecle enter;
  07:45:54          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                       -  SORT Storage     - ADAINV -     -           PSPSS02  
                                                                               
                                                                               
   File Number .................................. 297                          
   Number of records ( Default:  TOPISN ) ....... 98416436    (reduce number   
   Name of the field to be processed ...........               if field is NU) 
   Average compressed descr. length (in Bytes)                                 
   of the biggest descriptor ....................                              
   Occurences of periodic groups ................ 1                            
   Occurences of multiple fields ................ 1                            
   SORT device-type ............................. 8391                         
   LWP-parameter ................................ 1000000                      
   Database-ID .................................. 012                          
   Password (if required) .......................                              
  --------------------------------------------------------------------------   
   Required number of blocks (minimum) ..........                              
   Required number of cyls.  (minimum) ..........                              
                                                                               
                                                                               
                                                                               
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit      Dis Field                            Menu       

Vai aparecer os campos desta view - vamos marcar o campo AU
  07:56:40          ***** A D A B A S +----------------------------------+ 08-01
                       -  SORT Storag |                                  | 02  
                                      |  Please mark with 'X':           |     
                                      |                                  |     
   File Number ...................... |              Field               |     
   Number of records ( Default:  TOPI |  Selection   Name      Length    | r   
   Name of the field to be processed  |  ---------   ----      ------    | NU) 
   Average compressed descr. length ( |     _         AN         25_     |     
   of the biggest descriptor ........ |     _         AO         11_     |     
   Occurences of periodic groups .... |     _         AP         8__     |     
   Occurences of multiple fields .... |     _         AQ         50_     |     
   SORT device-type ................. |     _         AR         12_     |     
   LWP-parameter .................... |     _         AS         1__     |     
   Database-ID ...................... |     x         AU         8__     |     
   Password (if required) ........... |     _                    ___     |     
  ----------------------------------- |     _                    ___     | -   
   Required number of blocks (minimum |     _                    ___     |     
   Required number of cyls.  (minimum |     _                    ___     |     
                                      |     _                    ___     |     
                                      |                                  |     
                                      |  Enter----PF3------PF7-----PF8-  |     
  PF1----- PF2------ PF3------ PF4--- |           Back      <       >    | --  
  Help               Exit      Dis Fi +----------------------------------+

Required number of cyls. (minimum) .......... 12004
  07:55:30          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                       -  SORT Storage     - ADAINV -     -           PSPSS02  
                                                                               
                                                                               
   File Number .................................. 297                          
   Number of records ( Default:  TOPISN ) ....... 415087388   (reduce number   
   Name of the field to be processed ...........  AU           if field is NU) 
   Average compressed descr. length (in Bytes)                                 
   of the biggest descriptor .................... 8                            
   Occurences of periodic groups ................ 1                            
   Occurences of multiple fields ................ 1                            
   SORT device-type ............................. 8391                         
   LWP-parameter ................................ 1000000                      
   Database-ID .................................. 010                          
   Password (if required) .......................                              
  --------------------------------------------------------------------------   
   Required number of blocks (minimum) .......... 540172                       
   Required number of cyls.  (minimum) .......... 12004                        
                                                                               
                                                                               
                                                                               
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit      Dis Field                            Menu   

Temp file 297 temos 7000 cilindros disponivel - o campo AU vai ocupar 4016 cilindros (vai dar);
  09:07:10          ***** A D A B A S  BASIC  SERVICES *****          2019-08-01
                      -  TEMP Storage - ADAINV -           -          PSPTI02  
                                                                               
                                                                               
  File Number ................ 297                                             
  Field-Name to be inverted .. AU                                              
  Average descriptor-length .. 8           ( Default = Field-Length )          
  Max. Number of records ..... 415087388   ( Default = TOPISN       )          
                                                                               
  Device Type ................ 8391                                            
  No. of records to delete ...             ( ADALOD Delete only     )          
  DBID ....................... 010          (DB.P010.ADABAS)                 
  Password (if required) .....                                                 
                                                                               
  ----------------------------------------------------------------             
                                                                               
  Required TEMP-Blocks ...... 180689                                           
                Cylinder .... 4016                                             
                                                                               
                                                                               
                                                                               
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit      Dis Field                            Menu

Discos Liberados

Primeiro disco;
L SPACE,ADW009                                                                
                                                                               
CYLS   TRKS    LARGE-CONT(CYL/TRK)                                             
                                                                               
010016 000012  010016/000012                                                   
                                                                               
LIST OPERATION SUCCESSFUL

Segundo disco;
L SPACE,ADW010                                                                
                                                                               
CYLS   TRKS    LARGE-CONT(CYL/TRK)                                             
                                                                               
010016 000012  010016/000012                                                   
                                                                               
LIST OPERATION SUCCESSFUL 

Formatando

Este foi o JCL usado para formatar essas duas novas sorts;
MEMBER=ADAFRMSH 000025 REC SAVE:01.08.2019 08:08 BY   USERID DBA0155  R=00000001
DSN=SGI.DBA.JCLS                                 LIB=S5 VOL=PRL304 UNIT=1527   
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAFRMS  JOB (AAFA,DIBD),DBA,CLASS=S,MSGCLASS=X                             
//*UQ ALLOW                                                                    
//* ---------------------------------------------------------------            
//*            FORMATA AREAS PARA O ADABAS - SORT                              
//*           ADABAS.DBIDH   H (HISTORICO) MODELO 9                            
//* ---------------------------------------------------------------            
//FORMAT    EXEC PGM=ADARUN                                                    
//* ---------------------------------------------------------------            
//DDSORTR1  DD   DISP=(NEW,CATLG),DSN=ADABAS.DBIDH.SORTR1,  <===SORT1          
//  SPACE=(CYL,(10016)),UNIT=SYSDA,VOL=SER=ADW009,                             
//  DSNTYPE=LARGE                                                              
//* --------------------------------------------------------------             
//**DDSORTR2  DD   DISP=(NEW,CATLG),DSN=ADABAS.DBIDH.SORTR2,  <=== SORT2       
//**   SPACE=(CYL,(10016)),UNIT=SYSDA,VOL=SER=ADW010,                          
//**   DSNTYPE=LARGE                                                           
//* ---------------------------------------------------------------            
//SYSUDUMP  DD   SYSOUT=A                                                      
//DDDRUCK   DD   SYSOUT=A                                                      
//DDPRINT   DD   SYSOUT=A                                                      
//DDCARD    DD   *                                
ADARUN PROG=ADAFRM,DBID=010                                                    
//DDKARTE   DD   *                                                             
ADAFRM SORTFRM SIZE=10016,DEVICE=8391,NUMBER=1                                 
** ADAFRM SORTFRM SIZE=10016,DEVICE=8391,NUMBER=2                              
/*

Proc do Banco

Alterado a proc do banco para usar esses novos datasets;
MEMBER=AAFAU010 000017 REC SAVE:01.08.2019 08:07 BY   USERID DBA0155  R=00000001
DSN=AAB.PROCLIB                                  LIB=PP VOL=PRL303 UNIT=1526   
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//* -------------------------------------------------------------------        
//*        PROCEDURE PARA UTILITARIOS BANCO DE HISTORICO                       
//* -------------------------------------------------------------------        
//AAFAU010  EXEC PGM=ADARUN,REGION=0M                                          
//STEPLIB   DD   DISP=SHR,DSN=ADA5.LOADLIB                                     
//* -------------------------------------------------------------------        
//DDASSOR1  DD   DISP=SHR,DSN=ADABAS.DBID010.ASSO1  <===== ASSO                
//DDDATAR1  DD   DISP=SHR,DSN=ADABAS.DBID010.DATA1  <===== DATA                
//DDWORKR1  DD   DISP=SHR,DSN=ADABAS.DBID010.WORK1  <===== WORK                
//DDTEMPR1  DD   DISP=OLD,DSN=ADABAS.DBIDH.TEMPR1   <===== TEMP AREA           
//DDSORTR1  DD   DISP=OLD,DSN=ADABAS.DBIDH.SORTR1   <===== SORT AREA 1         
//DDSORTR2  DD   DISP=OLD,DSN=ADABAS.DBIDH.SORTR2   <===== SORT AREA 2         
//SYSUDUMP  DD   SYSOUT=Z                                                      
//DDDRUCK   DD   SYSOUT=A                                                      
//DDPRINT   DD   SYSOUT=A                                                      
//DDCARD    DD   DDNAME=DDCARD                                                 
//DDKARTE   DD   DDNAME=DDKARTE

ADAINV

Esse foi o invert que foi usado para criar o descritor;
MEMBER=ADAINV05 000014 REC SAVE:01.08.2019 08:19 BY   USERID DBA0155  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1526   
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAINV2 JOB (AAFA,DBA),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD               
//*UQ ALLOW                                                                    
//* --------------------------------------------------------------             
//*            CRIAR UM DESCRITOR -- TEMP/SORT - 3000                          
//*            TEMP 7000 / SORT1 10016 / SORT2 10016                           
//* --------------------------------------------------------------             
//INVERT    EXEC AAFAU010,TIME=1440                                            
//DDCARD    DD *                                                               
ADARUN PROG=ADAINV,DBID=010                                                    
//DDKARTE   DD *                                                               
ADAINV INVERT FILE=297                                                         
ADAINV        FIELD='AU'                                                       
ADAINV        TEMPSIZE=7000,SORTSIZE=20032                                     
/*

Rodou ok, usou essa % de Sort/Temp
File 297 (AAF-FISICO-297  ) successfully processed 

  Processing Statistics:
  ----------------------
 
          121864 Blocks used on TEMP dataset  (38%)
          125991 Blocks used on SORT Part 1   (27%)
          125474 Blocks used on SORT Part 2   (27%)
                                                   
                    I Descriptor I NR of ISNS I    
                    I------------I------------I    
                    I     AU     I  224593834 I    
                    I------------I------------I

0 comentários:

Enviar um comentário