Статистика в FB 2.1 CS
Статистика в FB 2.1 CS
Я конечно понимаю что пятница, но прошу пояснить почему у gstat и
MON$DATABASE разные значения OIT, OAT, OST и Next?
MON$DATABASE разные значения OIT, OAT, OST и Next?
Последний раз редактировалось OX 06 июн 2008, 16:48, всего редактировалось 1 раз.
Виноват, исправлюсьkdv писал(а):за постирование картинок в следующий раз будет бан.
hvlad извини, с первого раз я не понял
1. Стартуем gstat, Next Transaction = 9141;
2. Запускаем isql после gstat.
3. Запрос к MON$DATABASE, с моей (видимо ошибочной) точки зрения это и есть момент первого выполнения запроса к MON$.
4. MON$NEXT_TRANSACTION = 8735.
Тогда что считать первым обращением к MON$?
Всё правильно у тебя. Пока что. Вроде бы.OX писал(а): hvlad извини, с первого раз я не понял
1. Стартуем gstat, Next Transaction = 9141;
2. Запускаем isql после gstat.
3. Запрос к MON$DATABASE, с моей (видимо ошибочной) точки зрения это и есть момент первого выполнения запроса к MON$.
4. MON$NEXT_TRANSACTION = 8735.
Тогда что считать первым обращением к MON$?
Другие коннекты есть ? Кроме твоего.
isql при повторном запуске что выдаёт ?
Так, рискуя получить в лоб, опишу все подробно. После очередного релиза софта опять застрял ОАТ, обнаружили уже на рабочем объекте, клиентов отключать нельзя, точнее очень проблематично. Что было сделано на объекте:kdv писал(а):я имел в виду, что mon$transactions должен показать номера транзакций, со всей др. информацией. которая должна соответствовать маркерам в mon$database.c mon$transactions проблем нет,
вместо isql попробуй IBExpert или чего-нибудь вроде.
1. IbExpert, запрос на mon$transaction join на mon$attachments.
2. О чудо, вредители обнаружены, разработчики уже правят код.
3. Закрываем IBExpert, ждем когда прибудет update. пытаемся согласовать перезагрузку софта.
4. С сожалением вспоминаем об отстутствии
- IBTM;
- IbAnalyst;
- IbReplicator;
Которые некто отказывается нам продавать с января месяца(кстати sales at ibase.ru тоже молчит как партизан)
5. Находим старый IbAnalyst, запускаем, видим что к окончанию рабочего дня стало еще хуже, сожалеем что бросили курить, выгружаем IbAnalyst(статистику не сохраняем);
6. Загружем IbExpert, снова запрос на mon$transaction + mon$attachments, смотрим на долгоиграющие пишущие транзакции, вспоминаем что не сохранили статистику.
7.Лезем в MON$DATABASE за OAT и видим что значения MON$TRANSACTIONS. MON$TRANSACTION_ID > MON$DATABASE.MON$NEXT_TRANSACTION;
8. Сразу gstat -h, затем снова MON$DATABASE, значения отличаются как писал выше.
9. Возвращаемся на базу, для чистоты эксперимента берем isql, стартуем snapshot, повторяем полученный на объекте результат.
10. Своих знаний не хватает, у Борри искать MON$ глупо, чтение релизнутых нот просветления не вызывает.
11. Поиск по sql и ibase.ru ничего не дал.
12. Отвлекать некто по телефону не решаемся, обращаемся за помощью.
В качестве чего-нибудь вроде, готов попробовать свежий IbAnalyst
Даkdv писал(а):т.е. статистика, получаемая через services api идентична получаемой из gstat?
Ok, повторяю письмо 21.04.2008(правда последние 2 года наша переписка идет по другому адресу , тема "FW: Покупка ПО" )так письма писать же надо
P.S
Кстати, удалось повторить на employee, чуть позже опишу последовательность действий.
Сервер - Win 2003, FB 2.1 CS, employee.fdb
Клиент - WinXP, клиентская библиотека fbclient 2.1.0.17798, IBExpert 2008.04.09
1. Соединяемся с БД под SYSDBA.
2. Создаем второе содинение с этой же БД, снова под SYSDBA.
3. Далее все в контексте второго соединения4. Commit; Закрываем второе соединение.
5. gstat на сервере
Next Transaction = 853
6. Новое соединения под SYSDBA.
MON$NEXT_TRANSACTION = 841 до тех пор пока не будет зарыто первое соединенение.
Клиент - WinXP, клиентская библиотека fbclient 2.1.0.17798, IBExpert 2008.04.09
1. Соединяемся с БД под SYSDBA.
2. Создаем второе содинение с этой же БД, снова под SYSDBA.
3. Далее все в контексте второго соединения
Код: Выделить всё
select count(*) from mon$attachments;
COUNT = 2
select mon$transaction_id from mon$transactions;
MON$TRANSACTION_ID = 841
select mon$next_transaction from mon$database;
MON$NEXT_TRANSACTION = 841
5. gstat на сервере
Next Transaction = 853
6. Новое соединения под SYSDBA.
Код: Выделить всё
select mon$transaction_id from mon$transactions;
MON$TRANSACTION_ID = 863
select mon$next_transaction from mon$database;
MON$NEXT_TRANSACTION = 841