vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Cesar Cruz Said> >Hi, > >We spend 3 hours doing this > >1.- alter table xyz modify nextsize 1000000 >2.- drop all contraints from table xyz >3.- update systables set fextsize 2000000 where tabname = 'xyz'; >4.- ontape -s -L 0 -N BDD >5.- onunload -t /dev/st0 -b 8192 -s 20000000 BDD:xyz >6.- onload -t /dev/st0 -b 8192 -s 20000000 -d DBspace1 BDD:xyznew >7.- rename table xyz xyzold >8.- selec count(*) from xyzold where 1 = 1; >9.- selec count(*) from xyznew where 1 = 1; >10.- create primary key, secondary index and 3 constraints on table xyznew >11.- rename table xyznew xyz >12.- ontape -s -L 0 -U BDD >13.- down instance >14.- up instance > >Just for fix a table xyz with 209 extents, with table xyznew with 4 extents. > >There is another way (HPL for example) for doing this more faster? > >Because Linux Red Hat don't let us create file grather than 2GB!!!. > >Regards. > >_________________________________________________ __________ >Do You Yahoo!? >La mejor conexisn a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx > >Reply Art Kagel Said: ALTER FRAGMENT ON xyz INIT IN dbspace1; Is this part safe? >3.- update systables set fextsize 2000000 where tabname = 'xyz'; So would you do: UPDATE systables SET fextsize = 20000 WHERE tabname = '<tablename>'; ALTER TABLE <tablename> MODIFY NEST SIZE 4000 ; ALTER FRAGMENT ON <tablename> INIT IN <dbspace>; To straighten out a table with too many extents? |
| |||
| bozon wrote:<SNIP> > Art Kagel Said: > ALTER FRAGMENT ON xyz INIT IN dbspace1; > > Is this part safe? > >>3.- update systables set fextsize 2000000 where tabname = 'xyz'; > > > So would you do: > > UPDATE systables SET fextsize = 20000 WHERE tabname = '<tablename>'; > ALTER TABLE <tablename> MODIFY NEST SIZE 4000 ; > ALTER FRAGMENT ON <tablename> INIT IN <dbspace>; > To straighten out a table with too many extents? Yes, but I'd skip the UPDATE Systables. That always makes me nervous amd unless the dbspace's free space is fragmented I'll on ly end up with one or two extents per chunk anyway. Art S. Kagel |
| |||
| d...@smooth1.co.uk said >The update on systables is bollox. I think what happens is that when it moves the table with the alter fragement on ... it allocates the first chunk to the size specified in the systable enty. I don't know because I haven't looked and I don't want to start eff'ing up my systables. |
| |||
| The first extent value is also stored internal by Informix. If you update systables you do not update the internal value. Instead you corrupt your database catalogs and oncheck (probably -cc) will report the problem. You must never update any system catlogs directly. That is not supported and will never achieve want you think it will. Instead you just cause corruption. The manual clearly say not to update the sys* tables directly. |
| ||||
| <david@smooth1.co.uk> wrote in message news:1138996338.684102.305140@g47g2000cwa.googlegr oups.com... > > You must never update any system catlogs directly. That is not > supported, [will casue corruption]. > and will never achieve want you think it will. Well, unless I think it will cause corruption! |