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 RESTRUCTUREDBMEMBER=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 tranquilosMEMBER=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 dadosMEMBER=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