sexta-feira, março 01, 2019

Invert Online/Batch

No Adabas podemos criar/tornar um campo descritor ou criar um super descritor rodando o utilitário invert (via batch e online), o invert via job é tranquilo você faz backup do file, bloqueia o arquivo para ninguem acessar e roda o invert, qualquer problema você volta o backup e problema resolvido agora o invert online tem alguns detalhes (eu diria que é uma boa pratica) em arquivos grandes tem que ser criterioso ao rodar o invert online, o porque em ser criterioso em rodar o invert online em arquivos grandes? Um dos fatores primeiros ser destacado é que quando você roda você roda o invert (via batch/online) você esta criando um indice(s) para um determinado campo(s), este indice é utilizado o espaço do ASSO onde fica armazenado os endereçamentos dos registros armazenados no DATA, rodando um invert de um arquivo grande pode se consumir tanto espaço de ASSO que pode deixar o file sem espaço no asso (pode travar o banco), um outro problema é que uma queda (de energia ou de outro problema) no mainframe quando o banco voltar a ficar online o procedimento do invert online todo é perdido, o banco desfaz o descritor ou super, tem que rodar de novo para criar;

Observei o começo e o termino de um invert online;
--- começou o invert de um file com 82.457.596 de ISN
15.57.58 STC08167  +ADAN23 00013 2019-02-20 15:57:57 ONLINE PROCESS STARTED
15.57.58 STC08167  +ADAN23 00013 INVERT,FNR=  297,DE=AU
--- F AAFAI013,DONLSTAT 
--- 52241905 ISNs
16.58.09 STC08167  +ADAN35 00013 2019-02-20 16:58:08 Online processes:
16.58.09 STC08167  +ADAN35 00013 2019-02-20 16:58:08 INVERT,DE=AU,FILE=297,Cur-ISN=52241905
16.58.09 STC08167  +ADAN35 00013 2019-02-20 16:58:08 ID=X'000036A2',Active
--- 52496580 ISNs 
16.58.32 STC08167  +ADAN35 00013 2019-02-20 16:58:31 Online processes:
16.58.32 STC08167  +ADAN35 00013 2019-02-20 16:58:31 INVERT,DE=AU,FILE=297,Cur-ISN=52496580
16.58.32 STC08167  +ADAN35 00013 2019-02-20 16:58:31 ID=X'000036A2',Active
--- 58537100 ISNs
17.05.45 STC08167  +ADAN35 00013 2019-02-20 17:05:44 Online processes:
17.05.45 STC08167  +ADAN35 00013 2019-02-20 17:05:44 INVERT,DE=AU,FILE=297,Cur-ISN=58537100
17.05.45 STC08167  +ADAN35 00013 2019-02-20 17:05:44 ID=X'000036A2',Active
--- 66697575 ISNs
17.15.44 STC08167  +ADAN35 00013 2019-02-20 17:15:43 Online processes:
17.15.44 STC08167  +ADAN35 00013 2019-02-20 17:15:43 INVERT,DE=AU,FILE=297,Cur-ISN=66697575
17.15.44 STC08167  +ADAN35 00013 2019-02-20 17:15:43 ID=X'000036A2',Active
--- 70556020 ISNs
17.20.09 STC08167  +ADAN35 00013 2019-02-20 17:20:08 Online processes:
17.20.09 STC08167  +ADAN35 00013 2019-02-20 17:20:08 INVERT,DE=AU,FILE=297,Cur-ISN=70556020
17.20.09 STC08167  +ADAN35 00013 2019-02-20 17:20:08 ID=X'000036A2',Active
--- 73926160 ISNs
17.24.17 STC08167  +ADAN35 00013 2019-02-20 17:24:17 Online processes:
17.24.17 STC08167  +ADAN35 00013 2019-02-20 17:24:17 INVERT,DE=AU,FILE=297,Cur-ISN=73926160
17.24.17 STC08167  +ADAN35 00013 2019-02-20 17:24:17 ID=X'000036A2',Active
--- 79843290 ISNs
17.31.56 STC08167  +ADAN35 00013 2019-02-20 17:31:55 Online processes:
17.31.56 STC08167  +ADAN35 00013 2019-02-20 17:31:55 INVERT,DE=AU,FILE=297,Cur-ISN=79843290
17.31.56 STC08167  +ADAN35 00013 2019-02-20 17:31:55 ID=X'000036A2',Active
--- Acabou quando chegou no 82.457.596 ISN
17.33.56 STC08167  +ADAN23 00013 2019-02-20 17:33:55 ONLINE PROCESS DONE
17.33.56 STC08167  +ADAN23 00013 INVERT,FNR=  297,DE=AU

Rodando um Invert Batch

Este proximo arquivo é maior que o primeiro - Este tem 104.146.281 ISN - O primeiro tinha 82.457.596 ISN;
                                                                                
  16:51:24          ***** A D A B A S  BASIC  SERVICES *****       2019-03-01   
  DBID 013                    - Display File Layout -                 PDRF012   
   ****************                                                             
   *  File 298    *   AAF-FISICO-298                                            
   ****************                                                             
                                                                                
   Records loaded ....>               Date loaded .......... 2017-10-29 10:38:52
   TOP ISN ............ 104146281     Date of last update .. 2019-02-02 01:25:42
   Max ISN expected ... 196285253     Max Compr Rec Lngth .. 10792              
   Minimum ISN ........ 1             Asso/Data Padding .... 3%/3%              
   Size of ISN ........ 4 Bytes       Highest Index Level .. 4                  
   Number of Updates .. 79374607      Index Compression .... YES                
   ISN Reusage ........ YES           USERISN .............. NO                 
   Space Reusage ...... YES           MIXDSDEV ............. NO                 
   ADAM File .......... NO            PGMREFRESH ........... NO                 
   Ciphered File ...... NO            NOACEXTENSION ........ NO                 
   Coupled Files ...... NONE                                                    
   Blk per DS Extent .. 0                                                       
   Blk per UI Extent .. 0             Total Changed Blks ... 1631819            
   Blk per NI Extent .. 0             Length of Owner ID ... 0                  
                                                                                
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----   
  Help               Exit      Refresh                              Menu        

Antes de rodar o invert já fiz o backup e já deixei ele em uma situação pra ninguem acessar - o JCL do Invert
 //AAFPNATB JOB (ABOP,OSB),CLAU,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                  
 //*UQ ALLOW                                                                    
 //* ==============================================================             
 //*                        CRIAR SUPER DESCRITOR                               
 //* ==============================================================             
 //INVERT    EXEC AAFAU013,TIME=1440                                            
 //DDCARD    DD *                                                               
 ADARUN PROG=ADAINV,DBID=013                                                    
 //DDKARTE   DD *                                                               
 ADAINV      INVERT FILE=298                                                    
 ADAINV      FIELD='AZ'                                                         
 ADAINV      SORTSIZE=3000,TEMPSIZE=3000                                        
 /*

O job do invert batch levou 31 minutos rodando;
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 
19.15.26 JOB09230 ---- WEDNESDAY, 20 FEB 2019 ----
19.15.26 JOB09230  TSS7000I DBA Last-Used 20 Feb 19 18:35 System=CPAC Facility=BATCH
19.15.26 JOB09230  TSS7001I Count=63089 Mode=Fail Locktime=None Name=DBA MASTER ADABAS
19.15.26 JOB09230  $HASP373 AAFPNATB STARTED - INIT K    - CLASS S - SYS CPAC
19.15.26 JOB09230  IEF403I AAFPNATB - STARTED - TIME=19.15.26
19.46.36 JOB09230  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
19.46.36 JOB09230  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
19.46.36 JOB09230  -INVERT   AAFAU013    00   447K  90187   7.08    .14   31.1 35486K  BATCH        0     0     0     0
19.46.36 JOB09230  IEF404I AAFPNATB - ENDED - TIME=19.46.36
19.46.36 JOB09230  -AAFPNATB ENDED.  NAME-CLAU                 TOTAL TCB CPU TIME=   7.08 TOTAL ELAPSED TIME=  31.1
19.46.36 JOB09230  $HASP395 AAFPNATB ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  20 FEB 2019 JOB EXECUTION DATE
-           15 CARDS READ        
-          425 SYSOUT PRINT RECORDS     
-            0 SYSOUT PUNCH RECORDS      
-           18 SYSOUT SPOOL KBYTES       
-        31.15 MINUTES EXECUTION TIME       
UQS0009 - END OF DATASET.


0 comentários:

Enviar um comentário