Quando se cria um arquivo no Adabas ele é definido com tamanho de DS (Address Converter), UI (Upper Index), NI (Normal Index) quando se grava muito registro e enche ele cria uma outra alocação (extent) no Adabas 7.4.4 este extent pode ocorrer até 4 vezes depois disso ele não deixa mais ser atualizado (trava o file para atualização), quando isso a melhor saída é o DBA reorganiza o file dando mais espaço de DS, NI, UI.
O job abaixo o analista gravou muito registro no file e ocorreu este erro;
1Logon accepted to library NAT2CUR.
1NEXT CURSODBA2
1CURSODBA2 1780 NAT3075 No more ASSO/DATA extents available. DB/FNR 111/401.
1NEXT FIN
1NAT9978 Error occurred during execution/compilation.
A saída do problema acima foi reorganizar o file aumentando o espaço.
//AAFPREOR JOB (AAFP,OSB),DBA,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//* ---------------------------------------------------------------
//* REORGANIZA O FILE DE UM BANCO
//* ---------------------------------------------------------------
//ORDFILE EXEC ADABAS111,TIME=1440
//DDFILEA DD DSN=&&DDFILEA,DISP=(,PASS),
// UNIT=SYSDA,VOL=SER=WRK22A,SPACE=(CYL,(1000,2))
//* ---------------------------------------------------------------
//DDCARD DD *
ADARUN PROG=ADAORD,DBID=240
//DDKARTE DD *
ADAORD REORFILE
ADAORD FILE=401
ADAORD ISNSIZE=3
** ADAORD INDEXCOMPRESSION=YES
ADAORD NISIZE=2853B
ADAORD UISIZE=141B
** ADAORD DSSIZE=13000B
ADAORD MAXISN=1000000
Antes de reorganizar foi feito um backup do file qualquer problema voltamos o backup.
MEMBER=AAFPSAVE 000014 REC SAVE:17.02.2008 08:44 BY USERID AA99001 R=00000001
DSN=AAB.ADABAS.JCLS LIB=S3 VOL=PRL303 UNIT=1024
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFPSAVE JOB (AAFP,DIBD),ADABAS,CLASS=7,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//* ------------------------------------------------------------
//* SALVAR FILE EM CARTUCHO
//* ------------------------------------------------------------
//SAVE EXEC ADABAS001,TIME=1440
//DDSAVE1 DD DSN=AAF.C.REORG.F401.PODE.LIBERAR,
// DISP=(NEW,KEEP),UNIT=TP35,LABEL=(1,SL)
//* -------------------------------------------------------------
//DDCARD DD *
ADARUN PROG=ADASAV,DBID=240
//DDKARTE DD *
ADASAV SAVE FILE=401,UTYPE=EXU
/*
Dica Importante
O tamanho de cada extent vai depender do tamanho da alocação inicial (um exemplo) um file do Adabas tem o DS inicial de tem 3237 cilindros (se extender) foi para 847 cilindros, porque este valor ? Da alocação inicial ele cria outra de mais ou menos 25% (3237*25%=809,25) e como ele extent 4 vezes então ele pode ter extendido no tamanho de alocação do inicial (809,25*4=3237).
0 comentários:
Enviar um comentário