вторник, 19 августа 2008 г.

Firebird 2.5 - Улучшенный мониторинг.

Асинхронное отключение клиентов


В Firebird 2.5 появилась возможность отключать клиентов от сервера.

Для отмены всей активности конкретного клиента можно использовать следующий запрос:
DELETE FROM MON$STATEMENTS
WHERE MON$ATTACHMENT_ID = 32
Следующий код может оказаться полезен если необходимо отключить всех клиентов от базы перед выполнением важного обновления:
DELETE FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
Данный механизм работает для файлов баз данных с версией ODS не ниже ODS 11.2.

MON$MEMORY_USAGE


Новая виртуальная таблица MON$MEMORY_USAGE позволяет получить информацию об использовании памяти.

Пример: Выбрать 10 запросов отсортированных в порядке используемой ими памяти
SELECT FIRST 10
STMT.MON$ATTACHMENT_ID,
STMT.MON$SQL_TEXT,
MEM.MON$MEMORY_USED
FROM MON$MEMORY_USAGE MEM
NATURAL JOIN MON$STATEMENTS STMT
ORDER BY MEM.MON$MEMORY_USED DESC

MON$CONTEXT_VARIABLES


Таблица MON$CONTEXT_VARIABLES содержит информацию о контекстных переменных.

Пример: Перечислить все контекстные переменные для текущего подключения
SELECT
VAR.MON$VARIABLE_NAME,
VAR.MON$VARIABLE_VALUE
FROM MON$CONTEXT_VARIABLES VAR
WHERE VAR.MON$ATTACHMENT_ID = CURRENT_CONNECTION

1 комментарий:

Unknown комментирует...

Почему умер блог?
Тема достаточно интересная и познавательная. Есть много вопросов, особенно для оптимизации настроек сервера Firebird на больших базах данных.