IBM Support

Missing QFILE on save tape created by BRMS

Troubleshooting


Problem

CPF3717 for QFILE when performing RSTLIB *IBM or *ALLUSR using tapes created by BRMS. 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.

If this functionality is utilized for BRMS generated tapes containing *IBM or *ALLUSR, a native RSTLIB using *IBM or *ALLUSR special values will fail with CPF3717. 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":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000C4BAAU","label":"IBM i"},{"code":"a8m0z000000cwpBAAQ","label":"Save Restore-\u003EBRMS"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.2.0;7.3.0;7.4.0;7.5.0"}]

Document Information

Modified date:
13 November 2024

UID

nas8N1020571