Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Базы данных

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

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

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

Резервное копирование (Ьаскир) может быть выполнено одним из способов: с помощью утилиты gbak, которая вызывается в командной строке, или с помощью специальных инструментов.

а. Работа с утилитой gbak

Утилита gbak входит в стандартную поставку InterBase. Эта утилита обеспечивает доступ к любому серверу InterBase и позволяет как создавать резервную копию, так и восстанавливать базу данных из архива.

Формат запуска утилиты для создания резервной копии:

gbak [-5] [options] <имя_БД_источника> <имя_файла_резервной_копии>

В первых квадратных скобках указывается действие (опция), которое необходимо выполнить. Знак минус перед опцией указывать обязательно.

Допустимые значения первой опции:

— создание резервной копии (bakup database).

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

  • -со свободные таблицы преобразовать во внутренние таблицы (convert);
  • резервную копию не архивировать (expand);
  • -fa п — при копировании на ленточный носитель использовать блокировку {factor п)
  • -g сборку «мусора» не выполнять {garbage_collct)
  • -ig игнорировать контрольные суммы {ignore). Этот ключ используется в том случае, если надо восстановить испорченную базу данных, и позволяет поместить в базу данных записи с испорченных страниц (с неверными контрольными суммами). Если этот ключ отсутствует, то при обнаружении испорченной страницы копирование прекращается и выдается соответствующее сообщение;
  • -/ — игнорировать «зависшие» транзакции, если копирование выполняется одновременно с работой других пользователей {limbo)
  • выполнить копирование только метаданных {metadata)', -nf — резервная копия в неперемещаемом виде, т. е. платформа одна и та же;
  • -о/ — метаданные копируются в «старом» формате с целью их совмещения со старыми версиями базы данных {old descriptions);
  • -pass text — указать пароль пользователя, который подключается к базе данных с целью ее копирования {password text);
  • -role name — выполнить подключение к копируемой базе данных с использованием роли name',
  • -se servicename — создать резервную копию на том же персональном компьютере, где размещена база данных-источ-ник {service servicename). В зависимости от используемого сетевого протокола формат вызова утилиты изменяется:

TCP/IP — hostname:service_mgr SPX — hostname@service_mgr Named pipes — hostnameservice тяг Localservicejngr

  • -t создать резервную копию базы данных для переноса на другую платформу {transportable)',
  • пате — указать имя пользователя, который подключается к базе данных-источнику с целью ее копирования {user пате)',
  • -V вывести на экран протокол действий утилиты во время выполнения процедуры копирования {verbose)',
  • сообщения о действиях утилиты направить в файл с тем же именем, что и файл копии базы данных, или сообщения игнорировать (file suppres_output)
  • -Z вывести на экран номер версии утилиты gbak и номер версии ядра InterBase-сервера [2].

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

• Уровень InterBase.

На этом уровне пользователь, создающий резервную копию, должен иметь права SYSDBA (User пате) и пароль masterkey (password). Такими правами обладает администратор и владелец базы данных, также эти права может получить любой пользователь по праву наследования от администратора или владельца базы данных.

• Уровень WINDOWS NT2000XP.

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

При работе сервера InterBase под управлением операционной системы Linux пользователю для работы с утилитой gbak необходимо предоставить права на модификацию файла базы данных, а также предоставить ему право обращения к библиотеке libgds.so, которая используется утилитой gbak.

• Уровень соединения.

Если соединение компьютера клиента с сервером базы данных выполняется по протоколу TCP/IP, то никаких дополнительных прав предоставлять не надо. В этом случае к базе данных может подключиться любой пользователь, не имеющий никаких прав. Поэтому для пользователей, не имеющих никаких прав, при создании базы данных необходимо предусмотреть только режим просмотра (возможно даже некоторых таблиц).

Если соединение выполняется по протоколу Named Pipes, то пользователю необходимо явно предоставить право на модификацию файла базы данных и каталога.

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

Пример 12.1. Создание файла резервной копии базы данных на сервере.

gbak -b -user SYSDBA -password masterkey

C:S KLADBook.gdb E:S KLADR_Book.gdb

В результате работы утилиты gbak на диске Е будет создана резервная копия базы данных C:SKLADBook.gdb в виде одного файла. Так как размер базы данных нигде не указан, то на диске Е должно быть достаточно свободного места.

Пример 12.2. Создание многотомного файла резервной копии базы данных на сервере.

gbak -b -user SYSDBA -password masterkey

C:SKLADBook.gdb E:SKLADR_Bookl.gdb 2G

E:SKLADR_Book2.gdb 2G E:SKLADR_Book3.gdb 2G

E:SKLADR_Book4.gdb 2G

В результате работы утилиты gbak на диске Е будет создана резервная копия базы данных C:SKLADBook.gdb в виде четырех файлов. Размер каждого файла резервной копии задан явно и равен 2 Гбайт.

Пример 12.3. Создание многотомного файла резервной копии базы данных на персональном компьютере клиента. Копирование выполняется под управлением Windows NT.

gbak -b -user SYSDBA -password masterkey -service server_nt:sevice_mgr

C:SKLADBook.gdb F:SKLADR_Bookl.gdb 650M

F:SKLADR_Book2.gdb 650M F:SKLADR_Book3.gdb 650M

F:SKLADR_Book4.gdb 650M

Количество файлов резервной копии может быть любым. Последний файл может занимать меньший объем, чем указано в команде. Если копирование базы данных источника закончилось, но остались заданные файлы резервной копии, то пустые файлы игнорируются. В данном примере размер каждого файла резервной копии равен 650 Мбайт, что удобно при копировании на компакт-диск.

Создание резервной копии базы данных требует больших затрат времени.

Администратор базы данных выбирает удобное время для копирования, не создавая клиентам дополнительных неудобств.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы