I was mostly trying to point out that you need to be specific about what 
operations you have done regarding index refreshing. 'rebuild' is unspecific.

For logical integrity issues - which generally occur because folks create 
indexes that depend on another file to get the virtual field index value (such 
as via TRANS, or OCONV(TFILENAME,...)) - you can just BUILD.INDEX on one or 
more or all indexed fields in a file. If you don't use the ONLINE keyword, 
users trying to update the primary file will hang until the build is done (or 
will not start if it cannot get exclusive update access on the primary file).

If you have physical corruption to the index file (rare), you need to 
completely remove the index file (by using the ALL keyword with DELETE.INDEX). 
Then CREATE.INDEX, then BUILD.INDEX. If you run multiple DELETE.INDEX commands 
naming fields - until none are left - the index file is still there and may 
still contain some physical corruption.

You can see if you have either logical or physical corruption by running 
guide_ndx. You can check for both using the -x3,all option. Then look at 
GUIDE_XERROR.LIS output file. Note - guide_ndx does not block updates to the 
file (as BUILD.INDEX without the ONLINE keyword does), so you can get spurious 
logical errors if the file is being actively updated when you run it.

If you aren't sure and don't want to check, the cleanest steps are:
1) get exclusive access to the file
3) CREATE.INDEX fn <field1 field2, etc>
4) BUILD.INDEX fn ALL  (this is quicker than individual BUILD.INDEX commands on 
multiple fields as there is only one pass thru the primary file to create the 
TMP records used to create the index nodes).

More confused, now? :-(

Wally Terhune
U2 Support Architect
Rocket Software
4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA
Tel: +1.720.475.8055

-----Original Message-----
[] On Behalf Of Kevin King
Sent: Friday, September 09, 2011 5:20 PM
To: U2 Users List
Subject: Re: [U2] Unidata 7.1.22 Index Issue

Am I understanding you correctly Wally that if an index becomes corrupted
for any reason the index is to be deleted, then recreated, and THEN rebuilt?
 And in a related question, am I understanding you to say that an index
cannot (should not) be rebuilt without being deleted and recreated?
U2-Users mailing list
U2-Users mailing list

Reply via email to