Утилита Lock Print

Утилита Lock Print

Программой, которая выбирает статистику таблицы блокировки, является исполняемый модуль fb_lock_print, который можно найти в каталоге /bin каталога инсталляции Firebird. (Для версии 1.0.x ищите iblockpr.exe в Windows или gds_lock_pr в POSIX.) Доступны два синтаксиса: один для статичного отчета, другой для задания интерактивной выборки в указанных интервалах.

Синтаксис для Firebird 1.5 и выше:

fb_lock jprint <переключатели>

Версия 1.0.x, POSIX:

gds_lock_pr <переключатели>

Версия 1.0.x, Windows:

iblockpr <переключател14>

Программа fb lock print имеет множество переключателей, описанных в табл. 40.1. Когда не задано ни одного переключателя, fb lock print выводит итоговую информацию, описывающую заголовок блока и владельцев, связанных с Менеджером блокировок.

Таблица 40.1. Переключатели для отчетов Lock Print

Переключатель

Описание

(нет переключателей)

Выводит итоговую информацию, описывающую заголовок блока и владельцев, связанных с Менеджером блокировок

-a

Выводит содержимое таблицы блокировок, включая заголовок блока, группы блоков, группы владельцев и группы запросов. Группа блока представляет ресурс, который должен быть заблокирован (база данных, транзакция, отношение, страница базы данных и т.д.), и идентифицирует владельца, который имеет или запросил блокирование этого объекта. Группа запроса описывает запрос в процессе блокирования ресурса. Группа запроса может описывать или предоставленную блокировку, или ожидание завершения запроса на блокировку

Указывает, что таблица блокировок должна быть скопирована, а не использована сама. Копирование является быстрым и создает мгновенный статичный снимок таблицы блокировок. Тем не менее он остановит все процессы доступа к базе данных на время своего выполнения

-f

Задает, что анализ должен быть выполнен на указанном файле, а не на настоящем файле блокировки. К сожалению, этот переключатель не работает в Firebird

-h

Выводит только историю

-i <переключатели> <t> <n>

Запускает интерактивный режим (см. разд. "Интерактивные отчеты"). Если указано только -i, то выводятся все данные

-l

Выводит только группы блоков

-n

Указывает, что не существует "никакого моста". Мост является переходным механизмом, распознающим множество серверов различных версий Firebird на одной машине. Это не доступно в версиях Firebird 1.0.x или 1.5, но, скорее всего, будет реализовано в следующих версиях Firebird

-o

Выводит группы владельцев

-p

То же, что и -о. (Группы владельцев, используемых в вызовах групп процессов.)

-r

Выводит группы запросов

-s <n>

Выводит заголовок таблицы блокировок, группы владельцев и блокировки указанных серий. Аргумент <n> указывает тип блокируемого ресурса, который вы хотите отобразить. Номера см. в табл. 40.5

-t

Выводит статистику для всех серий (только интерактивный отчет)

-w

Выводит "граф ожидания" - блоки владельцев с запросами ожидания, чего они ожидают, чего ожидают их владельцы и т.д. В этом отчете вы можете просмотреть, какой запрос владельца блокирует другие запросы в таблице блокировок. Это самый простой способ найти блокировки, хотя полное отображение блокировок даст вам много больше информации относительно взаимосвязей, находящихся в очереди запросов

Статичные отчеты

Статичные отчеты выводят текущее состояние (мгновенный снимок) таблицы блокировок. Допустимы любые переключатели, за исключением -i, вы можете "затолкать" в него множество переключателей. Например, для вывода "ожидающего" графа плюс группы истории введите:

fb_lock_print -wh