On 09-May-2014 06:35 -0500, rob@xxxxxxxxx wrote:

My shoot from the hip answer is to run a RCLSTG *DBXREF

And per typical, [not you(rs) personally] bad advice; i.e. often implications that a Reclaim Storage will assist directly for this or that issue, are wrong. In this case, the System Database Cross-Reference does not maintain the SQL catalog TABLE SYSROUTINE; that is the domain entirely of the SQL. And besides, for lack of one /object/ existing per row of that TABLE, there is no ability to /refresh/ the data from the objects on the system, thus no such reclaim function could even assist generally; i.e. some routines that exist as rows with no corresponding object would have to remain as-is or all be purged as part of a refresh.

Doing the *DBXREF isn't a long running process. You'll spend more
time getting the system down and back up again. On systems with even
an 11 hour full RCLSTG the *DBXREF normally only takes 20 minutes.

While a generally accurate statement, there are conditions specific to each system which could make the request run much longer on one system versus another. The differences in number and types of objects from one system to the next can be extreme. For that reason alone, a caveat "YMMV" applies. The synchronous portion of the work may perform a /long time/ on some systems due to requirements to await feedback from some of the asynchronous work previously enqueued; most notably, processing cross-library dependencies for Referential Integrity (RI). Time wasted in restricted state to perform the reclaim request [for naught], is still time wasted.

FWiW: The Reclaim Storage function should be avoided until either a data issue is noticed by a user, a notification of a data issue is made by the system, or IBM support\service has directed the request as a recovery action for a specific condition for which the recommended reclaim feature is intended to correct or provide some relief; note: the reclaim of the *DBXREF should almost never be included in a reclaim request whenever the *DBXREF feature is notifying of a functional problem, because the *DBXREF feature must be fully functional in order to process the enqueued work that would effect the refresh of the *DBXREF data.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page