Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
. ! .
Теневое копирование не является заменой резервного копирования. Не успокаивайте себя верой в то, что теневое копирование является способом замены регулярного резервного копирования и периодического восстановления базы данных.
* Файл теневой копии не менее уязвим от "бросков и стрел жестокой фортуны", чем любые другие файлы вашей файловой системы.
* Одна потеря или повреждение файла теневой копии делает все теневое копирование бесполезным.
* Смерть диска или ненадежный модуль памяти способны принести огромный вред до того, как они полностью разрушат вашу базу данных. Каждый ошибочный фрагмент будет точно записан в теневую копию.
В дополнение нужно сказать, что теневая копия не может принимать соединения. Никогда не пытайтесь соединяться с теневой копией или влиять на нее при использовании инструментов системы или базы данных. Сервер "знает", что он должен сделать с теневой копией для ее преобразования в активную базу данных.
! ! !
СОВЕТ. Не будет серьезных проблем, если теневая копия случайно повреждена или удалена. Пока вы знаете, что случайности могут произойти, теневая копия для здоровья базы данных может быть восстановлена в любое время просто удалением копии и новым ее созданием.
. ! .
Реализация теневого копирования
В Firebird существует синтаксис DDL для создания и удаления теневых копий с различными предложениями для задания размещения, режима работы и размера файла. Изменение теневой копии требует удаления существующей копии и создания новой с новыми спецификациями.
Теневая копия, которая является одним дисковым файлом, называется файлом теневой копии. Теневая копия, состоящая из нескольких файлов, - которые могут располагаться более чем на одном диске, - называется набором теневых копий. Наборы теневых копий группируются в множество наборов теневых копий [39] Для автора оказалось невозможным найти кого-нибудь, кто мог бы объяснить преимущества (если они существуют) ведения множества наборов теневых копий. Система нумерации могла быть результатом некоторой функциональности, которая никогда не была реализована. При отсутствии лучшей информации, похоже, имеет смысл остановиться на одном наборе
.
Теневая копия должна быть создана на жестком диске, отличном от диска размещения файлов активной базы данных, поскольку одной из главных целей теневого копирования является восстановление работоспособности при сбоях диска.
Дисковое устройство должно быть физически подключено к машине, на которой выполняется сервер Firebird. Файлы в наборе теневых копий могут находиться на разных дисках для улучшения ввода/вывода и выделения дискового пространства. Как и спецификации файлов базы данных, спецификации для теневых копий являются зависимыми от платформы.
Установка режима - автоматический (с или без атрибута условная, CONDITIONAL) или ручной - определяет, что произойдет, если теневая копия станет недоступной.
Режим AUTO устанавливается по умолчанию. Он позволяет базе данных продолжить работу в случае, когда теневая копия станет недоступной, или наоборот, теневая копия будет целой, а диск с базой данных окажется поврежден.
* В момент, когда теневая копия станет недоступной, появится окно, чтобы проинформировать об этом администратора базы данных.
* Если ставшая недоступной теневая копия была создана с атрибутом CONDITIONAL, Firebird автоматически создает новую теневую копию, если это возможно.
* Если теневое копирование не является условным, то понадобится заново создать теневую копию вручную.
Режим MANUAL прекращает дальнейший доступ к базе данных в случае, когда теневая копия становится недоступной. Закройте ее, если продолжение теневого копирования является более важным, чем продолжение операций с базой данных.
Для восстановления соединения администратор должен удалить старый файл теневой копии, удалить на нее ссылки и создать новую теневую копию.
Одной из причин, по которой теневая копия становится недоступной, является ситуация, когда она принимает на себя функции главной базы данных в случае "гибели" аппаратуры существующей базы данных - как-никак это основная идея теневого копирования [40] CONDITIONAL SHADOW на самом деле имеет смысл как дополнение к AUTO, и только. Если CONDITIONAL создана как второй набор по отношению к AUTO, то она будет пустой до тех пор, пока с базой или с AUTO SHADOW не произойдет сбой. При сбое CONDITIONAL SHADOW будет наполнена страницами из целого файла и примет на себя функции альтернативной копии, таким образом даже в случае сбоя дисковой системы будет существовать две копии базы данных. И, разумеется, CONDITIONAL SHADOW не имеет смысла как дополнение к manual shadow (как и комбинация из двух SHADOW- AUTO + MANUAL), Т. к. при MANUAL в случае сбоя работа сервера с базой останавливается. - Прим. науч. ред.
!
! ! !
ВНИМАНИЕ! Атрибут CONDITIONAL должен также приводить к автоматическому созданию новой теневой копии, если существующая теневая копия становится операционной базой данных. Тем не менее практика показывает, что это происходит не всегда. Проверьте, работает ли это, как ожидалось, и будьте готовы использовать запасной вариант.
. ! .
По умолчанию теневая копия создается как "набор", содержащий один файл. Тем не менее набор теневой копии может включать в себя несколько файлов. Когда база данных- а следовательно, и ее теневая копия - увеличивается в размерах, теневая копия может быть переопределена и перегенерирована с большим количеством файлов, чтобы соответствовать требованиям увеличения пространства.
Создание теневой копии
Создание теневой копии не требует исключительного доступа; это также не влияет на пользователей, соединенных с базой данных. DDL-оператор CREATE SHADOW создает теневую копию базы данных, с которой вы соединены в настоящий момент.
Синтаксис:
CREATE SHADOW номер-набора [AUTO | MANUAL] [CONDITIONAL]
'спецификация-файла'
[LENGTH [=] целое [PAGE[S]]] [<���вторичный-файл>];
<���вторичный-файл> = FILE 'спецификация-файла'
[<���информация-о-файле>] [<���вторичный-файл>]
<���информация-о-файле> =
{LENGTH [=] целое[PAGE[S]] | STARTING [AT [PAGE]]
целое} [<���информация-о-файле>]
! ! !
СОВЕТ. Как и в операторе CREATE DATABASE, спецификация файлов для теневой копии всегда является зависимой от платформы.
. ! .
Предположим, у нас имеется сервер на Linux, соединенный с базой данных employee.gdb, которая размещена в каталоге примеров в корневом каталоге Firebird. Мы решили выполнять теневое копирование базы данных в разделе с именем /shadows. Для создания однофайловой теневой копии мы используем оператор
Читать дальшеИнтервал:
Закладка: