Subject | Re: Transaction in limbo |
---|---|
Author | fabiano_bonin |
Post date | 2005-06-02T12:00:13Z |
> My guess is that you had two databases connected when a network errorYour 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 toSomehting like this?
> 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.
[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.