I used ADCD supplied version of z/OS, and needed to change which data set I used, so it could be used on z/OS 3.1 or earlier (but not both at the same time).
What options are active?
You can use the operator command
#rvary
where # is the RACF subsystem character (defined in INITPARM(‘#’) in the IEFSSN definition for RACF).
Before z/OS 2.3
You had to define RACF data set parameters using a load module.
- The databases are defined in a module ICHRDSNT.
- If you use SDSF and issue the LOAD ICHRDSNT command, it will display the data.
- The source is in ADCD.LIB.JCL(ICHRDSNT).
- If you want to change it, you need to generate the module, and REIPL
Parmlib definitions
In z/OS 2.3 and later you can specify parameters in the parmlib concatenation.
In your IEASYS member you can specify RACF=(xx,yy,zz) and specify up to three parameters. These parameters take precedence over the ICHRDSNT table. I specified RACF=(00)
My equivalent definition in USER.Z25D.PARMLIB(IRRPRM00) is
DATABASE_OPTIONS
DATASETNAMETABLE
ENTRY
PRIMARYDSN(SYS1.RACFDS)
BACKUPDSN(SYS1.RACFDS.BACKUP)
You can have one primary data set and up to one backup data set. If you want to partition your database by key, you can have more primary and backup data sets entries, and you need to specify the key range to data set mapping.
The syntax is defined here.
The datasets have to be cataloged. I have used a data set catataloged in a user catalog, they do not need to be SYS1.xxxx.
If you get it wrong and the member is invalid, at IPL RACF prompts
*IRRY115I RACF IS NOT USING PARMLIB FOR INITIALIZATION.
*01 ICH502A SPECIFY NAME FOR PRIMARY RACF DATA SET SEQUENCE 001 OR 'NONE'
IRA600I SRM CHANNEL DATA NOW AVAILABLE FOR ALL SRM FUNCTIONS
IRA860I HIPERDISPATCH MODE IS NOW ACTIVE
R 01,SYS1.RACFDS
*02 ICH502A SPECIFY NAME FOR BACKUP RACF DATA SET SEQUENCE 001 OR 'NONE'
R 2,SYS1.RACFDB.BACKUP
Changing parmlib
If you change the IEASYS RACF=, or change an IRRPMRxx member, you have to REIPL to pick up the changes. Stopping and restarting RACF does not pick up the changes, because the RACF started task handles operator commands and other admin stuff, it does not process the data sets. See here.
Copying the RACF database
You can copy a RACF database and use that. For example
//IBMCRACO JOB 1,MSGCLASS=H
//STEP EXEC PGM=IRRUT200
//SYSRACF DD DSN=SYS1.RACFDS,DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(20)),
// DCB=(LRECL=4096,RECFM=F),DSN=COLIN.RACFDS,DISP=(MOD,CATLG)
//SYSUT2 DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
INDEX
MAP
END
/*
IRRUT200 is called a RACF database verification utility program (IRRUT200), and to make an exact copy of a RACF data set. It takes a lock on the RACF database for the duration of the copy to ensure the data is consistent.
You should check the size of the source dataset, and make the copy the same size.
One thought on “RACF setup, and changing the RACF dataset”