APAR status
INTRAN
Error description
This APAR contains information to aid DFSMShsm customers who have experienced the problem reported in Catalog APAR OW42558. . *************************************************************** * NOTE: These jobs are provided as-is with no warranty either * * expressed or implied. Users of SORT products other * * than IBM's DFSORT should consult their vendor for any * * assistance required to adapt the jobs for their use. * *************************************************************** . Step 1 ------ Save Journal Backup copies and SMF data (specifically DFSMShsm FSR records) spanning 12/31/1999 through the time that the fix for APAR OW42558 was installed. The following SORT jobs will use this information to determine which data sets were affected. . Step 2 ------ If you have not yet installed the fix for OW42558, issue: PATCH .MCVT.+53 BITS(0.......) Bypass RECYCLE of ML2 tapes until recovery actions are complete. . Step 3 ------ Analyze the MCDS for migrated, SMS-managed GDSs with a 99365 expiration date. This job will indicate how prevalent the use of never-expire dates for SMS-managed GDSs is. . //SORTGDGS JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUES: //* ?DFSMSHSM.MCDS - TO THE NAME OF YOUR MCDS //* ?USERID - TO YOUR USER ID //*********************************************************** //* THIS STEP USES THE DFSORT UTILITY TO IDENTIFY MIGRATED //* GENERATION DATA SETS HAVING A NEVER-EXPIRE DATE. THIS //* INFORMATION CAN BE USED TO ASSESS AN INSTALLATION'S //* EXPOSURE TO THE PROBLEM DESCRIBED IN APAR OW42558. //*********************************************************** //STEP1 EXEC PGM=SORT,REGION=4096K //SYSPRINT DD SYSOUT=H //MSGOUT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSN=&DFSMSHSM.MCDS,DISP=SHR //SORTOUT DD DSN=&USERID.GDS99365.SORTMCD,DISP=(NEW,CATLG), // DCB=(LRECL=255,BLKSIZE=20520,RECFM=VB), // SPACE=(CYL,(5,1),RLSE),UNIT=SYSDA //SYSIN DD * RECORD TYPE=V OPTION COPY,VLSHRT OUTFIL FNAMES=SORTOUT, INCLUDE=(51,1,BI,EQ,X'00',AND,(222,3,BI,EQ,X'99365F', OR,222,3,BI,EQ,X'99365C'),AND,75,1,BI,EQ,B'1.......', AND,402,1,BI,EQ,B'11......'), OUTREC=(1,48) /* . Step 4 ------ Determine which data sets were either partially or fully deleted prior to the installation of the fix for OW42558. The term PARTIAL DELETION is used to describe the condition in which DFSMShsm marks the MCD record for deletion by Secondary Space Management, but does not actually delete the migration copy or the MCDS records pertaining to the data set. Though the data set cannot be RECALLed in that state, access to the migration copy can be restored by modifying the MCD record and recreating the catalog entry, a procedure discussed in more detail later. Note that Secondary Space Management finds that the data sets are protected by a never-expire date and does not carry out the deletion, leaving the data sets in this state indefinitely. The term FULL DELETION describes the condition in which both the migration copy and the MCDS records for the data set were deleted at roll-off time. In this case, a more complicated recovery action will be required to restore access to the data set. The factor that determines whether a GDS exposed to the problem described in OW42558 is partially or fully deleted is the setting of the high-order bit at offset x'53' in the DFSMShsm MCVT control block. Partial deletion will occur if the high- order bit is off. Full deletion will occur if the high-order bit is on. . If the high-order bit at offset x'53' was OFF during the time your installation was exposed to the problem described in APAR OW42558, run the following SORT job to determine which data sets were partially deleted. . //SORTPART JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUES: //* ?DFSMSHSM.MCDS - TO THE NAME OF YOUR MCDS //* ?USERID - TO YOUR USER ID //*********************************************************** //* THIS STEP USES THE DFSORT UTILITY TO IDENTIFY AND FIX //* MCD RECORDS FOR SMS-MANAGED GENERATION DATA SETS THAT //* WERE PARTIALLY DELETED DURING ROLL-OFF. //*********************************************************** //STEP1 EXEC PGM=SORT,REGION=4096K //SYSPRINT DD SYSOUT=H //MSGOUT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSN=?DFSMSHSM.MCDS,DISP=SHR //SORTOUT DD DSN=?USERID.GDS99365.PARTDEL,DISP=(NEW,CATLG), // DCB=(LRECL=255,BLKSIZE=20520,RECFM=VB), // SPACE=(CYL,(5,1),RLSE),UNIT=SYSDA //SYSIN DD * RECORD TYPE=V OPTION COPY,VLSHRT OUTFIL FNAMES=SORTOUT, INCLUDE=(51,1,BI,EQ,X'00',AND,(222,3,BI,EQ,X'99365F', OR,222,3,BI,EQ,X'99365C'),AND,75,1,BI,EQ,B'0..1..1.', AND,402,1,BI,EQ,B'.1......'), OUTREC=(1,4,C'HSEND FIXCDS D ',5,44,C' PATCH(6 BITS(1..0..0.) /* . If the high-order bit at offset x'53' was ON during the time your installation was exposed to the problem described in APAR OW42558, run the following 4 SORT jobs to determine which GDSs were fully deleted. Once you have identified the affected data sets and the migration volume from which they were deleted, you will need to decide on the appropriate recovery action to be taken. If the data set was deleted from an ML2 tape, you can follow the procedure documented in Case 9 in the Managing Data Availability in a System-Managed Storage Environment manual to rebuild the deleted MCDS records and regain access to the data set. If the data set was deleted from an ML1 volume, you will need to RECOVER it from a backup copy, or restore the migration copy from a dump of the ML1 volume made prior to the deletion. . //SORTSMF JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUES: //* ?SYSTEM.Y99.SMF - TO THE NAME OF THE FILE THAT //* CONTAINS SMF RECORDS //* ?USERID - TO YOUR USER ID //* ?FSRID - TO THE HEX VALUE ASSIGNED TO //* FSR RECORDS (SETSYS SMF+1) //*********************************************************** //* THIS JOB USES THE DFSORT UTILITY TO IDENTIFY MIGRATED, //* SMS-MANAGED GENERATION DATA SETS THAT WERE DELETED BY //* DFSMSHSM. THE RESULTS OF THIS SORT MUST BE COMBINED //* WITH A SORT OF JOURNAL RECORDS TO DETERMINE WHICH OF //* THE DELETED GENERATION DATA SETS HAVE AN EXPIRATION //* DATE OF 99365. //*********************************************************** //STEP02 EXEC PGM=SORT,REGION=4096K //SYSPRINT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSNAME=?SYSTEM.Y99.SMF, // DISP=SHR //SORTOUT DD DSNAME=?USERID.SMF.SORTED.COUNTER, // UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,CATLG,DELETE), // DCB=(RECFM=VB,LRECL=80) //SYSIN DD * RECORD TYPE=V OPTION COPY,VLSHRT OUTFIL FNAMES=SORTOUT, INCLUDE=(6,1,BI,EQ,X'?FSRID',AND,43,1,BI,EQ,X'06', AND,180,1,BI,EQ,B'.....1..',AND,196,1,BI,GT,X'00'), OUTREC=(1,4,45,44,X'0001',C' ',99,6,C' SMF') /* . //SORTJRNL JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUES: //* ?DFSMSHSM.JRNL.BKUP - TO THE NAME OF YOUR JOURNAL //* BACKUP COPY //* ?USERID - TO YOUR USER ID //*********************************************************** //* THIS JOB USES THE DFSORT UTILITY TO IDENTIFY DATA SETS //* WITH A NEVER-EXPIRE DATE WHOSE MCD RECORD WAS DELETED. //* IT SHOULD BE RUN AGAINST ANY JOURNAL BACKUPS CREATED ON //* OR AFTER DECEMBER 31, 1999 UNTIL THE FIX FOR OW42558 WAS //* APPLIED. CONCATENATE MULTIPLE JOURNAL BACKUP DATA SETS //* UNDER THE SORTIN DD CARD TO COVER THIS TIME PERIOD. THE //* RESULTS OF THIS SORT MUST BE COMBINED WITH A SORT OF SMF //* RECORDS TO DETERMINE WHICH OF THE DELETED MCD RECORDS //* ARE FOR SMS-MANAGED GENERATION DATA SETS. //*********************************************************** //STEP02 EXEC PGM=SORT,REGION=4096K //SYSPRINT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSNAME=?DFSMSHSM.JRNL.BKUP, // DISP=SHR //SORTOUT DD DSNAME=?USERID.JRNL.SORTED.COUNTER, // UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,CATLG,DELETE), // DCB=(RECFM=VB,LRECL=80) //SYSIN DD * RECORD TYPE=V OPTION COPY,VLSHRT OUTFIL FNAMES=SORTOUT, INCLUDE=(63,1,BI,EQ,X'00',AND,(234,3,BI,EQ,X'99365F', OR,234,3,BI,EQ,X'99365C'),AND,7,1,BI,EQ,X'10'), OUTREC=(1,4,17,44,X'0001',C' ',81,6,C' JRNL') /* . //SUMGDGS JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUE: //* ?USERID - TO YOUR USER ID //*********************************************************** //* THIS JOB USES THE DFSORT UTILITY TO SUM A COUNTER FIELD //* IN THE FILES CREATED BY THE SORTSMF AND SORTJRNL JOBS. //* THIS SUM WILL BE USED TO IDENTIFY WHICH DATA SET NAMES //* APPEAR IN BOTH FILES. //*********************************************************** //STEP02 EXEC PGM=SORT,REGION=4096K //SYSPRINT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSNAME=?USERID.JRNL.SORTED.COUNTER, // DISP=SHR // DD DSNAME=?USERID.SMF.SORTED.COUNTER, // DISP=SHR //SORTOUT DD DSNAME=?USERID.GDS99365.SUMGDGS, // UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,CATLG,DELETE), // DCB=(RECFM=VB,LRECL=80) //SYSIN DD * RECORD TYPE=V SORT FIELDS=(5,44,BI,A) SUM FIELDS=(49,2,BI) /* . //SORTFULL JOB //*********************************************************** //* PLEASE CHANGE THE FOLLOWING TO THE APPROPRIATE VALUES: //* ?USERID - TO YOUR USER ID //*********************************************************** //* THIS JOB USES THE DFSORT UTILITY TO IDENTIFY WHICH //* SMS-MANAGED GENERATION DATA SETS WERE FULLY DELETED //* DURING ROLL-OFF PROCESSING. THESE DATA SETS ARE FOUND //* IN BOTH THE SMF AND JOURNAL SORT OUTPUT FILES. //*********************************************************** //STEP02 EXEC PGM=SORT //SYSPRINT DD SYSOUT=H //SYSOUT DD SYSOUT=H //SORKWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORKWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SORTIN DD DSNAME=?USERID.GDS99365.SUMGDGS, // DISP=SHR //SORTOUT DD DSNAME=?USERID.GDS99365.FULLDEL, // UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,CATLG,DELETE), // DCB=(RECFM=VB,LRECL=80) //SYSIN DD * RECORD TYPE=V SORT FIELDS=COPY INCLUDE COND=(49,2,BI,EQ,X'0002') OUTREC FIELDS=(1,48,C' ',52,6) /* . Step 5 ------ Before you can attempt to RECALL the partially or fully deleted GDS, you must recatalog it to MIGRAT. Since the GDG with which it was formerly associated is likely at its LIMIT, the act of creating a catalog entry for the deleted GDS can cause another generation to roll-off. To avoid this, perform the following steps: 1) Increase the GDG limit by 1 for each generation that was uncataloged during roll-off. For example, if the GDG limit is 30 and two generations were uncataloged, issue: ALTER gdgbase LIMIT(32) 2) Recatalog the generation(s) belong to that GDG that were uncataloged during roll-off. DEFINE NONVSAM(NAME(gdsname) VOLUME(MIGRAT) DEVICE(d/t)) 3) Restore the previous GDG base LIMIT value. This will cause the GDS recatloged in the previous step to roll-off, which is the proper state for it to be in. Following our earlier example: ALTER gdgbase LIMIT(30) If the GDG is already at the maximum limit of 255 generations, you don't have an easy way to prevent the roll-out of another generation when the DEFINE NONVSAM is issued for the ones that were uncataloged at roll-off. Instead, simply note which generations were forced out and issue an ALTER ROLLIN for them. This will restore all the generations to their correct place relative to the GDG base.
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
II12207
Reported component name
V2 LIB INFO ITE
Reported component ID
INFOV2LIB
Reported release
001
Status
INTRAN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2000-01-07
Closed date
Last modified date
2000-01-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
10 January 2000