Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга по БД(Вальке А.А.).doc
Скачиваний:
27
Добавлен:
29.04.2019
Размер:
4.5 Mб
Скачать

7.3. Архивирование и восстановление данных

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

Средства архивирования могут работать на уровне операционной системы, на уровне прикладной программы, на уровне СУБД. То есть средства архивирования и восстановления данных могут работать соответственно с объектами в понимании операционной системы (файлы, диски), могут сохранять некоторые внутренние параметры прикладной программы, а могут работать и с объектами сервера базы данных (таблицами, базами данных). Нас интересует архивация и восстановление именно на уровне СУБД, а, более конкретно, эти средства в серверах фирмы Informix Dynamic Server. Рассмотрим эти средства более подробно.

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

7.3.1. Что нужно архивировать

Стоит напомнить о том, как реально хранятся данные в сервере Informix Dynamic Server. На диске для хранения данных выделяются чанки (chunks). Чанк - это файл, устройство прямого доступа (раздел диска без файловой системы) или их фрагменты. Чанки объединены в наборы, называемые пространствами данных (dbspace). Внутри пространств данных существует системная область для внутренней информации, хранятся таблицы с данными и, кроме того, имеются логические журналы. В таблицах хранятся текущие данные, а в логические журналы записываются все изменения в таблицах (типа “пользователь Х в момент времени t поменял значение поля F с M на N”).

Другими словами, существует несколько категорий объектов в базе данных. С точки зрения администратора сервера базы данных (пользователя “informix”), в базе данных существуют такие объекты, как чанки (chunks), пространства данных (dbspaces) и журналы транзакций (logical logs). С точки зрения разработчика той или иной конкретной системы, в СУБД хранятся базы данных, состоящие из таблиц, хранимых процедур и т.д. Соответственно, Informix Dynamic Server предоставляет возможность каждой из указанных категорий найти те средства архивации и восстановления, которые ей подходят.

7.3.2. Утилиты архивации и восстановления

Имеются следующие утилиты архивирования и восстановления данных, предназначеные для администратора СУБД, то есть работающими с такими категориями, как журнал транзакций, пространство данных и т.д.:

ontape onarchive onbar

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

dbexport dbimport

Здесь мы рассмотрим только одну утилиту, которая, наверное, чаще всего используется для выполнения рассматриваемых здесь задач, а именно утилиту ontape.

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

TAPEDEV - устройство, обычно ленточное, для создания архивов, на котором будет создаваться архив (например, /dev/rmt/0m);

TAPEBLK - размер блока для TAPEDEV в килобайтах, то есть тот объем информации, который будет использоваться для обмена с устройством TAPEDEV (например 100);

TAPESIZE - емкость носителя (обычно магнитной ленты) в килобайтах на устройстве TAPEDEV, то есть сколько информации может быть сохранено на одном носителе (например, 2000000 для 4 мм 2ГБт ленточки).

Для создания и восстановления архивов журналов транзакций используются аналогичные параметры:

LTAPEDEV - устройство, обычно ленточное, для создания архивов журнала (например, /dev/rmt/1m);

LTAPEBLK - размер блока для LTAPEDEV в килобайтах (например 50);

LTAPESIZE - емкость носителя (обычно магнитной ленты) в килобайтах на устройстве LTAPEDEV.

В принципе, в качестве устройств (параметры TAPEDEV и LTAPEDEV) могут выступать и файлы, только надо убедиться, что пользователь informix имеет право читать и писать в данный файл и, так как утилита ontape проверяет наличие данного устройства, этот файл должен существовать. Кроме того, ничто не мешает использовать одно и тоже устройство и для создания архива данных, и для создания архива журнала транзакций. Просто в этом случае надо быть внимательным при смене носителей в устройстве.