No Adabas com o tempo os arquivos crescem, no começo as tarefas que eram executadas nas areas de TEMP e SORT rodavam de boa a demanda, com o tempo temos que aumentar essas areas, esta postagem vai destacar este ponto onde tivemos que aumentar a area de SORT para poder conseguir criar um descritor de um arquivo. Colocar um campo como descritor no banco o Adabas cria uma lista (como um indice - lista invertida) a cada registro do campo determinado. Resumindo é como se o Adabas cria-se um indice dos registros desse campo, na hora da pesquisa é mais rapido. Uma lista invertida é uma lista (ou índice) ordenada de chaves, onde cada chave contém uma ligação para o registro. A lista é chamada de invertida porque partimos de um campo do registro para encontrar sua chave primária e, depois, o registro completo. A lista é chamada de lista por contém uma lista de referências de chaves primárias.
O analista pediu para colocar um determinado campo como descritor, este foi o jcl utilizado;
Ocorreu este erro - (SORT dataset too small - Dataset Sort muito pequeno)
Checando o Tamanho de Sort Precisamos Formatar
Com o tamanho da maior sort deu erro vamos ter que formatar uma nova SORT, para descobrir quanto precisamos formatar para este campo no SYSAOS tem uma opção para descobrir;
SORT escolhemos
Como estamos criando um descritor - ADAINV
Coloque o cursor no campo (Name of the field to be processed) tecle enter;
Vai aparecer os campos desta view - vamos marcar o campo AU
Required number of cyls. (minimum) .......... 12004
Temp file 297 temos 7000 cilindros disponivel - o campo AU vai ocupar 4016 cilindros (vai dar);
Discos Liberados
Primeiro disco;
Segundo disco;
Formatando
Este foi o JCL usado para formatar essas duas novas sorts;
Proc do Banco
Alterado a proc do banco para usar esses novos datasets;
ADAINV
Esse foi o invert que foi usado para criar o descritor;
Rodou ok, usou essa % de Sort/Temp
MEMBER=ADAINV05 000013 REC SAVE:31.07.2019 16:45 BY USERID DBA0155 R=00000001
DSN=AAB.DIBD.JCLS LIB=S3 VOL=PRL303 UNIT=1526
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAINV2 JOB (AAFA,DBA),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//* --------------------------------------------------------------
//* CRIAR UM DESCRITOR -- TEMP/SORT - 3000
//* --------------------------------------------------------------
//INVERT EXEC AAFAU010,TIME=1440
//DDCARD DD *
ADARUN PROG=ADAINV,DBID=010
//DDKARTE DD *
ADAINV INVERT FILE=297
ADAINV FIELD='AU'
ADAINV TEMPSIZE=3000,SORTSIZE=3000
/*
Ocorreu este erro - (SORT dataset too small - Dataset Sort muito pequeno)
1
A D A I N V V7.4 SM4 DBID = 00010 Started 2019-07-31 14:54:17
Parameters:
-----------
ADAINV INVERT FILE=297
ADAINV FIELD='AU'
ADAINV TEMPSIZE=3000,SORTSIZE=3000
A 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 2019-07-31 16:42:28
UQS0009 - END OF DATA SET.
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFAINV2,01451 DS=1 SI=SO LR=22 LL=80 PP=0 DC=
RL=999999 AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000
Checando o Tamanho de Sort Precisamos Formatar
Com o tamanho da maior sort deu erro vamos ter que formatar uma nova SORT, para descobrir quanto precisamos formatar para este campo no SYSAOS tem uma opção para descobrir;
07:29:54 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- Main Menu - PMAIN02
Code Basic Services Code Other Services
---- ---------------------- ---- ---------------------
A Session monitoring 1 Adabas Cache Facility
C Checkpoint maintenance 2 Delta Save Facility
F File maintenance 3 Trigger Maintenance
M Database maintenance 4 AOS Security
O Session opercoms 5 Transaction Manager
R Database report 6 Adabas Statistics
S Space calculation 7 Vista
? Help 8 Fastpath
. Exit 9 SAF Security
---- ---------------------- ---- ---------------------
Code ....... s
Database ... 012 (DB.D009.ADABAS)
Command ==>
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit
SORT escolhemos
07:32:25 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- Space Calculation - PSP0002
Code Service
---- --------------
A ASSO
D DATA
F DDFILEA
S SORT
T TEMP
W WORK
? Help
. Exit
---- --------------
Code .......... s
Database ID ... 012 (DB.P012.ADABAS)
Command ==>
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit Menu
Como estamos criando um descritor - ADAINV
07:35:55 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- SORT Storage - PSPS002
Code Service
---- -------------
I ADAINV
L ADALOD load
U ADALOD update
? Help
. Exit
---- -------------
Code ......... i
File Number .. 297
Database ID .. 012 (DB.P012.ADABAS)
Command ==>
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit Menu
Coloque o cursor no campo (Name of the field to be processed) tecle enter;
07:45:54 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- SORT Storage - ADAINV - - PSPSS02
File Number .................................. 297
Number of records ( Default: TOPISN ) ....... 98416436 (reduce number
Name of the field to be processed ........... if field is NU)
Average compressed descr. length (in Bytes)
of the biggest descriptor ....................
Occurences of periodic groups ................ 1
Occurences of multiple fields ................ 1
SORT device-type ............................. 8391
LWP-parameter ................................ 1000000
Database-ID .................................. 012
Password (if required) .......................
--------------------------------------------------------------------------
Required number of blocks (minimum) ..........
Required number of cyls. (minimum) ..........
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit Dis Field Menu
Vai aparecer os campos desta view - vamos marcar o campo AU
07:56:40 ***** A D A B A S +----------------------------------+ 08-01
- SORT Storag | | 02
| Please mark with 'X': |
| |
File Number ...................... | Field |
Number of records ( Default: TOPI | Selection Name Length | r
Name of the field to be processed | --------- ---- ------ | NU)
Average compressed descr. length ( | _ AN 25_ |
of the biggest descriptor ........ | _ AO 11_ |
Occurences of periodic groups .... | _ AP 8__ |
Occurences of multiple fields .... | _ AQ 50_ |
SORT device-type ................. | _ AR 12_ |
LWP-parameter .................... | _ AS 1__ |
Database-ID ...................... | x AU 8__ |
Password (if required) ........... | _ ___ |
----------------------------------- | _ ___ | -
Required number of blocks (minimum | _ ___ |
Required number of cyls. (minimum | _ ___ |
| _ ___ |
| |
| Enter----PF3------PF7-----PF8- |
PF1----- PF2------ PF3------ PF4--- | Back < > | --
Help Exit Dis Fi +----------------------------------+
Required number of cyls. (minimum) .......... 12004
07:55:30 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- SORT Storage - ADAINV - - PSPSS02
File Number .................................. 297
Number of records ( Default: TOPISN ) ....... 415087388 (reduce number
Name of the field to be processed ........... AU if field is NU)
Average compressed descr. length (in Bytes)
of the biggest descriptor .................... 8
Occurences of periodic groups ................ 1
Occurences of multiple fields ................ 1
SORT device-type ............................. 8391
LWP-parameter ................................ 1000000
Database-ID .................................. 010
Password (if required) .......................
--------------------------------------------------------------------------
Required number of blocks (minimum) .......... 540172
Required number of cyls. (minimum) .......... 12004
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit Dis Field Menu
Temp file 297 temos 7000 cilindros disponivel - o campo AU vai ocupar 4016 cilindros (vai dar);
09:07:10 ***** A D A B A S BASIC SERVICES ***** 2019-08-01
- TEMP Storage - ADAINV - - PSPTI02
File Number ................ 297
Field-Name to be inverted .. AU
Average descriptor-length .. 8 ( Default = Field-Length )
Max. Number of records ..... 415087388 ( Default = TOPISN )
Device Type ................ 8391
No. of records to delete ... ( ADALOD Delete only )
DBID ....................... 010 (DB.P010.ADABAS)
Password (if required) .....
----------------------------------------------------------------
Required TEMP-Blocks ...... 180689
Cylinder .... 4016
PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----
Help Exit Dis Field Menu
Discos Liberados
Primeiro disco;
L SPACE,ADW009
CYLS TRKS LARGE-CONT(CYL/TRK)
010016 000012 010016/000012
LIST OPERATION SUCCESSFUL
Segundo disco;
L SPACE,ADW010
CYLS TRKS LARGE-CONT(CYL/TRK)
010016 000012 010016/000012
LIST OPERATION SUCCESSFUL
Formatando
Este foi o JCL usado para formatar essas duas novas sorts;
MEMBER=ADAFRMSH 000025 REC SAVE:01.08.2019 08:08 BY USERID DBA0155 R=00000001
DSN=SGI.DBA.JCLS LIB=S5 VOL=PRL304 UNIT=1527
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAFRMS JOB (AAFA,DIBD),DBA,CLASS=S,MSGCLASS=X
//*UQ ALLOW
//* ---------------------------------------------------------------
//* FORMATA AREAS PARA O ADABAS - SORT
//* ADABAS.DBIDH H (HISTORICO) MODELO 9
//* ---------------------------------------------------------------
//FORMAT EXEC PGM=ADARUN
//* ---------------------------------------------------------------
//DDSORTR1 DD DISP=(NEW,CATLG),DSN=ADABAS.DBIDH.SORTR1, <===SORT1
// SPACE=(CYL,(10016)),UNIT=SYSDA,VOL=SER=ADW009,
// DSNTYPE=LARGE
//* --------------------------------------------------------------
//**DDSORTR2 DD DISP=(NEW,CATLG),DSN=ADABAS.DBIDH.SORTR2, <=== SORT2
//** SPACE=(CYL,(10016)),UNIT=SYSDA,VOL=SER=ADW010,
//** DSNTYPE=LARGE
//* ---------------------------------------------------------------
//SYSUDUMP DD SYSOUT=A
//DDDRUCK DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDCARD DD *
ADARUN PROG=ADAFRM,DBID=010
//DDKARTE DD *
ADAFRM SORTFRM SIZE=10016,DEVICE=8391,NUMBER=1
** ADAFRM SORTFRM SIZE=10016,DEVICE=8391,NUMBER=2
/*
Proc do Banco
Alterado a proc do banco para usar esses novos datasets;
MEMBER=AAFAU010 000017 REC SAVE:01.08.2019 08:07 BY USERID DBA0155 R=00000001
DSN=AAB.PROCLIB LIB=PP VOL=PRL303 UNIT=1526
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//* -------------------------------------------------------------------
//* PROCEDURE PARA UTILITARIOS BANCO DE HISTORICO
//* -------------------------------------------------------------------
//AAFAU010 EXEC PGM=ADARUN,REGION=0M
//STEPLIB DD DISP=SHR,DSN=ADA5.LOADLIB
//* -------------------------------------------------------------------
//DDASSOR1 DD DISP=SHR,DSN=ADABAS.DBID010.ASSO1 <===== ASSO
//DDDATAR1 DD DISP=SHR,DSN=ADABAS.DBID010.DATA1 <===== DATA
//DDWORKR1 DD DISP=SHR,DSN=ADABAS.DBID010.WORK1 <===== WORK
//DDTEMPR1 DD DISP=OLD,DSN=ADABAS.DBIDH.TEMPR1 <===== TEMP AREA
//DDSORTR1 DD DISP=OLD,DSN=ADABAS.DBIDH.SORTR1 <===== SORT AREA 1
//DDSORTR2 DD DISP=OLD,DSN=ADABAS.DBIDH.SORTR2 <===== SORT AREA 2
//SYSUDUMP DD SYSOUT=Z
//DDDRUCK DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDCARD DD DDNAME=DDCARD
//DDKARTE DD DDNAME=DDKARTE
ADAINV
Esse foi o invert que foi usado para criar o descritor;
MEMBER=ADAINV05 000014 REC SAVE:01.08.2019 08:19 BY USERID DBA0155 R=00000001
DSN=AAB.DIBD.JCLS LIB=S3 VOL=PRL303 UNIT=1526
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAINV2 JOB (AAFA,DBA),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD
//*UQ ALLOW
//* --------------------------------------------------------------
//* CRIAR UM DESCRITOR -- TEMP/SORT - 3000
//* TEMP 7000 / SORT1 10016 / SORT2 10016
//* --------------------------------------------------------------
//INVERT EXEC AAFAU010,TIME=1440
//DDCARD DD *
ADARUN PROG=ADAINV,DBID=010
//DDKARTE DD *
ADAINV INVERT FILE=297
ADAINV FIELD='AU'
ADAINV TEMPSIZE=7000,SORTSIZE=20032
/*
Rodou ok, usou essa % de Sort/Temp
File 297 (AAF-FISICO-297 ) successfully processed
Processing Statistics:
----------------------
121864 Blocks used on TEMP dataset (38%)
125991 Blocks used on SORT Part 1 (27%)
125474 Blocks used on SORT Part 2 (27%)
I Descriptor I NR of ISNS I
I------------I------------I
I AU I 224593834 I
I------------I------------I
0 comentários:
Enviar um comentário