Revisit QRECOVERY and SQL Packages

janicej

Well Known Member
I noticed recently that my disk was getting full, so I ran one of those RTVDSKINF things to find out what was taking so much space. I discovered my QRECOVERY library was 51 GB. For our small installation, that almost 30% of our available space. So, I started researching on JDELIST to see what you guys were doing about it. Some of the things I saw got me worrying about blindly cleaning this up. We’re now on 8.10, but when we were on XE, we cleaned up SQLPKGs regularly. What I’m seeing here is that people had trouble starting services and running UBEs after cleaning the QRECOVERY library.

So, is there a best practice for maintaining this library? My jde.ini has SQL Package Library = 2. Does that mean I’m generating more than just SQLPKGs for running UBEs efficiently? How do I safely clean up? What could happen if I clear this library? The posts I saw were pretty old, so I’m hoping you guys have resolved this issue before me.
 
Hey Janice -
What I did at my last company was clean up QRECOVERY manually so I knew what was being deleted for sure. Monthly I would delete a majority of the *SQLPKG's but left about a month's worth out in the library just in case and we never had any problems with services starting, etc. Hope this helps!
 
Thanks for the reply. I ended up biting the bullet and adding a couple of lines to the CL program I run weekly to end services before IPL. The new commands just delete all the SQL packages in QRECOVERY library that start with O* and T*. Things are a little slow when we come in Monday morning, but that seemed the easiest way to keep on top of the library size. At least now I don't need to start pricing DASD!
 
Hi all,

We have the same problem with the QRECOVERY lib (for storage purposes issues see OWJRNL lib grow too). We have EONE 8.11 with 8.96 tools running. iSeries with V5R3.

Our QRECOVERY lib has almost 200 GB.

We have found a reedbook from IBM where they said that we need run theese commands with enterprise services are down:

DLTSQLPKG SQLPKG (QRECOVERY/O*)
DLTSQLPKG SQLPKG (QRECOVERY/T*)
DLTSQLPKG SQLPKG (QRECOVERY/JDBC*)

This a manually solution, but we need to automat this maintenance. Anyone has run this command with EONE services up?

So, our QSTRUP have theese lines:

0051.00 NONMSG MSGID (CPF0000)
0052.00 ADDLIBLE LIB(E811SYS)
0053.00 E811SYS/STRNET
0054.00 NONMSG MSGID (CPF0000)

How can i automatize the purge of QRECOVERY lib when the system starts? I´m not sure if we need "pauses" between commands, before the EONE services start. Any experience in this issue? Anyone has made a CL, an example would be apreciated. Thx.

Greetings.
 
If you run the commands while E1 services are running, the SQL packages will not be deleted. Follow IBM's advice. Insert those commandes before you start the services.

If you need a delay, the command DLYJOB takes parameter job delay time (DLY) in seconds.

Also, did you mean to type MONMSG instead of NONMSG?
 
In our case our former iSeries operator independently decided to delete the SQL packages in QRECOVERY in the middle of the day and it brought E1 down. I have it set up now to delete all SQL packages (except the ones starting with Q of course) just prior to our weekly Friday night backup. We haven't had any issues since.
 
Hi Jean,

Just for confirmation, do we delete JDBC* or JDBJ* since I found on Oracle they said JDBJ*.

Regards,
 
Back
Top