Re: ONLOAD : How to specify first & next extent sizes
Posted in 1998
Topics: Storage & Space Management, SQL Development & Query Writing, Migration, Import/Export & Data Conversion
David Williams <djw@smooth1.demon.co.uk> offerred:
:In article <6ev2jd$n1m$1@news.xmission.com>, ssoman@omm.com writes
:>
:>
:>Hi all,
:> In my efforts to de-fragment my biggest tables, I have come up with a
:>problem. I "onunload" - ed my table to tape, created new dbspaces to hold the
:>new table. The next step therefore is to drop my old table, and "onload" the
:>table back into the new dbspaces. But, HOW do I specify the first and next
:>extent sizes, since onload creates the table as opposed to loading the data into
:>a created table ? I do not see a parameter for first and next extent sizes on
:>the "onload" syntax, so how then does "onload" work ? Also, how can I specify
: I would guess it creates an initial extent of 16 pages and keeps
: adding extents as needed an doubling every 16 extents. Remember
: adjacent extents are joined into one extent. Hence it should not be a
: problem unless Online cannot allocate enough continous pages.
Onload will maintain the extent sizes the table had when it was onunloaded.
There is no facility to alter them.
David is right that extent concatenation would occur, ideally keeping the number
of extents to a minimum.
However, all this is moot. Since onunload is taking a binary dump of the table
(i.e. page images), you are really not "defragmenting" it when you onload it
back in. That is, if all the pages were not full when you onunloaded, they will
remain not full when you onload (it will, as mentioned above, probably result in
a single extent, though). I suppose it depends on exactly what you mean by
"defragment".
Dave
**********
"Everybody plays the fool, sometimes."