Have you ever seen a ‘Library QTEMP not found’ error?
Library QTEMP not found
After some head scratching we figured it out – this IBM i Power System is using an Independent Auxiliary Storage Pool (aka iASP).
The previous administrators had installed and configured the iASP, but then decided to change the core IBM i System commands to point at the iASP by default, rather than standard storage areas, known as System Base.
This is never a good idea – for obvious reasons:
- IBM command defaults will be reset during the next OS upgrade, or PTF application
- Existing application code expects IBM i Defaults as standard
- Command defaults will be different between different versions on the same machine (unless you change QSYS, QSYSV7Rx and more)
- It’s just poor practice…
Anyhoo, moans aside, I figured this out when I realised that the LODRUN command was issuing a Restore Object command (RSTOBJ) and that command was trying to restore to the QTEMP library. QTEMP exists in the standard IBM storage base area but… but… the RSTOBJ command had been changed using the CHGCMDDFT command to default to the iASP.
So the standard IBM code underneath the LODRUN process was bombing when trying to restore to QTEMP, because QTEMP does not exist in the iASP, because it’s in system base. This was not at all obvious from the joblog.
Solution – ensure the RSTOBJ and RSTLIB commands are using correct IBM i Default Values