Um super descritor é como um campo descritor nos bancos relacionais, o(s) campo(s) que vão fazer parte do super descritor terão um índice para os seus registros ficando assim mais rápida a consulta nele, este post vou colocar um problema que ocorreu na hora de criar um super descritor para um file muito grande - os tamanhos de sort que já estava definido para o banco não suportavam essa quantidade de registro;
Rodando o jcl de criação do super descritor;
//AAFSNATB JOB (ALAD,OSB),CLAUD,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//INVERT EXEC AAFAUTIP,TIME=1440
//DDCARD DD *
ADARUN PROG=ADAINV,DBID=240
//DDKARTE DD *
ADAINV INVERT FILE=106
ADAINV SUPDE='SE=AC(1,3),BC(1,14)'
ADAINV TEMPSIZE=1000,SORTSIZE=1000
Ocorreu o erro de falta de espaço do SORT do AdabasA 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 2009-12-06 15:19:52
UQS0009 - END OF DATA SET.
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFSNATB,06773 DS=1 SI=SO LR=12 LL=80 PP=0 DC=
RL=999999 AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000
Neste banco temos duas procedures é uma delas tem a area de TEMP/SORT maior rodamos a criação do super descritor nela também //AAFSNATB JOB (ALAD,OSB),CLAUD,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//INVERT EXEC AAFAU240,TIME=1440
//DDCARD DD *
ADARUN PROG=ADAINV,DBID=240
//DDKARTE DD *
ADAINV INVERT FILE=106
ADAINV SUPDE='SE=AC(1,3),BC(1,14)'
ADAINV TEMPSIZE=3000,SORTSIZE=1600
Ainda não deu certo, a saida é criar uma área maior - Formatar um SORT maior (3000 cilindros)MEMBER=ADAFRMST 000023 REC SAVE:06.12.2009 16:37 BY USERID AA01055 R=00000001
DSN=AAB.DIBD.JCLS LIB=S3 VOL=PRL303 UNIT=1024
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAFRMS JOB (AAFA,DIBD),CLAUD,CLASS=S,MSGCLASS=X
//*UQ ALLOW
//* ---------------------------------------------------------------
//* FORMATA AREAS PARA O ADABAS - SORT
//* ---------------------------------------------------------------
//FORMAT EXEC PGM=ADARUN
//* ---------------------------------------------------------------
//DDSORTR1 DD DISP=(NEW,CATLG),DSN=ADABAS.DBP.SORTR3, <=== SORT1
// SPACE=(CYL,(3000)),UNIT=SYSDA,VOL=SER=ADAH31
//* ---------------------------------------------------------------
//* DDSORTR2 DD DISP=(NEW,CATLG),DSN=ADABAS.DBP.SORTR2, <=== SORT2
//* SPACE=(CYL,(1600)),UNIT=SYSDA,VOL=SER=ADAW06
//* ---------------------------------------------------------------
//SYSUDUMP DD SYSOUT=A
//DDDRUCK DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDCARD DD *
ADARUN PROG=ADAFRM,DBID=240
//DDKARTE DD *
ADAFRM SORTFRM SIZE=3000,DEVICE=8391,NUMBER=1
Alteramos a procedure AAFAU240 colocamos este novo dataset do SORT3 com 3000 cilindros MEMBER=AAFAU240 000021 REC SAVE:06.12.2009 16:29 BY USERID AA01055 R=00000005
DSN=AAB.PROCLIB LIB=PP VOL=PRL303 UNIT=1024
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//DDTEMPR1 DD DISP=OLD,DSN=ADABAS.DBP.TEMPR1 <===== TEMP AREA
//DDSORTR1 DD DISP=OLD,DSN=ADABAS.DBP.SORTR1 <===== SORT AREA 1
//DDSORTR2 DD DISP=OLD,DSN=ADABAS.DBP.SORTR2 <===== SORT AREA 2
//DDSORTR3 DD DISP=OLD,DSN=ADABAS.DBP.SORTR3 <===== SORT AREA 3
//SYSUDUMP DD SYSOUT=Z
//DDDRUCK DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDCARD DD DDNAME=DDCARD
//DDKARTE DD DDNAME=DDKARTE
Submetido de novo o job do invert para ver se ele vai pegar a SORT3 maior ID JOBNAME STEPNAME PROCSTEP ST DP STORE CPU EXCP ASID DM RP
J0006808 AAFSNATB INVERT AAFAU240 F6 2856K 154,80 23390 0097 00
E deu certo, foi criado o super descritor 2 //INVERT EXEC AAFAU240,TIME=1440
3 XXAAFAU240 EXEC PGM=ADARUN,REGION=0M
IEF142I AAFSNATB AAFAU240 INVERT - STEP WAS EXECUTED - COND CODE 0000
Criou o superProcessing Statistics:
----------------------
0 Blocks used on TEMP dataset (0%)
46844 Blocks used on SORT Part 1 (69%)
47032 Blocks used on SORT Part 2 (69%)
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFSNATB,06808 DS=1 SI=SO LR=8 LL=80 PP=0 DC= RL=999999
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000 06.12.2009, 17:30:00

0 comentários:
Enviar um comentário