Re: ONLOAD : How to specify first & next extent sizes
Posted in 1998
Topics: High Availability & Replication, Backup & Restore, Storage & Space Management, Error Codes & Troubleshooting, Migration, Import/Export & Data Conversion, Platform-Specific Issues
ssoman@omm.com wrote:
>
> Dilip,
> I ran onload for the single table on to a seperate new dbspace, and it
> created 4 extents, even though there was enough contigous space. Here are the
> statistics
>
> INFORMIX ODS 7.23 UC1 on IBM AIX 4.1.4
>
> Table size is 4.9 Gig.
> I have 5 chunks of app 1.7 Gig comprising a dbspace which is to be used
> exclusively for this table.
> After the onload, I ended up having 4 of the five chunks used, even though 3
> would have done the job. Which showed the new re-organised table as having 4
> extents
>
> The funny part is that I also tried this using the "alter fragment ... init .."
> and it ended up creating 3 extents ( ie it used 3 of the 5 chunks )
>
> Is each chunk counted as an extent, even though they exist in the same dbspace
> ?? Why the difference in behaviour.
> Also, I had a problem with onload with the ODS specifying the following error
> halfway thru the procedure:
> Assert Failed: WARNING! pthdrpage:ptalloc:bad partn page
> 14:25:42 Who: Session(10, informix@hostname, 28848, 1342569624)
> Thread(71, sqlexec, 50040a54, 1)
> 14:25:42 Results: Cannot use TBLSpace page for TBLSpace 4194490
> 14:25:42 Action: Run 'oncheck -pt 4194490'
> 14:25:42 See Also: /infxdump/af.47d5e5>
> After this, I was unable to query on the table. I am right now in the process of
> restoring from backup
>
> Any suggestions ?
>
> Thanks
> Sujata
>
> ____________________Reply Separator____________________
> Subject: Re: ONLOAD : How to specify first & next extent sizes
> Author: <dkikla@informix.com >
> Date: 3/20/98 5:36 PM
>
> Sujata,
>
> Onload is only good if you only want to defragment one table. Onload
> will put the whole table in a single dbspace and in a single extent if
> there is sufficient contigous space. After the operation completes you
> can alter table for next size before inserting any futher rows.
>
> Onload does not work very well for the full database. It is effective
> for databases if the full database is in a single dbspace. There is no
> control of specifying which table needs to go to which dbspace.
> dbexport/dbimport may be used for this.
>
> Dilip Kikla
>
> ssoman@omm.com wrote:
> >
> > 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
> > multiple dbspaces for "onload" to load data ??
> > Secondly, how do I verify that my "onunload" is good ? I have taken an
> > ontape level 0 backup also. Is there any other backup method that I should
> use,
>
> > incase onunload fails ?? My table is quite large - about 8 Gig.
> > Thanks for the help
> >
> > Sujata
> > *****************************************
> > Sujata Soman
> >
> >
> > E-Mail: ssoman@omm.com
> >
> > O'Melveny & Myers, Los Angeles
> >
> > ******************************************
Informix creates extents in dbspaces. If the dbspaces are spread across
3 chunks, and your table is using 3 chunks then you will find 3 extents.
Extent is the physical contigous allocation of space in a chunk.
Regarding the problem, it looks like you have a bad disk page. Informix
can not remap the bad sectors on disk and hence you need disks with no
bad sectors.
Dilip Kikla