Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Восстановление базы данных, архивированной в оперативном режиме

Восстановление БД, архивированной в оперативном режиме, проводится при помощи той же последовательности действий, что и для БД, архивированной в автономном режиме:

  • Останов HyTech SQL- сервера, управляющего восстанавливаемой БД, если это требуется;

  • Подготовка носителя (диска) для восстановления файлов с резервной копии;

  • Восстановление БД;

  • Запуск HyTech SQL-сервера.

Различие состоит в шаге «восстановление БД». На остальных шагах рекомендуется следовать рекомендациям, изложенным в предыдущем разделе. Восстановление БД включает шаги:

  • Восстановление файла инициализации;

  • Восстановление таблиц из резервной копии;

  • Восстановление системных таблиц.

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

Восстановление файла инициализации выполняется путем копирования файла из резервной копии на место поврежденного файла. Далее рассмотрим другие шаги процесса восстановления.

Восстановление базы данных, архивированной в оперативном режиме - восстановление таблиц

Для восстановления таблиц из резервной копии используется специальная функция htRestoreTable. Функция копирует таблицу из резервной копии и индексирует ее. При этом копия должна представлять собой неиндексированную постоянную часть и описатель таблицы (результат работы функции htBackupTable).Формат вызова функции htRestoreTable:

nRetCode = htRestoreTable(sTable, sBackup);

Аргументы:

Аргумент

Тип

Значение

sTable

character

Имя таблицы, которую хотим восстановить из резервной копии. Если таблица существует, то она может быть как постоянной, так и временной таблицей. Если таблица не существует, то создаётся постоянная таблица, в которую восстанавливаются данные из резервной копии.

sBackup

character

Имя резервной копии таблицы.

Результат:

Тип

Значение

integer

Код ошибки или 0, если операция завершилась успешно.

Например:

var @ret = htRestoreTable('TABLE1', ' c:/backup/TABLE1');

В примере таблица TABLE1 восстанавливается из резервной копии, находящейся в каталоге c:/backup.

Внимание! После восстановления таблицы требуется ее переиндексирование. Переиндексирование может быть выполнено утилитой htrepr64. Утилита htrepr64 описана в теме «Индексирование и упаковка таблиц, снятие провисшего захвата».

Восстановление базы данных, архивированной в оперативном режиме - восстановление системных таблиц

Для восстановления системных таблиц в состав дистрибутива HyTech входит специальная утилита HTRESTOR. Утилита восстанавливает из архивного файла системные таблицы сервера HyTech. Архивный файл при этом должен быть создан ранее во время работы сервера вызовом функции htCatalogBackup. Кроме основной функции программа позволяет проверить целостность архивного файла и получить его содержимое.

Параметры утилита HTRESTOR берет из командной строки и конфигурационного файла.

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

HTRESTOR.EXE Команда Архивный_Файл

где:

Параметр

Назначение

Команда

t

Тестирование архивного файла.

l

Получить содержимое архивного файла.

e

Извлечь все файлы из архива в текущий каталог.

x

Извлечь все файлы из архива в соответствующие каталоги.

Архивный_файл

Архивный файл, содержащий системные таблицы.

Пример вызова:

HTRESTOR.EXE x c:\backup\SYSDICT.DATA

В результате вызова из архивного файла c:\backup\SYSDICT.DATA будут извлечены все файлы из архива в то место, откуда выполнялось их резервное копирование.

Утилита HTRESTOR также использует конфигурационный файл с именем htrestor.ini, находящийся в том же каталоге, что и запускаемая программа. Конфигурационный файл является специальным текстовым файлом, содержащим пары <имя_ключа=значение>, которые используются программой во время загрузки. Пары <имя_ключа=значение> объединены в разделы. Каждый раздел имеет имя, которое помещается в начало раздела и заключается в квадратные скобки. В настоящее время имеется единственный раздел [HTRESTORE] со следующим ключом:

Ключ

Тип значения

Назначение

Значение по умолчанию

LogFile

Строка

Имя файла для протокола. Если параметр опущен, то протокол не пишется.

Отсутствует

В протокол работы записываются следующие данные:

  • Исходные данные архива, из которого извлекаются системные файлы;

  • Сведения об извлекаемых файлах;

  • Ошибки, возникающие при извлечении файлов из архива.

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