• Aucun résultat trouvé

Data Set Name Table

Dans le document Program Product (Page 83-86)

The data set name table (ICHRDSNT) is an installation-written load module that describes the RACF data sets to RACF. This table may reside in

SYS1.LINKLIB or any other library concatenated to SYSl.LINKLIB via the LNKLSTxx member in SYSI.PARMLIB. This table contains entries describing each RACF data set and its backup data set. A data set's position in this table corresponds to the data set number in the range table. The first byte of the table is a binary number indicating the number of entries in the table. Each entry consists of two 44-byte data set names, a I-byte resident index block (or data block) count field, and a I-byte flag field.

The first data set name is that of a primary data set. If this field is an asterisk, RACF prompts the operator during RACF initialization, to supply the data set name. The second data set name is that of an associated backup data set. If this field is an asterisk, RACF prompts the operator again. A blank data set name field indicates the absence of either a primary or backup data set for this RACF data set. The first primary RACF data set is considered to be the "master"

RACF data set.

The resident index block count field specifies the maximum number of index blocks to be kept resident for the primary data set while it is active. If you select the resident data blocks option, this field specifies the maximum number of index, BAM, and profile blocks to be kept resident.

The format of the flag field is as follows:

Bit Setting Meaning

00 ... . No updates are to be duplicated on the backup data set

10 ... . All updates, other than statistics, are to be duplicated on the backup data set 11.. .... All updates, including statistics, are to be duplicated on the backup data set ... 1 Use the resident data block option for the primary data set

If no table is provided, RACF is initialized with a single RACF data set.

The following example shows how the data set name table can be used. Assume that an installation arranges its data set profiles in the following manner: test data set profiles on SYSl.RACFDSI, production data set profiles on

SYS1.RACFDS2, and system data set profiles on SYSl.RACFDS3. For recovery, the installation wants a backup data set for each primary RACF data set. In addition, except for SYSl.RACFDSI, the installation wants all updates to the primary RACF data sets duplicated in its corresponding backup data set. For SYSl.RACFDSI, the installation wants all updates other than statistic updates duplicated in the backup data set. SYSl.RACFDSl and SYSl.RACFDS2 use resident data blocks, instead of just resident index blocks.

The following data set name table correctly follows this criteria:

ALI (3) Number of primary RACF data sets

CL44'SYSl.RACFDS1' Name of first RACF data set (test data sets) CL44'SYSl.BACKUPI' Name of first RACF data set backup ALI (20) Number of resident blocks

XLI '81' Flags - all updates other than statistic updates are to be duplicated in the backup data set. The resident index blocks include both index and non-index blocks.

CL44'SYSl.RACFDS2' Name of second RACF data set (production data sets) CL44'SYSl.BACKUP2' Name of second RACF data set backup

ALI (10) Number of resident blocks

XLI'Cl' Flags - all updates, including statistics, are to be duplicated in the backup data set. The resident index blocks include both index and non-index blocks.

CL44'SYSl.RACFDS3' Name of third RACF data set (system data sets) CL44'SYSl.BACKUP3' Name of third RACF data set backup

ALI (1 0) Number of resident index blocks

XLI 'CO' Flags - all updates, including statistics, are to be duplicated in the backup data set.

Selecting the Number of Resident Index Blocks

You can select the maximum number of RACF data set index blocks to be made resident in the common service area (CSA). An installation can specify from 0 to 255 resident index blocks per primary RACF data set. The default value is 10 resident index blocks.

Resident index blocks reduce the amount of I/O that is required to service the RACF data set. Each index block uses 1056 (lK

+

32) bytes of storage in the CSA.

During IPL, RACF loads as many index blocks as will fit, starting with the highest-level index blocks. If RACF does not use all the allocated buffers, it frees the unused buffers. Once they are loaded, the index blocks remain in their buffers; if a new index block is created during RACF operation, the block does not become resident until the next IPL.

Note that when the RACF data set resides on a shared device, the level one index blocks cannot be resident; therefore, the value you specify refers to level two and higher index blocks.

Chapter 5. RACF Options 5-3

Selecting the Number of Resident Data Blocks

In the data set name table (ICHRDSNT), you can specify the number of resident data blocks for each primary RACF data set. This option (setting bit 7 in the flag field) will keep any type of data block (profile and BAM blocks as well as index blocks) resident in the common service area (CSA). An installation can specify from 0 to 255 resident data blocks; the default value is 10 resident data blocks.

Resident data blocks reduce the amount of I/O that is required to service the RACF data set. This function is also dynamic because, at any time, only the most frequently used blocks are kept in storage. Each data block uses 1056 (lK

+

32) bytes of storage in the CSA.

At RACF initialization time, ICHSECOO obtains the number of buffers specified in the data set name table. The RACF manager then keeps track of when each buffer was used last.

For a nonshared RACF data set, the RACF manager does the following processing:

• When reading a block, the RACF manager first searches the in-storage buffers for a valid copy of the block. If it finds one, it uses it. If it doesn't find a valid copy, the RACF manager obtains an in-storage buffer from the pool of buffers, reads the data block into that buffer, and retains the data.

block in storage after the I/O operation.

• When updating a block, the RACF manager searches the in-storage buffers for an old copy of the block. If it doesn't find one, it obtains an in-storage buffer from the pool of buffers.

When a block is updated, RACF always performs an I/O operation so that the RACF data set has an up-to-date version of all blocks.

When getting a buffer from the pool, the RACF manager attempts to get a buffer that is empty or contains an out-of-date block. (A block is only out-of-date in a shared data set system.) If it finds none, the manager takes the buffer containing the least-recently used block.

For a shared RACF data set, the processing is different from a nonshared RACF data set in the following ways:

• The change count in the inventory control block (ICB), corresponding to the block type (profile or index), is updated whenever a block is updated.

• Index block buffers are marked as out-of-date if the change count in the ICB for that level differs from the change count in the in-storage buffer.

• Profile· buffers are marked as out-of-date if the change count in the ICB for profile blocks differs from the change count in the in-storage buffer.

Dans le document Program Product (Page 83-86)