FirebirdSQL logo

Теневая копия (shadow — дословно тень) является точной страничной копией базы данных.После создания теневой копии все изменения, сделанные в базе данных, сразу же отражаются и в теневой копии.Если по каким либо причинам первичный файл базы данных станет недоступным, то СУБД переключится на теневую копию.

В данном разделе рассматриваются вопросы создания и удаления теневых копий.

Note

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

CREATE SHADOW

Назначение

Создание теневой копии.

Синтаксис
CREATE SHADOW sh_num [AUTO | MANUAL] [CONDITIONAL]
  'filepath' [LENGTH [=] num [PAGE[S]]]
  [<secondary_file>];

<secondary_file> ::=
  FILE 'filepath'
  LENGTH [=] num [PAGE[S]] | STARTING [AT [PAGE]] pagenum
Table 1. Параметры оператора CREATE SHADOW
Параметр Описание

sh_num

Номер теневой копии – положительное число, идентифицирующее набор файлов теневой копии.

filepath

Имя файла и путь к нему в соответствии с требованиями ОС.

num

Максимальный размер теневой копии в страницах.

secondary_file

Спецификация вторичного файла.

page_num

Номер страницы, с которой должен начинаться вторичный файл копии.

Оператор CREATE SHADOW создаёт новую теневую копию.Теневая копия начинает дублировать базу данных сразу в момент создания этой копии.

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

Для файлов теневой копии размер страницы устанавливается равным размеру страницы базы данных и не может быть изменён.

Если по каким либо причинам файл базы данных становится недоступным, то система преобразует тень в копию базы данных и переключается на неё.Теневая копия становится недоступной.Что будет дальше зависит от выбранного режима.

Режимы AUTO и MANUAL

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

  • Если выбран режим AUTO (значение по умолчанию), то в случае, когда теневая копия становится недоступной, автоматически прекращается использование этой копии и из базы данных удаляются все ссылки на нее. Работа с базой данных продолжается обычным образом без осуществления копирования в данную теневую копию.

    Если указано ключевое слово CONDITIONAL, то система будет пытаться создать новую теневую копию,чтобы заменить потерянную.Это не всегда возможно, тогда вам потребуется создать новую тень вручную.

  • Если выбран режим MANUAL, то в случае, когда теневая копия становится недоступной, все попытки соединения с базой данных и обращения к ней будут вызывать сообщение об ошибке до тех пор, пока теневая копия не станет доступной или пока не будет удалена администратором БД с помощью оператора DROP SHADOW.

Необязательные параметры CREATE SHADOW

LENGTH

Необязательное предложение LENGTH задаёт максимальный размер первичного или вторичного файла теневой копии в страницах.Для единственного или последнего файла теневой копии значение LENGTH никак не влияет на его размер.Файл будет автоматически увеличивать свой размер по мере необходимости.

STARTING AT

Предложение STARTING AT задаёт номер страницы теневой копии, с которой должен начинаться следующий файл теневой копии.Когда предыдущий файл будет полностью заполнен данными в соответствии с заданным номером страницы, система начнёт помещать вновь добавляемые данные в следующий файл теневой копии.