Subject RE: oldest active transaction not available
Author

Thanks Ivan and Dmitry,


meanwhile a simple delete of 6 rows of 260.000 produces 1.957.107 sequential reads.


Sinatica Monitor shows that more than 4.4 million transactions awaiting garbage collection because of

OAT/OIT/OST 13.962.710 but there is no way to find and to end one of this transactions:


gstat -h

Oldest transaction      13.962.713
Oldest active           13.962.714
Oldest snapshot         13.962.714
Next transaction        18.379.469
 

select first 3 * from mon$transactions ta order by ta.mon$transaction_id


MON$TRANSACTION_ID    MON$ATTACHMENT_ID    MON$STATE    MON$TIMESTAMP    MON$TOP_TRANSACTION    MON$OLDEST_TRANSACTION    MON$OLDEST_ACTIVE   
18373529    471712    1    10.10.2013 10:57:44    18373529    13962713    13962714    2

18373659    471713    1    10.10.2013 10:58:09    18373659    13962713    13962714    2
18373990    470762    1    10.10.2013 10:59:38    18373990    13962713    13962714    2


How can I end this old transactions?


-Malte





---In firebird-support@yahoogroups.com, <kdv@...> wrote:

Hello!

Wednesday, October 9, 2013, 10:57:53 PM, you wrote:

>> I can't find the oldest active transaction in mon$transactions and sweep
>> has no effect. Even Sinatica Monitor and IBExpert doesn't show this number.
>> How can I rollback this transaction?

oldest active transaction is the oldest one in
mon$transactions. Also you may look into mon$database for it's number.

IP> "oldest active transaction" does not mean "oldest of currently running transactions",
IP> but "oldest transaction that was active when some other currently active transaction started".

You described Oldest Snapshot transaction, not Oldest Active.

OAT is a really oldest currently active transaction.
OST - is oldest transaction, that was active when oldest active
started, yes, and it does not exist anymore in mon$transactions.

--
Dmitry Kuzmenko, www.ib-aid.com