On 30-Jun-2014 11:33 -0500, John McKee wrote:
A few weeks ago, I ran DSPFD on production (well used to be)
libraries. Found a lot of deleted records and reorganized those
files. They were set to reuse deleted records.
Ran the CL again on all files in all libraries.
The files QADB* in QSYS should be explicitly omitted from such
processing. The effects from issuing Reorganize Physical File Member
(RGZPFM) against those files needs to be expressly evaluated for the
potentially highly negative impact to the system operation; the request
to reorg any of those files should not be on a whim or even a mere
consequence of something akin to a whim due to some algorithm blind to
the relevance of the underlying data and the requirements [for the users
and the system] to have access to that data.
QSYS/QADBIFLD has 678746 records and 361,585 deleted records.
How is space recovered from this file?
The file QADBIFLD is the System Database Cross-Reference (DBXREF)
table of columns; i.e. as physical data, primarily for the SYSCOLUMNS
SQL Catalog VIEW. When any new columns are created, a new record to
track that column is placed in the file QADBIFLD in QSYS; in effect,
whenever that column is deleted, the row representing that column within
the catalog is deleted, and that becomes a deleted record. Thus
whenever new file(s) are created, due to the file QADBIFLD having the
Reuse Deleted Records (REUSEDLT) feature activated, deleted rows will
tend toward being utilized instead of remaining as /deleted/ entries.
The *DBXREF feature enables a data-refresh feature with either the
Reclaim Database Cross-Reference (RCLDBXREF) or the Reclaim Storage
(RCLSTG) features. The refresh is typically the most favorable approach
[over reorg], first because the system is offline thus limiting impacts
to concurrent work, and second because any errors with the data should
be resolved by the request [whereas a reorganize would just move any
incorrect data]; the former command has an option to display if the
status of the DBXREF data is known already by the DBXREF feature, to be