IBM Support

Missing QFILE on save tape created by BRMS at IBM i 7.2

Troubleshooting


Problem

CPF3717 for QFILE when performing RSTLIB *IBM or *ALLUSR using tapes created by BRMS at IBM i 7.2. There is no QFILE on the tape

Symptom

Native RSTLIB *IBM or *ALLUSR or GO RESTORE operations fail with CPF3717: File not selected. File label or file name mismatch for QFILE.

Resolving The Problem

When a SAVLIB *IBM or *ALLUSR is performed the first file saved in this set is the QFILE file. The QFILE file contains the list of libraries saved like a table of contents.

If a save tape containing a *IBM or *ALLUSR created by BRMS at 7.2 or above is used for native RSTLIB *IBM or *ALLUSR or GO RESTORE operations, which is frequently done during a system migration, the restore may fail with CPF3717 indicating that QFILE is not found on the tape. Checking DSPTAP this is confirmed.

At IBM i 7.2 there was an enhancement in BRMS to support sorting libraries by size instead of alphabetically when they are saved. This is controlled by the 'Sort by' parameter in the BRMS control group attributes.


'Sort by': Specifies the order libraries will be written to media when more than one library is included in a save operation.

Note: If *ALLPROD, *ALLTEST, *ALLUSR or *ASPnn is specified for the library, libraries QSYS2, QGPL, QUSRSYS, and QSYS2xxxxx (where xxxxx is an independent ASP number) are saved first, if they are located on the ASPs specified by the ASPDEV parameter.

This causes BRMS to build the native SAVLIB command without using the *IBM or *ALLUSR special values. The native SAVLIB commands are created like:


QSYS/SAVLIB LIB( *SELECT) SELECT(*USRSPC) OMITLIB(*USRSPC) CMDUSRSPC(QUSRBRM/Q1ASxxxxxx)

Notice the parameters LIB(*SELECT) and SELECT(*USRSPC) and CMDUSRSPC(QUSRBRM/Q1ASxxxxxx). Because the LIB parameter uses special value '*SELECT' and not *IBM or *ALLUSR there is no QFILE on the tape. RSTLIB *IBM or *ALLUSR requires QFILE.

So if this functionality is utilized and BRMS generated tapes containing *IBM or *ALLUSR will be used for native RSTLIB the *IBM or *ALLUSR special values cannot be used on the restore. RSTLIB SAVLIB(*ANY) or some other method will need to be used. If BRMS is being used to drive the restore process it will build the appropriate native restore commands.

This new functionality can be turned off using instructions located on the BRMS wiki here.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Document Information

Modified date:
21 April 2022

UID

nas8N1020571