RSH Consulting - RACF Performance Tuning - SHARE
RSH Consulting - RACF Performance Tuning - SHARE
• www.linkedin.com/in/roberthansel
• www.rshconsulting.com
RACF and z/OS are Trademarks of the International Business Machines Corporation
No Action
Yes
No
Not
Auth
USERID in Access List - Requested Allowed Access Yes 0
Not Listed
Not
Auth
Group(s) in Access List - Requested Allowed Access Yes 0
Not Listed
Not
Auth
ID(*) in Access List - Requested Allowed Access Yes 0
Not Listed
Sample entries
DATASET &RACUID.*.** ALTER
DATASET &RACGPID.*.** UPDATE (avoid ‐ unintended access)
DATASET CATALOG.MASTER READ
DATASET CATALOG.USER UPDATE
DATASET ISPF.LIBRARY READ
DATASET SDSF.LIBRARY READ
DATASET SYS1.BRODCAST READ
DATASET SYS1.HELP READ
DATASET SYS1.MACLIB READ
DATASET SYS1.RACF NONE (precludes access)
DATASET SYS%.** READ (avoid ‐ too broad)
DATASET *.PUBLIC.** READ (optionally allow TSO users to share data)
DATASET *.**.#SMSTEST ALTER (optional catalog/SMS testing)
FACILITY ERBDSB.* READ
FACILITY IEC.TAPERING READ (probably obsolete)
FACILITY STGADMIN.ARC.ENDUSER.** READ
JESJOBS SUBMIT.*.&RACUID*.&RACUID READ
JESJOBS CANCEL.*.&RACUID.* ALTER (not needed ‐ post RTOKEN check)
JESSPOOL *.&RACUID.** ALTER
JESSPOOL *.*.$JESNEWS.** READ
MQQUEUE MQS*.ISF.USER.&RACUID.** ALTER (probable SDSF manual error)
OPERCMDS MVS.CANCEL.TSU.&RACUID UPDATE
OPERCMDS MVS.DISPLAY.* READ
OPERCMDS MVS.MCSOPER.&RACUID READ
SDSF ISFCMD.DSP.option.* READ (option: ACTIVE, HELD, OUTPUT)
TSOAUTH JCL READ
TSOAUTH RECOVER READ
Drawbacks
• Precludes logging (except SETR AUDIT(class) resource defines)
• Undermines protection if allows more access than profile UACCs
L-2 L-2
RACF maintains buffers in ECSA to hold copies of most recently used blocks
(index, BAM, and profiles)
Frequently used blocks tend to stay in these buffers
Desired number of resident blocks is specified in the Database Name Table ‐
ICHRDSNT
AL1(1) Number of databases
CL44’RACF.PRIMARY’ Primary DB name
CL44’RACF.BACKUP’ Backup DB name Resource
AL1(100) # of Resident Data Blocks Managers
XL1’xx’ Flags
RACROUTE
Default/minimum number of blocks
ECSA
10 / 0 Non‐RACF‐Sysplex (none for backup database)
BUFFERS
50 / 50 RACF‐Sysplex (+ additional 20% for backup database)
4k Blocks
Maximum number ‐ 255 (recommended)
Upon first access to a resource class or HLQ, a SYS1 JESJOBS PROD SYS3
list of all the associated generic profiles is
retrieved and loaded into memory Generic Generic Generic Generic
Profiles Profiles Profiles Profiles
Individual generic profiles are retrieved as
needed for authorization checking and retained
Copy Profiles
in memory thereafter
Once all sets of generic profiles are filled, when the next new resource class or HLQ is
accessed, the set with the least recently used profiles is dropped and replaced with
the new one
• Users accessing many different HLQs and/or general resources could experience thrashing
(i.e. constant replacement) among the sets
Dataset HLQs or general resources classes with many generic profiles take more I/O
and CPU time to retrieve and load
Log judiciously
• SETROPTS LOGOPTIONS(ALWAYS(class) | SUCCESSES(class))
• SETROPTS OPERAUDIT
• Resource AUDIT(ALL | SUCCESSES(level))
• Resource GLOBALAUDIT(ALL | SUCCESSES(level))
• User UAUDIT
Mapping required when corresponding identity must be determined (e.g., Unix 'ls'
command ‐ display RACF USERID and Group for Unix Owner uid and Group gid)
Options to avoid searching all user and group OMVS segments for each look‐up
request
• UNIXMAP Class
Contains profiles in the form Unnn and Gnnn, where 'nnn' is a uid or gid
Users and groups are 'permitted' access to signify uid and gid assignment
Profiles are automatically maintained when OMVS segments are created or altered via RACF commands
Class must be activated to be used for mapping
• Application Identity Mapping (AIM)
Restructured database with mapping index structure
Implemented using IRRIRA00 utility
Replaces UNIXMAP profiles
Enables use of UID(nnn) and GID(nnn) on SEARCH command
Required to use newest features to replace the Unix Default User
Group tree
• Used to determine scope‐of‐groups for Group‐level authorities
SPECIAL OPERATIONS AUDITOR
• Caching avoids repeated retrieval of group profiles and tree reconstruction
• Implement only if group authority is used extensively
• PARMLIB(COFVLFxx) entry
CLASS NAME(IRRGTS)
EMAJ(GTS)
Contention issue ‐ low priority TSO user or batch job gets swapped out while
still holding an enqueue on SYSZRACF or a hardware RESERVE on the RACF
database volume, and thereby holds up other address spaces and systems
waiting on RACF
Avoid use of commands and utilities that are I/O or processing intensive
during peak system activity periods
LD ID(), PREFIX(), or DSNS
SR NOMASK, AGE, USER, or WARNING
LU * LG * RL class *
ICHDSM00 IRRDBU00 BLKUPD
IRRUT100 IRRUT200 IRRUT400
SETROPTS GENERIC(class) REFRESH [especially DATASET]
SETROPTS RACLIST(class) REFRESH [classes with many profiles]
Large batches of commands ‐ especially CONNECTs & REMOVEs