Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread 15002 Error, impossible to repair
Mon, Sep 24 2007 3:44 AMPermanent Link

Tomas
Hi,

One of our customers send database to us which brings error - "DBISAM Engine Error # 15002 Error uncompressing data."
I don't know how they managed to damage their database because I never had report of this error from other customers.
Anyway, I have tried to run repair, and BDISAM say that database is repaired but while I am trying to execute update query on
damaged table, the error appears again.

Could you suggest some remedy?

Regards,
Tomas
Mon, Sep 24 2007 6:26 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Tomas,

<< One of our customers send database to us which brings error - "DBISAM
Engine Error # 15002 Error uncompressing data."  I don't know how they
managed to damage their database because I never had report of this error
from other customers.  Anyway, I have tried to run repair, and BDISAM say
that database is repaired but while I am trying to execute update query on
damaged table, the error appears again.

Could you suggest some remedy? >>

Is this using a remote session with the database server ?  What happens if
you run the query locally against the table(s) using the DBSYS utility ?
Did you enable compression for any of the BLOB fields in the table ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Sep 25 2007 1:57 AMPermanent Link

Tomas
I run query localy using DBSYS, I have pasted repair log file below.
And yes I am using compression on one of blob field.



Repair of table document started at 9/25/2007 8:21:20 AM...
Physical record count not correct, error fixed...
BLOB blocks not aligned on even block size boundaries, error fixed...
Physical BLOB block count not correct, error fixed...
Checksum for physical record # 3 (logical record ID of 5) is invalid and the data is most likely corrupted, error fixed...
Invalid intra-block pointer in BLOB file for physical record # 31 (logical record ID of 44), error fixed...
BLOB size mismatch in BLOB file for physical record # 31 (logical record ID of 44), error fixed...
Invalid BLOB offset into BLOB file for physical record # 32(logical record ID of 45), error fixed...
Invalid BLOB offset into BLOB file for physical record # 32(logical record ID of 45), error fixed...
Invalid BLOB offset into BLOB file for physical record # 33(logical record ID of 46), error fixed...
Invalid BLOB offset into BLOB file for physical record # 33(logical record ID of 46), error fixed...
Invalid BLOB offset into BLOB file for physical record # 34(logical record ID of 47), error fixed...
Invalid BLOB offset into BLOB file for physical record # 34(logical record ID of 47), error fixed...
Indexes do not match record data and are invalid, starting to fix indexes...
Invalid indexes fixed...
Invalid next available record ID of 41, error fixed...
Invalid total record count of 28, error fixed...
Repair of table document completed at 9/25/2007 8:21:20 AM...


"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

Tomas,

<< One of our customers send database to us which brings error - "DBISAM
Engine Error # 15002 Error uncompressing data."  I don't know how they
managed to damage their database because I never had report of this error
from other customers.  Anyway, I have tried to run repair, and BDISAM say
that database is repaired but while I am trying to execute update query on
damaged table, the error appears again.

Could you suggest some remedy? >>

Is this using a remote session with the database server ?  What happens if
you run the query locally against the table(s) using the DBSYS utility ?
Did you enable compression for any of the BLOB fields in the table ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Sep 25 2007 5:16 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Tomas,

<< I run query localy using DBSYS, I have pasted repair log file below. And
yes I am using compression on one of blob field. >>

That is, unfortunately, one of the downsides of using compression with BLOB
fields.  If the BLOB field becomes corrupted, then the compression will
prevent any portion of the BLOB field from being accessed.  You have to
clear out the field using the TField.Clear method and re-enter the data, or
restore from a backup.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Sep 26 2007 8:45 AMPermanent Link

"Tomas"
How can I find which records are dataged, is it possible to do using SQL?
I see only one method is to iterate all records and try to access blob
field, if fails then cleare it.

What is advantage of using compression on blob, smaller database on HDD? Any
other advantages?

We are think to move our program engine from DBISAM to ElevateDB.
Where I can find comparison table of DBISAM VS ElevateSoft?


> << I run query localy using DBSYS, I have pasted repair log file below.
> And yes I am using compression on one of blob field. >>
>
> That is, unfortunately, one of the downsides of using compression with
> BLOB fields.  If the BLOB field becomes corrupted, then the compression
> will prevent any portion of the BLOB field from being accessed.  You have
> to clear out the field using the TField.Clear method and re-enter the
> data, or restore from a backup.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Thu, Sep 27 2007 11:20 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Tomas,

<< How can I find which records are dataged, is it possible to do using SQL?
>>

No, since there's really no way to stop the SQL execution at a particular
row.

<< I see only one method is to iterate all records and try to access blob
field, if fails then cleare it. >>

Yes, that is the only way.

<< What is advantage of using compression on blob, smaller database on HDD?
Any other advantages? >>

The only reason for using compression is to reduce the size of the BLOBs,
and therefore reduce the amount of I/O required to read/write them.

<< We are think to move our program engine from DBISAM to ElevateDB. Where I
can find comparison table of DBISAM VS ElevateSoft? >>

You can find a general comparison here:

http://www.elevatesoft.com/prodcomp.htm

If you have any more specific questions after viewing the comparion, just
let me know.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image