Format of the RACF Database

This section describes the format of the RACF® database.

Each RACF database is a non-VSAM single extent data set, made up of 4KB blocks.

A RACF database consists of several types of records:
  • Header block (inventory control block, ICB): is the first block in a RACF database and provides a general description of the database.
  • Templates: contain mappings of the entity records for the RACF database.
  • Segment table block: contains mappings of individual segments from within a template.
  • BAM (block availability mask) blocks: determine allocation of space within the RACF database.
  • Index blocks: locate entity records (profiles) in the RACF database.
  • Profiles (entity records): contain descriptions of the attributes and authorities for every entity defined to RACF. These entities are:
    • User profiles
    • Group profiles
    • DASD data set profiles
    • Profiles for resources defined by entries in the class descriptor table.

Skip over ASCII art..

Figure 1 illustrates the format of the RACF database.
Figure 1. Format of the RACF Database
 Block    Block    Blocks    Block    Block     Block
 0        1        2 to 9    "A000"   "B000"    "C000"            ───────→
┌────────┬───────┬────────┬──────────┬─────────┬─────────┬───────┬─────────┐
│        │       │        │          │         │         │       │         │
│ Header │ Tem-  │ . . .  │ Reserved │ Segment │ BAM (1  │ . . . │ Data or │
│ (ICB)  │ plate │        │ Template │ Table   │ or more │       │ Index   │
│        │       │        │ Block    │         │ blocks) │       │ Blocks  │
│        │       │        │          │         │         │       │         │
└────────┴───────┴────────┴──────────┴─────────┴─────────┴───────┴─────────┘
The first byte in each block is an identifier. Possible values you might use to locate blocks are:
  • X'02'—segment table
  • X'00'—BAM
  • X'83'—data
  • X'8A'—index
  • X'C3'—empty block.