Subject Re: Transaction in limbo
Author fabiano_bonin
> My guess is that you had two databases connected when a network error

Your guess is probably right. I use IBReplicator and it probably uses
two phase commits.

> When something goes wrong between the time any partner sets its state to
> prepared and all partners commit, you get remnants of a two-phase
> commit. The information you're seeing tells you how to find the state
> of the partner transactions. If any one of them is rolled back,
> everybody rolls back. Otherwise, everybody commits. If you care about
> consistency. Otherwise, it's every partner for itself.
>
> The short answer to your query is to check the documentation in gfix,
> which allows you to attach to a limbo translation and tell it to commit
> or die.

Somehting like this?

[root@servidor firebird]# gfix -two_phase all ./thal02.fdb.old
Could not reattach to database for transaction 54335.
Original path: 200.216.111.199:thal02
Enter a valid path:
127.0.0.1:/share/bunker/firebird/thal02.fdb.old;
Attach unsuccessful.
Enter a valid path:
127.0.0.1:/share/bunker/firebird/thal02.fdb.old
<here i'm waiting and it seems nothing is happening>
<i will type CTRL+C>

[root@servidor firebird]#

Or this?

[root@servidor firebird]# gfix -rollback 54335 ./thal02.fdb.old
Could not reattach to database for transaction 54335.
Original path: 200.216.111.199:thal02
Enter a valid path:
127.0.0.1:/share/bunker/firebird/thal02.fdb.old
;
;
<please read my path>
^C
[root@servidor firebird]#

Regards,

Fabiano.