Error running Proutil DBAnalys

Posted by nix1016 on 19-Jul-2017 18:27

I'm getting the following error trying to run Proutil DBAnalys:

Hit end of record indicator before finding last field

tableAnalyze: Internal Error rcUpgradeRecord failed, inst ret:1. (15892)

We've had a couple of issues with the particular table where it fails at as we had a couple of failed index rebuild issues on about 2 dozen records, but we've since deleted those records (via proutil idxfix option 6) and are no longer getting those errors. 

However, we're still getting this error on dbanalys as well as getting the -219901 vendor code error when running certain crystal reports that contains this particular table. I think this is caused by certain records being at or over the 32K limit but without being able to run dbanalys or tabanalys we can't know for certain.

I've tried running idxfix option 3 & option 8, both did not return any errors.

Anyone got any ideas on what else to try?

All Replies

Posted by George Potemkin on 20-Jul-2017 00:07

Progress version? 11 something, I guess.

Posted by George Potemkin on 20-Jul-2017 01:03

> without being able to run dbanalys or tabanalys we can't know for certain.

You can find a point of tabanalys' failure:

Start database in multi-user mode but don't allow for the users to connect to your db.

Run tabnalys against the area where you got the errors.

Use _ActIOFile._IOFile-Reads and _TableStat._TableStat-OsRead to check how many blocks in the specified area were read by tabanalys. Note that dbanalys/tabanalys do not change the record read statistics (_TableStat-read).

_IOFile-Reads will give you an offset in the area to dump the record block contents using dbrpr. Dump a few blocks before and after the offset - just in case.

If it's a storage area type 2 then you can use 4GL query with non-index scan. Check all records when your query creates the same _TableStat-OsRead as tabanalys before failure. Of course, you need to restart db to refresh its buffer pool.

This thread is closed