On 29 Jul 2013 14:18, Anderson, Kurt wrote:
<<SNIP>> I'm sure there's a wonderfully valid reason for this,
although it makes me wonder if every RGZPFM we have in our processes
should be ran twice instead of once.
The reason is as I stated; i.e. the DB /balances/ the implications of
reorganize request between the effects on performance and storage. The
idea being, to be predictive of the nature of using the database member
to store data. Running the offline reorganize a second time overrides
the decision by that database, to imply reclaiming storage is more
important than the negative impacts to performance.
Few database file members that are reorganized are ever left unused
forever after, and thus some varlen and extent storage is left,
presuming that very likely another insert will be coming; i.e. the vast
majority of reorganize requests were not historically a final request
before an effectively permanent online archival. If the dataspace and
varlen segments were truncated to their minimums by default, the next
non-read I/O will have extremely negative consequences for performance;
the database chose to avoid that effect as the default behavior, similar
to how multiple consecutive inserts may /grow/ a dataspace faster than
when the same inserts are done sporadically. The database predicts a
member will continue to be used, even after the most recent
non-consecutive RGZPFM request.
FWiW: Notice that the command verb-mnemonic is not "reclaim".
Perhaps submitting a DCR requesting a new parameter to effect
RCLSTG(*ALL) [or *MAX]; possibly the option to name individually one or
more elements such as *VARLEN or *DDS [dataspace], or perhaps even
others according to whatever else [¿LOB spaces?] might be