View previous topic :: View next topic
|
Author |
Message |
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Hi Expert,
I have a dataset but somehow the cluster has gone missing. I try to delete
dataset using VVR but encountered error
IDC3009I ** VSAM CATALOG RETURN CODE IS 90 - REASON CODE IS IGG0CLFP-46
My datasets: SYS3.CDZ.NETMAP.DATA
SYS3.CDZ.NETMAP.DATA
JCL to delete:
//DELETVVR JOB ((7000)),'SYSPROG',CLASS=A,MSGLEVEL=(1,1),
// MSGCLASS=X,REGION=0M,NOTIFY=&SYSUID
//*
//*
//DELETE EXEC PGM=IDCAMS,REGION=0M
//SYSPRINT DD SYSOUT=*
//DYSK DD DISP=OLD,VOL=SER=GURES4,UNIT=3390
//SYSIN DD *
DEL SYS3.CDZ.NETMAP.DATA VVR FILE(DYSK)
DEL SYS3.CDZ.NETMAP.INDEX VVR FILE(DYSK)
Anyone can assist? Thanks |
|
Back to top |
|
|
Doug Lamb
New User
Joined: 27 Jul 2019 Posts: 4 Location: USA
|
|
|
|
Hi netcrawler,
That IDC message indicates that you need to add the CAT(master.catalog.name) parameter to your DELETE statements. However, if the master contained an alias for SYS3 pointing to a user catalog, then possibly the reason your cluster is missing is that he SYS3 alias was deleted and the cluster name is still in a user catalog. It's best to check these items before deleting the components of the VSAM cluster. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 734 Location: Denmark
|
|
|
|
I would recommend trying to recatalog the cluster. |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Doug Lamb wrote: |
Hi netcrawler,
That IDC message indicates that you need to add the CAT(master.catalog.name) parameter to your DELETE statements. However, if the master contained an alias for SYS3 pointing to a user catalog, then possibly the reason your cluster is missing is that he SYS3 alias was deleted and the cluster name is still in a user catalog. It's best to check these items before deleting the components of the VSAM cluster. |
Thanks Doug for reply. How do I add catalog into the my JCL? Where to put master.catalog.name? |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Willy Jensen wrote: |
I would recommend trying to recatalog the cluster. |
Thanks for reply. I tried to recatalog but still failed. Dunno my JCL is correct
for recatalog as below
Code: |
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEF CLUSTER (NAME(SYS3.CDZ.NETMAP) -
VOL(GURES4) RECATALOG) -
DATA(NAME(SYS3.CDZ.NETMAP.DATA) -
INDEX(NAME(SYS3.CDZ.NETMAP.INDEX)) |
|
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
Without your failure messages how do you expect anyone to be able to help you?
Please use the code tags to present you code/data instead of changing font colours. Code tags preserve multiple spaces so that we can see more exactly what you submitted and what the system returned in way of messages. |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Nic Clouston wrote: |
Without your failure messages how do you expect anyone to be able to help you?
Please use the code tags to present you code/data instead of changing font colours. Code tags preserve multiple spaces so that we can see more exactly what you submitted and what the system returned in way of messages. |
Well, the error message when I tried to recatalog:
Code: |
IDCAMS SYSTEM SERVICES TIME: 16:41:5
DEF CLUSTER (NAME(SYS3.CDZ.NETMAP) -
VOL(GURES4) RECATALOG) -
DATA(NAME(SYS3.CDZ.NETMAP.DATA)) -
INDEX(NAME(SYS3.CDZ.NETMAP.INDEX))
IDC3014I CATALOG ERROR
IDC3009I ** VSAM CATALOG RETURN CODE IS 50 - REASON CODE IS IGG0CLE4-88
IDC3003I FUNCTION TERMINATED. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12 |
Coded for you |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
[quote="netcrawler"]
Willy Jensen wrote: |
I would recommend trying to recatalog the cluster. |
Thanks for reply. I tried to recatalog but still failed. Dunno my JCL is correct
for recatalog as below
Code: |
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEF CLUSTER (NAME(SYS3.CDZ.NETMAP) -
VOL(GURES4) RECATALOG) -
DATA(NAME(SYS3.CDZ.NETMAP.DATA)) -
INDEX(NAME(SYS3.CDZ.NETMAP.INDEX)) |
Coded for you |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
If you continue to use colour tags instead of code tags for whatever appears on your screen then the topic will be locked. Colour tags do not maintain the correct format of the data. This can be vital.
Example:
//STEP EXEC PGM=SORT
//SYSIN
SORT....
Code: |
//STEP EXEC PGM=SORT
//SYSIN
SORT.... |
both use exactly the same source but colour removes 'redundant' spaces thus making it look as though the SORT statement starts in cc1 whereas it actually starts in cc2.
This is why you use code tags not colour tags to represent fixed font stuff and anything with fields that are multi-space. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 734 Location: Denmark
|
|
|
|
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
Code: |
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP |
Scan the output for your names. |
|
Back to top |
|
|
Doug Lamb
New User
Joined: 27 Jul 2019 Posts: 4 Location: USA
|
|
|
|
There's several pieces of information missing from your original question, so I'll make the following assumptions:
1) The cluster was a KSDS, therefore it had both a DATA and INDEX component
2) Both the DATA and INDEX were on the same volume: GURES4
3) Files named SYS3.** are cataloged in the master catalog
4) The DATA and INDEX components are intact - i.e. no part of the catalog structure, including the VTOC and VVDS on volume GURES4 is corrupted.
5) The cluster name is SYS3.CDZ.NETMAP
With these assumptions, you should be able to run a job with PGM=IDCAMS and the following in the SYSIN.
Code: |
DEFINE CLUSTER( -
NAME(SYS3.CDZ.NETMAP) -
VOLUME(GURES4) -
RECATALOG) |
The VVDS print step that Willy listed above would tell you both the cluster name and catalog where it was, or still is, cataloged.
Also, if you run the DEFINE CLUSTER ... RECATALOG on an LPAR that does not have the same master catalog (or alias pointing to the same user catalog) where the cluster was originally cataloged, then it will fail. For example, if SYS3.CDZ.NETMAP was created on LPA in master catalog MASTER.LPA and you run the DEFINE ... RECATALOG on LPB which has a master catalog named MASTER.LPB, then the job will fail because the VVR entries on GURES4 point back to MASTER.LPA.
Another job that may help once you know where the cluster and it's components were cataloged would be an IDCAMS step like this:
Code: |
//DIAGNOS EXEC PGM=IDCAMS,REGION=4M
//SYSPRINT DD SYSOUT=*
//DD00 DD DSN=SYS1.VVDS.VGURES4,DISP=SHR,UNIT=3390,VOL=SER=GURES4
//SYSIN DD *
DIAGNOSE VVDS INFILE(DD00) -
COMPAREDS(catalog.name.from.print.vvds.output) |
Regards,
Doug |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Willy Jensen wrote: |
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
Code: |
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP |
Scan the output for your names. |
Use your JCL but jobs ended
IDCAMS SYSTEM SERVICES TIME: 19
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP
IDC3211I KEYWORD 'OUTFILE=' IS IMPROPER
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12 |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
netcrawler wrote: |
Willy Jensen wrote: |
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
Code: |
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP |
Scan the output for your names. |
Use your JCL but jobs ended
IDCAMS SYSTEM SERVICES TIME: 19
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP
IDC3211I KEYWORD 'OUTFILE=' IS IMPROPER
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12 |
My JCL:
//C002543T JOB T2,'XXXXXXX',CLASS=A,MSGCLASS=X,
// REGION=0M,NOTIFY=&SYSUID,TIME=1440
//* NO CHANGE TO THIS, USE THIS JOBCARD AS IT IS.
//* LEAVE FIRST 4 CHARACTERS OF JOBNAME AS XXXX
//* THIS WILL BE CONVERTED TO YOUR USERID ON SUBMISSION.
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=SYS3.CDZ.NETMAP.DATA,
// UNIT=3390,DISP=SHR,VOL=SER=GURES4
//SYSIN DD *
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
[quote="netcrawler"]
netcrawler wrote: |
Willy Jensen wrote: |
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP [/code]
Scan the output for your names. |
Use your JCL but jobs ended
IDCAMS SYSTEM SERVICES TIME: 19
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP
IDC3211I KEYWORD 'OUTFILE=' IS IMPROPER
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
My JCL:
//C002543T JOB T2,'XXXXXXX',CLASS=A,MSGCLASS=X,
// REGION=0M,NOTIFY=&SYSUID,TIME=1440
//* NO CHANGE TO THIS, USE THIS JOBCARD AS IT IS.
//* LEAVE FIRST 4 CHARACTERS OF JOBNAME AS XXXX
//* THIS WILL BE CONVERTED TO YOUR USERID ON SUBMISSION.
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=SYS3.CDZ.NETMAP,
// UNIT=3390,DISP=SHR,VOL=SER=GURES4
//SYSIN DD *
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP |
|
|
Back to top |
|
|
Doug Lamb
New User
Joined: 27 Jul 2019 Posts: 4 Location: USA
|
|
|
|
Two problems jump out at me with your JCL:
1. You're running the PRINT statement against SYS3.CDZ.NETMAP and, instead, it should be the VVDS file on volume GURES4 - default name would be SYS1.VVDS.VGURES4.
2. You have OUTFILE=(SYSPRINT) and that is causing the IDC3211I error - take the '=' out from between OUTFILE and (SYSPRINT). |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Willy Jensen wrote: |
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
Code: |
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP |
Scan the output for your names. |
Managed to run the job and completed successfully. Getting this in printout
and will try to catalog:
*...../....<Z......SYS3.CDZ.NETMA*
*P.DATA..SYS3.CDZ.NETMAP..UCAT.DV*
*PR01.SYS3.CDZ.NETMAP.... .......*
*.............(Z......SYS3.CDZ.NE*
*TMAP.INDEX..SYS3.CDZ.NETMAP..UCA*
*T.DVPR01.SYS3.CDZ.NETMAP........* |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
netcrawler wrote: |
Willy Jensen wrote: |
The only difference I have in one of my samples is that I have the CAT(catalog) parameter as well.
You can check if you actually have the data/index information in the VVDS and get the catalog name by printing the VVDS like so:
Code: |
//VP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//VVDS DD DSN=SYS1.VVDS.Vvolser,UNIT=3390,VOL=SER=volser,DISP=SHR
PRINT INFILE(VVDS) OUTFILE(SYSPRINT) DUMP |
Scan the output for your names. |
Use your JCL but jobs ended
IDCAMS SYSTEM SERVICES TIME: 19
PRINT INFILE(DD1) OUTFILE=(SYSPRINT) DUMP
IDC3211I KEYWORD 'OUTFILE=' IS IMPROPER
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12 |
try to recatolog but job failed with return code 12. No sure if my JCL was correct? Maybe missing some parameter to recatalog:
IDCAMS SYSTEM SERVICES TIME: 1
DEFINE CLUSTER (-
NAME(SYS3.CDZ.NETMAP) -
VOLUME(GURES4) -
RECATALOG)
IDC3014I CATALOG ERROR
IDC3009I ** VSAM CATALOG RETURN CODE IS 50 - REASON CODE IS IGG0CLE4-88
IDC3003I FUNCTION TERMINATED. CONDITION CODE IS 12
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
My JCL as follows(might be missing some parameters):
//DEFCAT00 JOB ((7000)),'SYSPROG',CLASS=3,MSGLEVEL=(1,1),
// MSGCLASS=X,REGION=6M,NOTIFY=&SYSUID
//*
//* DEFINE UCAT
//*
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER (-
NAME(SYS3.CDZ.NETMAP) -
VOLUME(GURES4) -
RECATALOG)
/* |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Doug Lamb wrote: |
There's several pieces of information missing from your original question, so I'll make the following assumptions:
1) The cluster was a KSDS, therefore it had both a DATA and INDEX component
2) Both the DATA and INDEX were on the same volume: GURES4
3) Files named SYS3.** are cataloged in the master catalog
4) The DATA and INDEX components are intact - i.e. no part of the catalog structure, including the VTOC and VVDS on volume GURES4 is corrupted.
5) The cluster name is SYS3.CDZ.NETMAP
With these assumptions, you should be able to run a job with PGM=IDCAMS and the following in the SYSIN.
Code: |
DEFINE CLUSTER( -
NAME(SYS3.CDZ.NETMAP) -
VOLUME(GURES4) -
RECATALOG) |
The VVDS print step that Willy listed above would tell you both the cluster name and catalog where it was, or still is, cataloged.
Also, if you run the DEFINE CLUSTER ... RECATALOG on an LPAR that does not have the same master catalog (or alias pointing to the same user catalog) where the cluster was originally cataloged, then it will fail. For example, if SYS3.CDZ.NETMAP was created on LPA in master catalog MASTER.LPA and you run the DEFINE ... RECATALOG on LPB which has a master catalog named MASTER.LPB, then the job will fail because the VVR entries on GURES4 point back to MASTER.LPA.
Another job that may help once you know where the cluster and it's components were cataloged would be an IDCAMS step like this:
Code: |
//DIAGNOS EXEC PGM=IDCAMS,REGION=4M
//SYSPRINT DD SYSOUT=*
//DD00 DD DSN=SYS1.VVDS.VGURES4,DISP=SHR,UNIT=3390,VOL=SER=GURES4
//SYSIN DD *
DIAGNOSE VVDS INFILE(DD00) -
COMPAREDS(catalog.name.from.print.vvds.output) |
Regards,
Doug |
When I performed the diagnose for UCAT.DVPR01 getting all these messages:
IDCAMS SYSTEM SERVICES TIME: 18:4
DIAGNOSE VVDS INFILE(DD1) -
COMPAREDS(UCAT.DVPR01)
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED
IKJ56228I DATA SET UCAT.DVPR01 NOT IN CATALOG OR CATALOG CAN NOT BE
IKJ56228I ACCESSED |
|
Back to top |
|
|
Doug Lamb
New User
Joined: 27 Jul 2019 Posts: 4 Location: USA
|
|
|
|
From the piece of the PRINT VVDS you listed, I think the entries are okay and you should be able to recatalog the cluster.
At this point, my questions would be:
1. Does UCAT.DVPR01 still exist
2. Where are SYS3.** cataloged - a user cat or master - and did that change?
If UCAT.DVPR01 still exists and there's a SYS3 alias in the master catalog on the system where you are running your job and it's pointing to UCAT.DVPR01, then I think that security may be stopping you ... not sure if the ICH408I's would show up in the RECATALOG job or just in the system log.
I would suggest you enlist the assistance of your local z/OS Storage Admin or Systems Programmer to debug the catalog structure and securty to answer these questions. |
|
Back to top |
|
|
netcrawler
New User
Joined: 31 Mar 2008 Posts: 29 Location: Kuala Lumpur
|
|
|
|
Doug Lamb wrote: |
From the piece of the PRINT VVDS you listed, I think the entries are okay and you should be able to recatalog the cluster.
At this point, my questions would be:
1. Does UCAT.DVPR01 still exist
2. Where are SYS3.** cataloged - a user cat or master - and did that change?
If UCAT.DVPR01 still exists and there's a SYS3 alias in the master catalog on the system where you are running your job and it's pointing to UCAT.DVPR01, then I think that security may be stopping you ... not sure if the ICH408I's would show up in the RECATALOG job or just in the system log.
I would suggest you enlist the assistance of your local z/OS Storage Admin or Systems Programmer to debug the catalog structure and securty to answer these questions. |
Thanks all especially Doug and Willy. Manage to delete the files and recreate it. Have a nice day! |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
It would be useful if you could provide the final solution. |
|
Back to top |
|
|
|