If you ever come across a situation where you need to get rid of a profile from RACF but for some odd reason it’s proving to be a difficult task, you may relax; RACKILL utility is here for the rescue. The RACKILL utility allows you to unconditionally delete profiles in the RACF database.
This IBM utility consists of 2 parts:
- JCL to run the RACKILL utility (see JCL below or download file from IBM website here)
- Load module in TSO XMIT (transmit) format (download from IBM website here)
A few notes:
- The user running the RACKILL utility must have UPDATE authority to the resource RACKILL in the RACF FACILITY class.
- When uploading these two files into your mainframe z/OS environment, make sure you do it in fixed-blocked (FB) format and with a record length (LRECL) of 80.
- The Load module needs to be uploaded in binary format.
- You need to do a TSO RECEIVE of the load module before being able to use it!!
- If uploading the JCL, make sure you do it in ASCII format.
//DPFTCTST JOB (9999,CC7),FTC,CLASS=A,MSGCLASS=X //* //* UNCONDITIONALLY DELETE OF RACF PROFILES. //* //* REQUIRES UPDATE ACCESS TO FACILITY RACKILL RESOURCE. //* //* INPUT RECORDS WILL BE LOGGED IN GENERAL SMF RECORDS; EVQUAL=97. //* SMF RECORD TYPE IS 80. CAN BE LISTED BY RACFRW. //* //* PROFILES ARE IDENTIFIED BY CLASS, PROFILENAME AND POSSIBLY VOLUME //* FOR DISCRETE DATASET PROFILES. SET VOLUME TO BLANKS WHEN NO PROPER //* VALUE EXIST. //* //* TO ENABLE DELETE OF FULLY QUALIFIED GENERICS IN //* GENERAL RESOURCE CLASSES (WHICH ARE NOT OFFICIALLY SUPPORTED) SET //* AN 'U' INSTEAD OF THE BLANK BEFORE THE PROFILENAME. //* //* TO DELETE //* DISCRETE PROFILES, ACCIDENTALLY CREATED WITH GENERIC CHARACTERS, //* BUT BEFORE DOING SETROPTS GENCMD(CLASS), SET A 'D' BEFORE THE //* PROFILE NAME. //* //* TO DELETE A SINGLE VOLUME FROM A SET OF TAPEVOLUMES HAVE A BLANK //* BEFORE THE PROFILENAME. TO DELETE THE WHOLE SET OF TAPEVOLUMES, //* SET A 'A' BEFORE THE PROFILE NAME. //* //GO EXEC PGM=RACKILL //STEPLIB DD DISP=SHR,DSN=MVSGRP.TEST.APFLIB
- You need to get the RACKILL load module from IBM and upload it into your z/OS environment before being able to run the job above.