Um analista tentou rodar um find em um arquivo muito grande e deu a mensagem NAT3074 - Não tem espaço no Dataset Work - o usuário disse que tinha que rodar este programa de qualquer jeito, a alternativa foi criar um novo dataset de Work maior para o banco - é um passo rápido e tranquilo de fazer;
SYSAOS
O banco em questão tem 200 cilindros de Work:
Como redimensionar o dataset Work
Como o dataset de WORK contém informações pertinentes a uma determinada sessão de núcleo;
A partir dos manuais.
1 - Crie o novo dataset Work com o número correto de cilindros.
2 - ADAFRM é o utilitário que formata uma nova Work. Por exemplo: ADAFRM WORKFRM SIZE=3000,DEVICE=8393
3 - Shutdown o banco de dados (Nota a função ADADEF NEWWORK não pode ser executada se existe um autorestart pendente);
4 - Execute ADADEF NEWWORK. NOTA: A antiga Work deve ser especificada neste no JCL (ou alocar uma obra fictícia do mesmo tamanho e tipo de dispositivo, formatado). ADADEF atualiza GCB do Associator com o novo tamanho e tipo de dispositivo. Por exemplo: ADADEF Newwork WORKSIZE = 3000, WORKDEV = 8393
5 - Atualize na proc do banco o novo dataset de Work;
6 - Coloque no ar o banco de dados;
Passo a Passo 1
Tirando o banco do ar
Passo a Passo 2
Formatando a nova work
Passo a Passo 3
Rodando o ADADEF para alterar internamente dentro do banco o tamanho da work do banco
Passo a Passo 4
Vamos renomear a area, deixando a NOVA como Work e a Work antiga ficando como OLD, vamos colocar o novo dataset da WORK
Passo a Passo 5
Colocando o banco no ar
Banco online - ok - não tem nenhuma mensagem de erro no log do banco;
NAT3074 No space on WORK dataset for complex FIND commands.DB/FNR 047/86
> > + Program DBA001 Lib DETRAN
All ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
E 0010 FIND NUMBER BRID-CODIGO-CONTROLE-ANT BRID-COD-TRANSACAO NE 0
0020 WRITE *NUMBER
0030 END
0040
SYSAOS
O banco em questão tem 200 cilindros de Work:
13:44:15 ***** A D A B A S BASIC SERVICES ***** 2021-02-12
DBID 042 - Display General DB-Layout - PDRG002
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 26999988 150000 I 1 26999988 I DDASSOR1 I
I I I I I
DATA I 8391 I 26309995 350800 I 1 26309995 I DDDATAR1 I
I I I I I
WORK I 8391 I 11996 200 I 1 11996 I DDWORKR1 I
Como redimensionar o dataset Work
Como o dataset de WORK contém informações pertinentes a uma determinada sessão de núcleo;
A partir dos manuais.
1 - Crie o novo dataset Work com o número correto de cilindros.
2 - ADAFRM é o utilitário que formata uma nova Work. Por exemplo: ADAFRM WORKFRM SIZE=3000,DEVICE=8393
3 - Shutdown o banco de dados (Nota a função ADADEF NEWWORK não pode ser executada se existe um autorestart pendente);
4 - Execute ADADEF NEWWORK. NOTA: A antiga Work deve ser especificada neste no JCL (ou alocar uma obra fictícia do mesmo tamanho e tipo de dispositivo, formatado). ADADEF atualiza GCB do Associator com o novo tamanho e tipo de dispositivo. Por exemplo: ADADEF Newwork WORKSIZE = 3000, WORKDEV = 8393
5 - Atualize na proc do banco o novo dataset de Work;
6 - Coloque no ar o banco de dados;
Passo a Passo 1
Tirando o banco do ar
k f aafai047,adaend
JOB NUMBER Q J O SYST DEST PRI ST LINES FORM FCB FLASH
AAFAI047 S.09687 *X - CPAC 15 0
... 34 PERCENT SPOOL UTILIZATION.
Passo a Passo 2
Formatando a nova work
MEMBER=ADAFWORB 000019 REC SAVE:12.02.2021 15:33 BY USERID DBA010 R=00000001
DSN=AAB.DIBD.JCLS LIB=S3 VOL=PRL303 UNIT=1526
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFAFRMS JOB (AAFA,DIBD),DBA,CLASS=S,MSGCLASS=X
//*UQ ALLOW
//* ------------------------------------------------------------
//* DEFINE AREA DE WORK
//* ------------------------------------------------------------
//FORMAT EXEC PGM=ADARUN
//STEPLIB DD DSN=ADA5.LOADLIB,DISP=SHR
//* ------------------------------------------------------------
//DDWORKR1 DD DISP=(NEW,CATLG),DSN=ADABAS.DBID047.WORK1.NOVA,
// SPACE=(CYL,(0,750)),UNIT=SYSDA,VOL=SER=ADW005
//* ------------------------------------------------------------
//SYSUDUMP DD SYSOUT=A
//DDDRUCK DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDCARD DD *
ADARUN PROG=ADAFRM,DBID=047
//DDKARTE DD *
ADAFRM WORKFRM SIZE=750,DEVICE=8391
/*
Passo a Passo 3
Rodando o ADADEF para alterar internamente dentro do banco o tamanho da work do banco
MEMBER=ADADEFZ 000012 REC SAVE:12.02.2021 15:24 BY USERID DBA010 R=00000001
DSN=AAB.DIBD.JCLS LIB=S3 VOL=PRL303 UNIT=1526
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFADEF JOB (AAFA,DIBD),CLAU,CLASS=S,MSGCLASS=A TUPRUN=HOLD
//*UQ ACCOUNT AABS
//* ----------------------------------------------------------
//* ADADEF NEWWORK
//* ATUALIZA GCB DO ASSO COM O TAMANHO DA NOVA WORK
//* ----------------------------------------------------------
//DEF EXEC AAFAU047
//DDCARD DD *
ADARUN PROG=ADADEF,MODE=SINGLE,DBID=047
//DDKARTE DD *
ADADEF NEWWORK WORKSIZE=750,WORKDEV=8391
/*
Passo a Passo 4
Vamos renomear a area, deixando a NOVA como Work e a Work antiga ficando como OLD, vamos colocar o novo dataset da WORK
============================== ===============================
FORMATADA RENOMEADA
============================== ===============================
DSN=ADABAS.DBID047.WORK1 - DSN=ADABAS.DBID047.WORK1.OLD
DSN=ADABAS.DBID047.WORK1.NOVA - DSN=ADABAS.DBID047.WORK1
Passo a Passo 5
Colocando o banco no ar
s aafai047
JOB NUMBER Q J O SYST DEST PRI ST LINES FORM FCB FLASH
AAFAI047 S.09687 O B A 7 H 1.387 STD
AAFAI046 S.09289 *X - CPAC 15 0
... 34 PERCENT SPOOL UTILIZATION.
Banco online - ok - não tem nenhuma mensagem de erro no log do banco;
1 J E S 2 J O B L O G -- S Y S T E M C P A C -- N O
0
00.13.36 STC04199 ---- FRIDAY, 22 AUG 2014 ----
00.13.36 STC04199 IEF695I START AAFAI047 WITH JOBNAME AAFAI047 IS ASSIGNED TO
00.13.36 STC04199 $HASP373 AAFAI047 STARTED
00.13.36 STC04199 IEF403I AAFAI047 - STARTED - TIME=00.13.36
00.13.37 STC04199 ADAN02 00047 Nucleus run without protection log
00.13.37 STC04199 ADAL01 00047 2014-08-22 00:13:35 CLOG not active
00.13.37 STC04199 ADAN03 00047 ADABAS coming up
00.13.37 STC04199 ADAN19 00047 Buffer flush is a s y n c h r o n o u s
00.13.37 STC04199 ADAN01 00047 A D A B A S V7.4.4 is active
00.13.37 STC04199 ADAN01 00047 MODE = MULTI
00.13.37 STC04199 ADAN01 00047 Running without recovery log
UQS0009 - END OF DATA SET.
0 comentários:
Enviar um comentário