Subject Re: [firebird-support] Database page errors
Author Vlad Khorsun
>> > Also, my users are using this database all day and nobody noted
>> > anything strange.
>>
>> Very strange. Are you sure error messages from firebird.log are from
>> the same database ? And generated at the same time you run gfix ?
>
> Yes. I'm sure of it. I double checked it.
>
> I'm searching for these table ID's in this database and they are not there:
>
> SQL> select * from rdb$relations where rdb$relation_id = 213;
> SQL> select * from rdb$relations where rdb$relation_id = 224;
> SQL> select * from rdb$relations where rdb$relation_id = 226;
> SQL> select * from rdb$relations where rdb$relation_id = 228;

This is explain why validation code can't find pointer pages. But i don't
understand why validation start to look at it.

> Recently i droped 4 tables and created 4 views with the same name. Is
> it possible that this error is related to this change?

If validation used the same in-memory metadata which was produced by
this change then i can guess some bug. But validation always runs in
exclusive attachment - i.e. it reads metadata from disk. The last crazy
guess i can make is that validation picked up some rolled back records but
i can't imagine such conditions...

Hmm... you used replicator which made 2PC transactions. Does you
database have any limbo transactions now ? If yes - fix it first.

> Do you think i am in risk working with this database?

Run gfix again. I guess it will not return this errors.

> Can i recover it manually, ie: deleting the orphan records/pages somehow?

I don't think so

> I ask because i do incremental remote backups and this is a large
> database, and when i do a complete backup/restore, the next
> incremental backup get the size of the full database, and it's very
> hard to tranfer all its data over a link that is not too fast.

Understand.

BTW, as you do incremental backups - you use Firebird 2, right ?
What exact version ? Classic or Super ?

Regards,
Vlad