В ходе решения задачи с подвисанием ФБ процессов нарыто следующее описание.
Взято на: http://firebird21-database.blogspot.com/2008/08/firebird-21.html
Оригинальная документация: http://www.firebirdsql.org/rlsnotesh/rlsnotes210.html
В Firebird 2.1 появилось 7 таблиц мониторинга.Это виртуальные таблицы, с их помощью можно получить данные об активности сервера, информацию о выполняющихся запросах, активных подключениях, а так же собрать статистику базы данных Firebird. Все таблицы доступны только на чтение. Для таблицы MON$STATEMENTS можно применять оператор DELETE для отмены запросов.
MON$DATABASE
В данной таблице содержится информация о текущей базе данных:
* Путь к базе данных.
* Дата создания.
* Диалект.
* Номера транзакций.
* Размер страницы.
* Версия ODS.
* И т.п.
MON$ATTACHMENTS
В таблице отображаются активные на данные момент подключения к серверу Firebird. С помощью MON$ATTACHMENTS можно прочитать информацию о подключившемся клиенте: путь, PID процесса, имя хоста, протокол, пользователь, состояние подключения и т.д.
В релизе Firebird 2.1 таблица только на чтение. Возможность удалять зависшие коннекты из данной таблицы появится в Firebird 2.5
MON$TRANSACTIONS
Информация о запущенных транзакциях: тип, уровень изоляции, режим autocommit, состояние (idle или active), ссылка на подключение и т.п.
MON$STATEMENTS
Информация о выполняющихся и подготовленных запросах SQL и GDML. В FB 2.1 вы можете выполнить операцию DELETE над этой таблицей для отмены выполняющегося запроса:
delete from mon$statements
where mon$attachment_id <> current_connection
MON$CALL_STACK
MON$CALL_STACK — Информация об активных запросах PSQL, т.е. о выполняемых в данный момент хранимых процедурах и триггерах.
MON$IO_STATS
MON$IO_STATS — Статистика ввода вывода, число прочитанных/записанных страниц и т.п.
MON$RECORD_STATS
MON$RECORD_STATS — Статистика уровня записей: число удаленных, добавленных, вставленных записей, число записей прочитанных по индексу и последовательным перебором и т.д.
Ну и тут же родился логирующий скрипт. Написан для линукса. Оборачивается в файл .sh
#!/bin/bash
isql=/opt/firebird/bin/isql
tmp=~/tmp/log_db_system_info.tmp
db=localhost:/db/test.fdb
logPath=~/tmp
user=sysdba
password=masterkey
executeSelect ()
{
echo «$1;» > $tmp
echo «commit;» >> $tmp
echo «quit;» >> $tmp
# echo $isql -i $tmp $db -u $user -p $password
echo ----- ---- — — — >> $logPath/$2.log
date +%y.%m.%Y_%H:%M:%S >> $logPath/$2.log
$isql -i $tmp $db -u $user -p $password >> $logPath/$2.log
return
}
executeSelect «select * from MON\$DATABASE» mon_database
executeSelect «select * from MON\$ATTACHMENTS» mon_attachments
executeSelect «select * from MON\$TRANSACTIONS» mon_transactions
executeSelect «select * from MON\$STATEMENTS» mon_statements
executeSelect «select * from MON\$CALL_STACK» mon_callstack
executeSelect «select * from MON\$IO_STATS» mon_iostats
executeSelect «select * from MON\$RECORD_STATS» mon_recordstats
Popularity: 100%
Метки:firebird, Работа, ремонт баз данных, скриптСвязанные записи
Tags: firebird, ремонт баз данных, скрипт
Интересные посты — читаются на одном дыхании. Пишите больше. От души респектую.
Про Apex еще интересно, продолжайте будем ждать
А я считаю, что все это верно и очень точно подмечено!
За статью премного благодарен, все по делу, достаточно много кто это использует
Спасибо. Прочитал с интересом. Блог в избранное занес=)
Чёрт возьми! Круто!
Спасибо! Супер статья! Блог в ридер однозначно
Круто. Добавлю блог в избранное и друзьям посовету. Ждите новых читателей
Информация бесспорно интересная. Уверен что любой читатель не сможет остаться равнодушным к тексту
А не намекнете, где можно почитать подробнее, господа?
Интересно и позновательно, а будет еще что-то по этой теме?
Мне кажется идея в этой статье раскрыта не до конца. Автор, может что-то добавишь к этому ?
Как обычно. Документация ))
спасибо! хороший пост! занесу ваш блог к себе в ридер
Спасибо! а еще посты на эту тему будут?
Спасибо! а еще посты на эту тему будут?
Давно искала эту информацию, спасибо.
Занятно-занятно, нигде раньше на такое не натыкался.
Очень интересно, но все в будущем хотелось бы еще побольше узнать об этом. Очень понравилась ваша статья!
Да уж. В этом блоге хоть комментаторы нормальные... А то пишут обычно в комментарии ерунду всякую.
почему так редко блог обновляете
у вас нашел именно то, что искал. огромное человеческое спасибо!
Прочитал, понравилось. Биг сенкс)
Получил море удовольствия, спасибо:)
Что-то такое слышал, но не так подробно, а откуда материал брали?
Спасибо огромное!
...
Даже недостатки могут нравиться, если в них проявилась душа. ...
...
Не хмурь бровей! ...
Спасибо за Ваш труд!!
Большое спасибо, прикольно написанно «креативно»
Здравствуй! Спасибо за подаренные хорошие эмоции…
«спасибо за инфу»
«Спасибо»
Уважаемые, а можно оставлять комментарии по теме, а не разную глупость типа Автор молодец и т.д.
большое спасибо!Взяла себе тоже-пригодится.
перечитал весь блог, довольно неплохо
Мне понравилось... Хотя по большему счету тема раскрыта не до конца... Но все равно спасибо.
Спасибо, информация очень интересная.)
Шикарно тут у Вас. ) Надо будет еще заскочить.
Спасибо, пригодится. Очень понравилось.
Ну что можно еще придумать?
Спасибо, пригодится:)
Это действительно так.
Как раз то что искал.Спасибо, если можно, детальнее раскройте всю тему сообщения. Также интересуют приближенные темы.