Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5 Как получить список активных транзакций. Как прибить транзакцию? / 25 сообщений из 53, страница 1 из 3
04.02.2016, 18:09
    #39163249
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Доброе время суток,

Собственно сабж интерсует.
(в наличии есть IBExpert последний, если это как то может помочь)

Спасибо
...
Рейтинг: 0 / 0
04.02.2016, 18:15
    #39163257
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Mikhail Tchervonenko,

подключаться как SYSDBA и читать сюда:
c:\Program Files\Firebird\Firebird_2_5\doc\README.monitoring_tables.txt
...
Рейтинг: 0 / 0
04.02.2016, 18:16
    #39163259
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Mikhail Tchervonenko,

MON$xxxx таблицы.
...
Рейтинг: 0 / 0
04.02.2016, 18:40
    #39163279
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Arioch,

спасиб. помогло
...
Рейтинг: 0 / 0
04.02.2016, 19:18
    #39163308
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
на всякий кто будет искать и для себя тоже:

Получить список активных транзакций так:
SELECT * FROM MON$TRANSACTIONS WHERE MON$STATE=1

Прибить конкретную транзакцию так:
DELETE FROM MON$STATEMENTS WHERE MON$STATEMENT_ID = ...

можно ещё прибить все соединение:
DELETE FROM MON$CONNECTIONS WHERE CONNECTION_ID = ...

или все что в его рамках происходит:
DELETE FROM MON$STATEMENTS WHERE MON$ATTACHMENT_ID = ...

если прибивать всех то можно исключить через CURRENT_CONNECTION себя, дабы самому остаться

поправьте если где ошибся
...
Рейтинг: 0 / 0
04.02.2016, 19:27
    #39163318
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Mikhail Tchervonenkoпоправьте если где ошибся1) DELETE FROM MON$STATEMENTS WHERE MON$STATEMENT_ID = ... - придушит стейтмент, но не саму транзакцию; таблица mon$transactions для этого;
2) DELETE FROM MON$ CONNECTIONS - нет такой таблицы, есть mon$ attachments
3) "можно исключить через CURRENT_CONNECTION себя, дабы самому остаться" - вы и так останетесь :-)
Запустите два ISQL'я и выполните в одном из них:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
C:\MIX\firebird\QA\fbt-repo>isql /3255:e25
Database: /3255:e25, User: SYSDBA
SQL> show version;
ISQL Version: WI-V3.0.0.32320 Firebird 3.0 Release Candidate 2
Server version:
Firebird/Windows/Intel/i386 (access method), version "WI-V2.5.6.26969 Firebird 2.5"
Firebird/Windows/Intel/i386 (remote server), version "WI-V2.5.6.26969 Firebird 2.5/tcp (csprog)/P12"
Firebird/Windows/Intel/i386 (remote interface), version "WI-V3.0.0.32320 Firebird 3.0 Release Candidate 2/tcp (csprog)/P12"
on disk structure version 11.2

SQL> set list on;
SQL> select current_connection from rdb$database;

CURRENT_CONNECTION              3


SQL> select * from mon$attachments;

MON$ATTACHMENT_ID               3
MON$SERVER_PID                  952
MON$STATE                       1
MON$ATTACHMENT_NAME             e25
MON$USER                        SYSDBA
MON$ROLE                        NONE
MON$REMOTE_PROTOCOL             TCPv4
MON$REMOTE_ADDRESS              192.168.43.154
MON$REMOTE_PID                  1684
MON$CHARACTER_SET_ID            0
MON$TIMESTAMP                   2016-02-04 19:21:22.0790
MON$GARBAGE_COLLECTION          1
MON$REMOTE_PROCESS              C:\MIX\Firebird\fb30\isql.exe
MON$STAT_ID                     2

MON$ATTACHMENT_ID               4
MON$SERVER_PID                  952
MON$STATE                       0
MON$ATTACHMENT_NAME             e25
MON$USER                        SYSDBA
MON$ROLE                        NONE
MON$REMOTE_PROTOCOL             TCPv4
MON$REMOTE_ADDRESS              192.168.43.154
MON$REMOTE_PID                  5360
MON$CHARACTER_SET_ID            0
MON$TIMESTAMP                   2016-02-04 19:21:33.7980
MON$GARBAGE_COLLECTION          1
MON$REMOTE_PROCESS              C:\MIX\Firebird\fb30\isql.exe
MON$STAT_ID                     6


SQL> commit; set count on; delete from mon$attachments; commit;
Records affected: 2

SQL> select * from mon$attachments;

MON$ATTACHMENT_ID               3
MON$SERVER_PID                  952
MON$STATE                       1
MON$ATTACHMENT_NAME             e25
MON$USER                        SYSDBA
MON$ROLE                        NONE
MON$REMOTE_PROTOCOL             TCPv4
MON$REMOTE_ADDRESS              192.168.43.154
MON$REMOTE_PID                  1684
MON$CHARACTER_SET_ID            0
MON$TIMESTAMP                   2016-02-04 19:21:22.0790
MON$GARBAGE_COLLECTION          1
MON$REMOTE_PROCESS              C:\MIX\Firebird\fb30\isql.exe
MON$STAT_ID                     2


Records affected: 1
SQL> select current_connection from rdb$database;

CURRENT_CONNECTION              3

Records affected: 1
SQL>
PS. Хотя на основании вот этого:
Код: plaintext
1.
SQL> commit; set count on; delete from mon$attachments; commit;
Records affected: 2

-- можно ведь подумать, что отвалились :-)
...
Рейтинг: 0 / 0
04.02.2016, 19:52
    #39163337
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Таблоид,

ок, спасибо
...
Рейтинг: 0 / 0
05.02.2016, 08:25
    #39163485
_Док_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Мужики, может в шапку положить под заголовком типа "хозяйке на заметку"?
...
Рейтинг: 0 / 0
05.02.2016, 10:54
    #39163635
fb user
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Таблоид2) DELETE FROM MON$ CONNECTIONS - нет такой таблицы, есть mon$ attachments
3) "можно исключить через CURRENT_CONNECTION себя, дабы самому остаться" - вы и так останетесь :-)

Чем отличаются CONNECTION (который в имени CURRENT_CONNECTION) и ATTACHMENT (который в имени mon$ attachments )?
Я бы тоже искал в MON$ CONNECTIONS
...
Рейтинг: 0 / 0
05.02.2016, 10:57
    #39163638
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
fb user,

Тем, что в MON$ATTACHMENTS не только CURRENT_CONNECTION.
...
Рейтинг: 0 / 0
05.02.2016, 11:00
    #39163648
fb user
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
DarkMasterfb user,

Тем, что в MON$ATTACHMENTS не только CURRENT_CONNECTION.
ATTACHMENT и CONNECTION - это две разные сущности или одна сущность с разными названиями?
...
Рейтинг: 0 / 0
05.02.2016, 11:09
    #39163662
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
fb user,

Скорее второе.
...
Рейтинг: 0 / 0
05.02.2016, 11:14
    #39163671
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
fb userЧем отличаются CONNECTION (который в имени CURRENT_CONNECTION) и ATTACHMENT (который в имени mon$ attachments )?
Я бы тоже искал в MON$ CONNECTIONS
А не надо действовать методом тыка. Описание таблиц мониторинга есть в документации, и там видно, что никакого MON$CONNECTIONS не существует. Этих таблиц там не так много, не запутаешься.
...
Рейтинг: 0 / 0
05.02.2016, 17:04
    #39164256
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Симонов Денисfb userЧем отличаются CONNECTION (который в имени CURRENT_CONNECTION) и ATTACHMENT (который в имени mon$ attachments )?
Я бы тоже искал в MON$ CONNECTIONS
А не надо действовать методом тыка. Описание таблиц мониторинга есть в документации, и там видно, что никакого MON$CONNECTIONS не существует. Этих таблиц там не так много, не запутаешься.
согласен, просто описался

п.с. кстати
Как правильнее прибить транзакцию, удалить запись из таблицы MON$TRANSACTIONS или просто выставить статус для этой транзакции MON$STATE=0 ?
...
Рейтинг: 0 / 0
05.02.2016, 17:06
    #39164258
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Mikhail Tchervonenkoпросто выставить статус для этой транзакции MON$STATE=0 ?Вы бы проверили самостоятельно, особенно про "выставить статус"...
...
Рейтинг: 0 / 0
05.02.2016, 17:43
    #39164327
fb user
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
DarkMasterСкорее второе.
Но так ведь не хорошо.
...
Рейтинг: 0 / 0
05.02.2016, 17:46
    #39164333
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
ТаблоидMikhail Tchervonenkoпросто выставить статус для этой транзакции MON$STATE=0 ?Вы бы проверили самостоятельно, особенно про "выставить статус"...

удалить не даёт, как и изменить
походу токма с коннектом мочить нужно
нашет тут уже тему эту мусолили, ситаю
...
Рейтинг: 0 / 0
05.02.2016, 20:21
    #39164489
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Mikhail Tchervonenkoудалить не даёт"Не верю!" (С).
...
Рейтинг: 0 / 0
29.11.2016, 14:11
    #39356845
May12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Коллеги, что показывает поле MON$TRANSACTIONS.MON$TIMESTAMP?
Судя по "Руководство по языку SQL СУБД Firebird 2.5" - MON$TIMESTAMP - это Дата и время старта транзакции.

Тогда почему, в моем случае, данное поле не меняется (смотрю через IbExpert) после подключения клиентского приложения и выполнения в нем действий, связанных в выбором данных из БД?
Т.е. в моем случае в данном поле фиксируется время подключения приложения к бд, что едет в разрез с "Руководство по языку..".
...
Рейтинг: 0 / 0
29.11.2016, 14:38
    #39356878
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
May12Тогда почему, в моем случае, данное поле не меняется (смотрю через IbExpert) после
подключения клиентского приложения и выполнения в нем действий, связанных в выбором данных
из БД?

Хочешь сказать, что поле MON$TRANSACTION_ID меняется, а MON$TIMESTAMP - нет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.11.2016, 15:42
    #39356978
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
May12данное поле не меняется (смотрю через IbExpert) после подключения клиентского приложения и выполнения в нем действий, связанных в выбором данных из БД?

не вижу противоречий. У тебя скорее всего в приложении стартует RO RC транзакция и в ней делаются все выборки, и живёт она до конца работы приложения.

Проверь что тебе говорит Dimitry Sibiryakov
...
Рейтинг: 0 / 0
07.12.2016, 10:01
    #39361615
alex342
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
Симонов ДенисMay12данное поле не меняется (смотрю через IbExpert) после подключения клиентского приложения и выполнения в нем действий, связанных в выбором данных из БД?

не вижу противоречий. У тебя скорее всего в приложении стартует RO RC транзакция и в ней делаются все выборки, и живёт она до конца работы приложения.

Проверь что тебе говорит Dimitry Sibiryakov

А чем плохо открытие такой транзакции при старте приложения? IBE при коннекте к базе открывает аналогичную транзакцию.
...
Рейтинг: 0 / 0
07.12.2016, 10:23
    #39361618
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
alex342А чем плохо открытие такой транзакции при старте приложения? IBE при коннекте к базе открывает аналогичную транзакцию.
Здесь кто-то написал что это плохо???
...
Рейтинг: 0 / 0
07.12.2016, 10:43
    #39361638
alex342
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
m7malex342А чем плохо открытие такой транзакции при старте приложения? IBE при коннекте к базе открывает аналогичную транзакцию.
Здесь кто-то написал что это плохо???

Например, мусор может "плохо" убираться, если транзакция висит пару недель?
...
Рейтинг: 0 / 0
07.12.2016, 11:06
    #39361650
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 2.5 Как получить список активных транзакций. Как прибить транзакцию?
alex342,

мусор - это не нужные ни одной транзакции версии. Если он читается, то он убирается. мусор "плохо" собираться не может.
Не мусор - версии, которые нужны каким-то транзакциям.
транзакция RO RC для сервера как бы "не существует". Поэтому на мусор - не мусор она никак не влияет.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5 Как получить список активных транзакций. Как прибить транзакцию? / 25 сообщений из 53, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]