quinta-feira, fevereiro 10, 2011

RABNSIZE 3 para RABNSIZE 4

No dia 07/03/2010, durante o processo para adicionar discos ao banco de dados, uma mensagem de erro específica, "E06 : Allocation exceeds maximum rabn", foi exibida ao tentar adicionar no SYSAOS. Esta mensagem indica que a alocação excede o "rabn" máximo permitido. Seria interessante analisar a situação e investigar por que a alocação ultrapassou o limite estabelecido. A mensagem de erro "E06 : Allocation exceeds maximum rabn", sugere que houve um problema relacionado à alocação de recursos, e é importante verificar as configurações de alocação de recursos, especialmente o "rabn" (Relative Address Base Number) máximo permitido. Isso pode estar relacionado a limitações do sistema ou a configurações específicas do banco de dados. Recomenda-se revisar qual RABNSIZE esta definido o banco, temos dois tipos de valor a esse parametro, 3 e 4.
E06 :  Allocation exceeds maximum rabn
Tela de erro completa;
08:57:43          ***** A D A B A S  BASIC  SERVICES *****          2010-02-14
  DBID 440                   -  Increase/Decrease  -                  PDMI002  
                                                                                
                                                                                
                                                                                
  Enter Parameters :                              Possible values:              
                                                                                
                     Increase/Decrease .. I             (I/D)                  
                                                                                
                             ASSO/DATA .. D             (A/D)                  
                                  Size .. 14000_____                            
                   Blocks or Cylinders .. C             (B/C)                  
                                                                                
                                                                                
                                                                                
  Note:  After an INCREASE operation is completed, the nucleus session will    
      be automatically ended to allows for the necessary Associator or Data    
      Storage formatting.                                                      
                                                                                
  E06 :  Allocation exceeds maximum rabn                                        
                                                                                
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----  
  Help               Exit                                           Menu
No manual - DBA Tasks O número de RABNs que pode ser atribuído a ASSO eo DATA depende do parâmetro RABNSIZE, que é especificado quando o banco de dados está definido. No RABNSIZE é especificado o comprimento relativo do número do bloco no banco de dados (não é o comprimento do bloco em si). Se RABNSIZE=3 (número do bloco é 24 bits ir três bytes), o número máximo de RABNs é 16.777.215 Se RABNSIZE=4 (número do bloco é 31 bits ou quatro byts), o máximo é 2.147.483.646 O tamanho de deste banco esta em;



IDeviceI    Total Number of   I      Extents  in Block   I DD-Names I  
        I Type I    Blocks  /   Cyls. I       From        To     I          I  
  ------I------I----------------------I -------------------------I----------I  
        I      I                      I                          I          I  
   ASSO I 8391 I    8999988     50000 I          1      8999988  I DDASSOR1 I  
   ASSO I 8391 I    7326720     40704 I    8999989     16326708  I DDASSOR2 I  
        I      I                      I                          I          I  
   DATA I 8391 I    8767495    116900 I          1      8767495  I DDDATAR1 I  
   DATA I 8391 I    7012950     93506 I    8767496     15780445  I DDDATAR2 I  
        I      I                      I                          I          I  
   WORK I 8391 I      29996       500 I          1        29996  I DDWORKR1 I
16,326,708 DDASSOR2 --- 15,780,445 DDDATAR2 Solução - Para conseguir resolve este problema
Modificar o RABN para 31-bit não é um porcesso tão imediato, pois estamos falando em modificar a estrutura do banco.

Teríamos de executar alguns steps:
- ADASAV para tirar o back-up completo do banco
- ADAORD com RESTRUCTUREDB ( vou confirmar se é preciso fazer o RESTRUCTUREF também )
- ADADEF DEFINE com RABNSIZE=4.
Procedimentos Primeiro rodando um backup com o utilitario adasav - qualquer coisa restauramos este backup;
MEMBER=ADASA242 000014 REC SAVE:05.03.2010 12:23 BY   USERID AA01055  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8​
//AAFAS440 JOB (AAFP,DIBD),GER,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                  
//*UQ ALLOW                                                                    
//* --------------------------------------------------------                    
//*                 BACKUP OFFLINE DO BANCO                                    
//* --------------------------------------------------------                    
//SAVE     EXEC AAFAU440,TIME=1440                                              
//DDSAVE1   DD DSN=ADABAS.C.SAVE.DB440.ANTES.RESTRUCT,                            
//         DISP=(NEW,CATLG),UNIT=TP35,LABEL=(,SL)                              
//* --------------------------------------------------------                    
//DDCARD    DD *                                                                
ADARUN PROG=ADASAV,DBID=440,MODE=SINGLE,PLOGRQ=NO                              
//DDKARTE   DD *                                                                
ADASAV   SAVE                                                                  
/*
2 - RESTRUCTUREDB Rodando o RESTRUCTUREDB
MEMBER=RESTR440 000015 REC SAVE:28.05.2010 13:38 BY   USERID AA01055  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8​
//AAFAREDB  JOB (AAFA,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                
//*UQ ALLOW                                                                    
//*  -------------------------------------------------------                    
//*                RESTRUCTUREDB NO BANCO 440                                  
//*  -------------------------------------------------------                    
//ADAORD   EXEC AAFAU440,TIME=1440                                              
//DDFILEA  DD  DSN=ADABAS.C.RESTRUCT.DB440,                                    
//          DISP=(NEW,KEEP),UNIT=TP35,LABEL=(1,SL)                              
//* --------------------------------------------------------                    
//DDCARD    DD  *                                                              
ADARUN PROG=ADAORD,MODE=SINGLE,DBID=440,PLOGRQ=NO                              
ADARUN LP=25000,LWKP2=3494                                                      
//DDKARTE   DD  *                                                              
ADAORD RESTRUCTUREDB                                                            
/*
3 - ADADEF Neste passo vamos redefinir o banco para RABNSIZE 4 usando o utilitario ADADEF, lembrando que este utilitario destroi o banco, como rodamos o ADASAV/RESTRUCTUREDB estamos tranquilos
MEMBER=ADADE440 000019 REC SAVE:31.05.2010 11:14 BY   USERID AA00124  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8​
//AAFADEF JOB (AAFA,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                  
//*UQ ALLOW                                                                    
//* -------------------------------------------------------                    
//*      DEFINICAO O BANCO ADABAS - TREINAMENTO 222                            
//* -------------------------------------------------------                    
//DEFINE    EXEC AAFAU440                                                      
//DDCARD    DD *                                                                
ADARUN PROG=ADADEF,MODE=SINGLE,DBID=440,SVC=249,DEVICE=8391                    
//DDKARTE   DD *                                                                
ADADEF DEFINE DBNAME='DB.PROD.ADABASP1',DBIDENT=440                            
ADADEF        ASSOSIZE=50000,40704                                              
ADADEF        DATASIZE=116900,106182                                            
ADADEF        WORKSIZE=500                                                      
ADADEF        MAXFILES=2048,RABNSIZE=4                                          
ADADEF        FILE=19,CHECKPOINT                                                
ADADEF        NAME='AAF-CHECKPOINT',MAXISN=100000                              
ADADEF        DSSIZE=5000B,NISIZE=100B,UISIZE=30B                              
ADADEF        OVERWRITE                                                        
/*
Carregar os dados do RESTRUCTUREDB no banco de dados
MEMBER=STORE44C 000018 REC SAVE:28.05.2010 13:41 BY   USERID AA01055  R=00000001
DSN=AAB.DIBD.JCLS                                LIB=S3 VOL=PRL303 UNIT=1024    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8​
//AAFASTOR JOB (AAFA,DIBD),CLAUD,MSGCLASS=A,CLASS=S,TYPRUN=HOLD                
//*UQ ALLOW                                                                    
//*  -----------------------------------------------------------                
//*        ADAORD : STORE INTO A DIFFERENT DATABASE                            
//*                 AFTER ADAORD RESTRUCTURE                                    
//*  -----------------------------------------------------------                
//STORE    EXEC AAFAU440,TIME=1440                                              
//DDFILEA   DD  DSN=ADABAS.C.RESTRUCT.DB440,                                    
//          DISP=OLD,UNIT=TP35,VOL=SER=TPXXXX,LABEL=(1,SL)                      
//* ------------------------------------------------------------                
//DDCARD    DD *                                                                
ADARUN PROG=ADAORD,MODE=SINGLE,DBID=440,PLOGRQ=NO                              
ADARUN LU=65535,LWKP2=3494,LP=25000                                            
//DDKARTE   DD *                                                                
ADAORD STORE ALLFILES,OVERWRITE                                                
ADAORD       FILE=019,CHECKPOINT                                                
ADAORD       FILE=020,SECURITY                                                  
/*

0 comentários:

Enviar um comentário