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

Архивирование системных таблиц

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

nCode = htCatalogBackup(sArchive);

Аргументы:

Аргумент

Тип

Значение

sArchive

character

Имя создаваемого архивного файла

Результат:

Тип

Значение

integer

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

Например:

insert into BACKLOG (DTLOG, TMLOG, TBLOG, ERLOG) values (today(), gettick(), 'SYSDICT', htCatalogBackup(@path+'SYSDICT.DATA'));

В данном примере в каталоге @path будет создан файл SYSDICT.DATA с резервной копией системного каталога.

Перед архивированием системного каталога рекомендуется его упаковать с помощью функции htCatalogPack. Необходимость вызова htCatalogPack связана с тем, что в системных таблицах имеется дифференциальная часть, а архивируется только постоянная часть системных таблиц. Формат вызова функции htCatalogPack:

nCode = htCatalogPack();

Результат:

Тип

Значение

integer

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

Архивирование файла инициализации

Файл инициализации в процессе работы используется только для чтения параметров и никак не меняется. Поэтому для создания резервной копии файла инициализации достаточно скопировать его командой операционной системы. Команду операционной системы можно выполнить и с помощью функции system из SQL-скрипта.

Например:

system('copy c:/HYTECH/sql64.ini c:/backup', '');

В примере файл инициализации sql64.ini будет скопирован в каталог резервной копии C:/BACKUP.

Достоинства архивирования БД в оперативном режиме:

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

  • Гибкость: копироваться могут только те таблицы БД и управляющие файлы, которые требуются. Громе того, существенно больше возможностей по выбору времени, когда копирование может быть выполнено.

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

Недостатки:

  • Процедура резервного копирования и восстановления более сложная, чем в случае автономного архивирования.

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