Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Marc Demhartner, on 14.10.FC7, found a 4K-page table with 182 columns still showing 16777215 pages used after deleting rows. David Williams said to repack and shrink. Doug Lawry gave the sysadmin task 'table repack shrink' and a faster rebuild using ALTER TABLE TYPE (RAW), ALTER FRAGMENT INIT and TYPE (STANDARD), with MAX_FILL_DATA_PAGES.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Marc Demhartner — source: IBM Community (ConnectedCommunity.org) Informix forum
Hi Fellas,
we have a RHEL8 system with 14.10.FC7WE running.
4K dbspace with a huge wide table with 182 columns and ~10 million rows.
Number of pages allocated 16777215
Number of pages used 16777215
Problem is, that we already reducded that table from ~28m to 10m now and again we see that issue with pages.
Informix is not releasing the pages when we do a delete?
------------------------------
Marc Demhartner
------------------------------
#Informix
↪ replying to Marc Demhartner
David Williams — source: IBM Community (ConnectedCommunity.org) Informix forum
Hi Marc,
You need to repack and shrink after deleting.
Regards,
David.
------------------------------
David Williams
------------------------------
↪ replying to David Williams
Marc Demhartner — source: IBM Community (ConnectedCommunity.org) Informix forum
Could you give me an example how to do so ?
------------------------------
Marc Demhartner
------------------------------
↪ replying to Marc Demhartner
Doug Lawry — source: IBM Community (ConnectedCommunity.org) Informix forum
Hi Marc.
David probably means this:
EXECUTE FUNCTION sysadmin:task('table repack shrink', 'table-name
');
That could take a long time. If you can tolerate the table being locked and have room for a copy, the quickest method is:
ALTER TABLE
table-name
TYPE (RAW);
ALTER FRAGMENT ON TABLEtable-name
INIT IN
same-dbspace
;
ALTER TABLE
table-name
TYPE (STANDARD);
That may refuse if there are referential constraints, and you should ideally take a level 0 archive afterwards.
If the table contains variable length columns, consider setting this before the rebuild.
onmode -wfMAX_FILL_DATA_PAGES
=1
Regards,Doug
------------------------------
Doug Lawry
Oninit Consulting
------------------------------
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.