как реализовать?

Linium
Дата: 30.08.2012 07:30:44
Как реализовать? Есть запрос
delete * from MON$ATTACHMENTS
where mon$attachment_id=(select mon$attachment_id from mon$transactions where mon$transaction_id=(select mon$oldest_transaction from mon$database))

для удаления зависших транзакций, они мешают sweep
как сделать чтобы если значение mon$database в течении срока (3-5 дней ) не изменяется, то запускать скрипт на удаление,если изменятся - ничего не делать?
Linium
Дата: 30.08.2012 07:58:19
опечатался, правильно будет:
для удаления зависших транзакций, они мешают sweep
как сделать чтобы если значение mon$oldest_transaction в течении срока (3-5 дней ) не изменяется, то запускать скрипт на удаление,если изменятся - ничего не делать?
m7m
Дата: 30.08.2012 09:01:32
Linium,

а почему не искать причины зависания и устранять их???
Linium
Дата: 30.08.2012 09:08:23
m7m,в ПО используется BDE, так что такие случаи будут.
dimitr
Дата: 30.08.2012 10:30:44
Linium,

а какая разница, какое используется ПО? Вы через SQL делаете тоже самое, что и просто закрыть приложение. Не проще ли делать сразу второе, регламентным путем?
dimitr
Дата: 30.08.2012 10:35:26
да и вообще, скрипт в общем случае нерабочий. Ибо OIT не обязана быть активной и присутствовать в мониторинге.
Linium
Дата: 30.08.2012 11:07:56
dimitr,а как тогда выявить?
Dimitry Sibiryakov
Дата: 30.08.2012 11:08:11

Linium
в ПО используется BDE

И чё? BDE управляет транзакциями ничуть не хуже любых других компонент.

Posted via ActualForum NNTP Server 1.5

Linium
Дата: 30.08.2012 11:14:32
Dimitry Sibiryakov,Я не автор ПО.
dimitr
Дата: 30.08.2012 11:20:59
Linium,

для начала стоит определиться с терминологией. OIT свипу никак не мешает, а вот OAT очень даже. Замените в своем скрипте mon$oldest_transaction на mon$oldest_active и есть некоторый шанс, что это взлетит. Но лучше не смотреть на эти счетчики вообще, а просто отслеживать разницу current_timestamp - mon$timestamp (для транзакций или аттачей - на выбор) более чем N дней и уже тогда их отстреливать. Тогда OAT застревать не будет и свипу никто не помешает.