Multiple system libraries

All system libraries continue to exist in the system disk pool with additional system libraries.

To support better isolation and recovery of the independent disk pool group containing system libraries, the following instances of system libraries are also created in the primary disk pool:
QSYSnnnnn
This contains the database cross reference information for the database represented by the disk pool group.
Normally only internal system code creates objects into this library.
QSYS2nnnnn
This contains the SQL catalogues for the database represented by the disk pool group.
Normally only internal system code creates objects into this library.
QRCYnnnnn
Any recovery object associated with objects within the disk pool group is stored in this library for the primary disk pool for the group.
These objects may be needed for recovery when the disk pool group is varied on. The system disk pool equivalent of this library is QRECOVERY.
QRCLnnnnn
When the reclaim instance is run on the disk pool group, any resulting information normally stored in QRCL is now stored in the QRCL of the primary disk pool for the group.
Normally only functions called during reclaim storage processing create objects into this library instance. Also, when reclaim storage recovers the addressability of lost objects, these objects can be inserted into the QRCLnnnnn library. These are user objects that originally existed in another library.
QRPLnnnnn
Whenever an object contained within the disk pool group is replaced while it is in use, the in-use object is renamed and moved to the QRPLnnnnn library in the primary disk pool for the group.
The new object is inserted into the specified library. The system disk pool equivalent of this library is QRPLOBJ. QRPLnnnnn is cleared at vary on.
Note: nnnnn is the independent disk pool number right-aligned and padded with zeros.

Protected, a library attribute, is introduced to support the extended library capability. Since the libraries QSYSnnnnn, QSYS2nnnnn, and SYSIBnnnnn are special versions that correspond to the system libraries, only operating system code can create objects into them. Applications cannot create objects into these libraries.

Table 1. Library attribute settings
Library *SYSBAS library Protected in independent disk pool Protected in system disk pool
QSYSnnnnn QSYS Yes No
QSYS2nnnnn QSYS2 Yes No
SYSIBnnnnn SYSIBM Yes No
QRCLnnnnn QRCL No No
QRCYnnnnn QRECOVERY No No
QRPLnnnnn QRPLOBJ No No
All user libs Not applicable No No

The normal search order for objects is to search the libraries based on the user-specified library value, the user's library list, and the namespace in effect for the job. The only exception to this occurs when the user job has a disk pool group in the job's namespace. In this case, aliasing support takes effect for object references to the database control objects in QSYS, QSYS2, and SYSIBM. The objects in the QSYSnnnnn, QSYS2nnnnn, and SYSIBnnnnn libraries are returned so that users are operating on the database control information associated with their extended namespace.