» » » Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ


Авторские права

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Здесь можно скачать бесплатно "Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство БХВ-Петербург, год 2006. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Рейтинг:
Название:
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Автор:
Издательство:
БХВ-Петербург
Год:
2006
ISBN:
5-94157-609-9
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ"

Описание и краткое содержание "Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ" читать бесплатно онлайн.



Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных






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

* Ошибки, возвращаемые как "конфликт блокировки" при запросах блокировки NO WAIT, не фиксируются в таблице блокировок как взаимные блокировки, потому что ожидает только один владелец.

* Ошибки, возвращаемые как "взаимные блокировки" с последующим сообщением "Update conflicts with concurrent update" (Конфликты обновлений при параллельном обновлении), также не являются настоящими взаимными блокировками. В этом случае произошло всего лишь то, что один владелец изменил (или удалил) строку и "пошел" дальше. Другой параллельный владелец попытался изменить (или удалить) ту же самую запись, ждал освобождения ее первым владельцем, а теперь получил ошибку, потому что последняя подтвержденная версия записи была изменена.

Таблица блокировок данных может быть выведена в более или менее читаемом формате с помощью утилиты 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

Интерактивные отчеты

Вторая форма собирает заданные номера выборок фиксированных интервалов и создает интерактивный отчет, отслеживающий текущую деятельность таблицы блокировок. Синтаксис:

fb_lock_print [-i{a,o,w}] [t n]

t задает время в секундах между выборками, n задает количество требуемых выборок. Если вы не задаете значений для n и r, то значением по умолчанию является n= 1.

Выборки осуществляются n раз через интервалы в t секунд. Одна группа выводится для каждой выборки. Средние значения выборки выводятся в конце каждого столбца.

Следующий оператор выводит статистику (доступ к таблице блокировок) в виде 10 выборок, осуществляемых каждые 3 секунды:

fb_lock_print -ia 3 10

В конце этой главы представлен мгновенный снимок интерактивного отчета с объяснением значения каждого столбца.


! ! !

СОВЕТ. Ограничения буфера в окне командной строки могут привести к "исчезновению" выходных данных за исключением последней части. Вы можете направить вывод утилите more (или less в POSIX).

fb_lock_print -wh | more

Когда окно будет заполнено, нажмите или держите нажатой клавишу <Return> (Enter) для отображения дальнейшего вывода по строке за раз. Нажатие клавиш <Ctrl>+<C> завершает more или less.

. ! .


Вывод отчета в файл

Обычно результаты являются достаточно большими, чтобы их просматривать с консоли. Вы можете направить их в выходной файл, например, в каталог с именем /data/server_reports/ (ваш выбор!) таким образом:

fb_lock_print -а > /data/server_reports/lock.txt

Если вы видите, что Lock Print выполняется более минуты или двух или замечаете, что он заполняет ваш диск, остановите его с помощью <Ctrl>+<C> или эквивалента вашей платформы.

Группы отображаются в порядке внутренних списков. Новые группы помещаются в начало списка, следовательно, обновленная таблица блокировок будет показана в строках в обратном порядке. Поскольку группы блоков, запросов и владельцев освобождаются и используются заново, порядок становится полным беспорядком. Текстовый редактор будет весьма полезным для исследования отношений.

Простое использование Lock Print

Мы посмотрим на пример очень простой статистики, полученной от Lock Print без переключателей.

* Заголовок блока всегда будет первым.

* Далее идут группы владельцев - за группой владельца следуют все запросы этого владельца. Каждый владелец цепочки выводится с его запросами.

* После всех владельцев и запросов идут блокировки.

* Последним элементом является история записей.


Группа Lock_Header

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


Рис. 40.2. Группа Lock_Header


Наш отчет Lock Print представляет только что созданную базу данных, к которой имеет доступ одна копия isql в версии l.O.x Суперсервера для Windows.

Таблица 40.2. Записи группы Lock_Header

Элемент

Объяснение

1

LOCK_HEADER_BLOCK

Первая группа любого отчета Lock Print. Каждый отчет выводит ровно одну группу заголовка блока

2

Version (Версия)

Номер версии Менеджера блокировок. В Firebird 1.5 версия будет 115 для Суперсервера и 5 для Классического сервера. В Firebird 1.0.x (для нашего примера) такими версиями будут 114 и 4 соответственно

3

Active owner (Активный владелец)

Смещение в группе владельца, представляющее владельца, который в настоящий момент управляет таблицей блокировок, если такой существует. Если ни один процесс не пишет в таблицу блокировок, то активным владельцем будет 0


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ"

Книги похожие на "Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Хелен Борри

Хелен Борри - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ"

Отзывы читателей о книге "Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.