Главная страница

бд. Системауправлениябазами


Скачать 0.74 Mb.
НазваниеСистемауправлениябазами
Дата01.03.2022
Размер0.74 Mb.
Формат файлаpdf
Имя файлаlhb.pdf
ТипДокументы
#378057
страница3 из 8
1   2   3   4   5   6   7   8
Архивирование только различающихся данных
Это специальный режим (задается ключом
-diff) полного архивирования с одновременным восстановлением данных только в БД. Выполняется архивирование только различий оригинальной и архивной БД. Предполагается, что разархивирование производится в каталог, который уже содержит копию файлов БД, созданную lhb, или выполняется пофайловое копирование БД. После создания этой копии некоторые блоки БД могут поменяться, а некоторые будут неизменными. Вместо повторного архивирования всех данных БД lhb получает от ядра СУБД ЛИНТЕР
только контрольные суммы блоков данных архивной БД. Она также высчитывает контрольные суммы блоков файлов архивируемой БД. При несовпадении контрольных сумм изменившиеся блоки архивируются. Таким образом может быть значительно снижен трафик данных, при некотором увеличении нагрузки на процессор и файловую систему. После архивирования всех различающихся файлов таблиц, системный журнал архивируется обычным образом. Это позволяет одновременно применять данный режим с инкрементным режимом и режимом ожидания.
Поскольку в данном режиме архивная БД уже существует, то в интервале от начала архивирования до его окончания она может прийти в некорректное состояние. Для исключения работы ядра СУБД ЛИНТЕР с такой БД, перед началом архивирования она приводится в непригодное для запуска СУБД ЛИНТЕР состояние – удаляются
14
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Команды утилиты
файлы системного журнала, рабочие файлы и файлы сортировки. После окончания архивирования эти файлы создаются вновь.
В случае если размер файла уменьшился или файл был удален в результате удаления таблицы, соответствующие файлы архивной БД также будут усечены или удалены.
Если БД архивируется в пустой каталог, то данный режим аналогичен режиму обычного архивирования, за исключением дополнительных накладных расходов на передачу контрольных сумм.
Необходимо различать данный режим с режимом инкрементного архивирования. При инкрементном архивировании необходимо предварительно создать полную копию архивируемой БД с контрольной точкой в БД (
-startinc), после чего в архивируемую
БД будет добавляться только системный журнал с накопленными изменениями. В
режиме отличий контрольная точка необязательна, т.к. производится сверка не файлов системного журнала, а файлов таблиц БД.
Режим отличий может применяться совместно с инкрементным режимом. В этом случае вместо первоначального архивирования всей БД (
-startinc) будет производиться архивирование только различающихся файлов таблиц. Работа с системным журналом в этих режимах осуществляется одинаково.
В режиме сохранения отличий никогда не учитываются устройства, хранимые в БД.
Можно использовать только те устройства, которые указаны в переменных окружения.
Это сделано с целью исключения потери файлов архивируемой БД при локальной работе.
В связи с этим необходимо быть особенно внимательным при назначении устройств при работе в режиме сохранения отличий. При неправильном указании каталога устройства размещенная в нем БД будет замещена, причем, в отличие от остальных режимов, без предварительного предупреждения и подтверждения данной операции. Это относится и к каталогам архивируемой БД (может произойти потеря информации).
В режиме сохранения отличий можно отключить компрессию ключом
-nocompress.
На быстрых сетях это может дать некоторое увеличение производительности, особенно при архивировании в пустой каталог.
Фразовые индексы
Архивирование информации о фразовых индексах (список таблиц и проиндексированных столбцов) выполняется только при полном сохранения БД (без нарастающего архивирования).
Примечание
Если ключ архивирования фразовых индексов
-pi задан для любого вида архивирования,
кроме полного архивирования БД, он игнорируется.
Восстановление информации о фразовых индексах происходит в конце процесса полного восстановления БД из архива. В результате восстановления информации о фразовых индексах создается файл phrase.rbd в том же каталоге, что и файлы
БД. Наличие данного файла является сигналом для ядра СУБД на создание фразовых индексов для таблиц и их столбцов, перечисленных в этом файле.
Непосредственное создание фразовых индексов происходит при первом запуске ядра
СУБД для работы с восстановленной БД. Во время восстановления фразовых индексов
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
15

Команды утилиты
активная работа с ядром невозможна, т.к. механизм квантования еще не запущен (вся работа по восстановлению фразовых индексов производится из функции, отвечающей за инициализацию ядра). О том, что ядро занято построением фразовых индексов, на консоль выдается соответствующее сообщение, содержащее имя таблицы, её владельца и столбец, для которого создается фразовый индекс.
После успешного создания фразового индекса файл phrase.rbd удаляется (при неудачном восстановлении фразовых индексов он сохраняется для возможного последующего применения).
По окончании восстановления фразовых индексов ядро СУБД готово к работе.
Восстановление БД
Команда r используется для восстановления БД из архива.
Под восстановлением БД понимается процесс создания объектов БД, идентичных сохраненным в архивном файле (в случае, если было проведено выборочное сохранение), и создание новой БД, если было проведено полное сохранение. При выборочном восстановлении СУБД ЛИНТЕР должна быть активна. Процесс полного восстановления БД выполняется автономно, и функционирование СУБД ЛИНТЕР
не требуется. Выборочное восстановление БД возможно при параллельной работе с другими пользователями БД. Однако в этом случае возможны взаимные помехи в работе,
например, при восстановлении данных таблицы, c которой в этот момент работает пользователь БД (добавляет в нее записи). Особенности восстановления из архива,
полученного при параллельной работе с другими пользователями БД, приведены в разделе
«Особенности архивирования при параллельной работе с пользователями БД»
Примечания
1. Для удаленных (remote) таблиц восстанавливается только их описание (без данных).
2. Хотя процесс выборочного восстановления возможен при параллельной работе с другими пользователями, во избежание нежелательных последствий рекомендуется осуществлять его только в чрезвычайных ситуациях с соблюдением необходимых мер предосторожности.
3. К команде восстановления относятся ключи:
-u, -f, -pg, -p, -oall, -ou, -otwd,
-ot, -oref, -ov, -os, -or, -osr, -oa, -d, -otr, -op, -on, -ob, -own.
Примеры
1) Полное восстановление БД из архива base.lhb в текущем каталоге:
lhb r -f base.lhb
2) Полное восстановление БД из архива base.lhb в каталоге C:\DB:
lhb r -f base.lhb -p C:\DB
Порядок поиска устройств с архивными файлами
При архивировании БД вместе с сохранением собственно данных сохраняется и информация об их местоположении в файловой структуре операционной системы
(например, для повышения производительности файлы данных и индексов могут быть размещены на разных внешних устройствах).
16
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Команды утилиты
В ряде случаев при восстановлении БД из архива может оказаться, что для некоторых файлов требуемых устройств (или каталогов) в файловой структуре операционной системы обнаружить не удалось (например, восстановление БД выполняется на новой аппаратной конфигурации). В такой ситуации утилите необходимы указания о порядке размещения восстанавливаемых файлов. Для этого используется ключ
-dp.
Поиск устройства для размещения файла восстанавливаемой БД выполняется по следующим правилам:
1) если местоположение восстанавливаемого файла соответствует переменной окружения
SY00, то он размещается в каталоге, определяемом ключом -p командной строки или, если этот ключ не задан, в текущем каталоге;
2) если при восстановлении встречается файл, относящийся к устройству, отличному от переменной окружения
SY00, то поиск пути для определения местоположения файла выполняется следующим образом:
• если ключ
-dp не указан или указан без параметра, либо указан с параметром 0,
то производится поиск имени устройства среди переменных окружения;
• если переменная окружения существует, то считывается значение этой переменной, и на основании его формируется полный путь восстанавливаемого файла. Файл будет восстановлен не в жестко заданном по ключу
-p пути, а в сформированном;
• если же переменная окружения, соответствующая имени устройства, не обнаруживается среди переменных окружения, то производится поиск имени устройства в списке устройств из файла архива. Список устройств формируется в самом начале процедуры создания файла архива и содержит информацию об именах устройств и соответствующих им каталогах на дисках;
• если имя устройства нигде не найдено, то на консоль выдается запрос на размещение восстанавливаемого файла в каталог по умолчанию, т.е. в каталог, из которого была запущена утилита lhb, или в каталог, указанный с помощью ключа
-p;
• если ключ
-dp задан с параметром 1, то порядок поиска устройства будет обратным по сравнению с параметром
0, т.е. сначала поиск будет осуществляться в списке устройств из файла архива, а затем, если устройство не будет найдено,
среди переменных окружения;
• если ключ
-dp задан с параметром 2, то поиск устройств для размещения файлов выполняться не будет, и по умолчанию все файлы восстанавливаемой
БД будут размещаться в каталог по умолчанию. Дополнительные вопросы для подтверждения такого размещения файлов выдаваться не будут.
Создание архива на магнитной ленте
Команда tape позволяет создавать архивный файл на магнитной ленте.
В некоторых случаях (повышенные требования к сохранности и надежности архивных носителей, необходимость ограничения доступа к архивным файлам, технические и экономические ограничения и др.) предпочтительнее создавать и/или хранить архивные файлы БД на магнитных лентах.
Создание архива на магнитной ленте выполняется в следующей последовательности:
1) монтирование лентопротяжного устройства. Для этого используется команда tape с ключом
-dev;
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
17

Команды утилиты
2) создание раздела на ленте (метки ленты) при первоначальном использовании ленты или при её переиспользовании. Для этого применяется команда tape с ключом
-crpart;
3) создание архивного файла и запись его на ленту. Для этого используется команда сохранения s с ключом -dev.
Примеры
1) Создание нового архива:
lhb tape -dev MT1: -crpart ARCHIVES -c "Для служебного пользования";
lhb s -u SYSTEM/MANAGER -dev MT1: -f DB_BANK.lhb -c "Банковские расчеты"
2) Добавление архива на магнитную ленту:
lhb tape -dev MT1:
lhb s -u SYSTEM/MANAGER -dev MT1: -f DB_STORE.lhb -c "Склад"
3) Просмотр содержимого ленты:
lhb tape -dev MT1: -list
Выполнение сценария архивирования
Команда script запускает на выполнение файл сценария архивирования БД. Описание языка сценария архивирования приведено в разделе
«Автоматизация архивирования
БД».
Управление контрольными точками
Команда cp позволяет управлять контрольными точками архивного файла. Ключи команды описаны в подразделе
«Ключи просмотра и управления контрольными точками»
Пример
См. приложение
2
Общие сведения об архивном файле
Команда l позволяет получить общую информацию об архивном файле.
Примечание
К команде относятся ключи:
-f, -pg, -g.
Пример
Получить общие сведения об архиве.
lhb l-f с:\linter\base.lhb
Linter On-line BACKUP utility v.4.1.0.893
18
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Команды утилиты
===Файл c:\linter\base.lhb===
СОДЕРЖИМОЕ ФАЙЛА АРХИВА
--------------------------------------------
ПАРОЛЬ АРХИВА: НЕ ЗАДАН
МЕТОД СЖАТИЯ: STANDARD
ПОЛЬЗОВАТЕЛЬ: SYSTEM
ИМЯ БД: DEMO DATABASE
ВЕРСИЯ БД: 6.1
ВЕРСИЯ АРХИВА: 4.1.0
ВРЕМЯ: 10.09.2007 12:33:43 GMT
КОНТРОЛЬНАЯ ТОЧКА:NONE
КОДИРОВКА: WINDOWS
КОММЕНТАРИЙ: Дубликат архива БД
Проверка архивного файла
Команда t позволяет проверить архивный файл.
Под проверкой (тестированием) архивного файла понимается контроль целостности и сохранности архива БД. В процессе архивирования утилита, помимо записи сохраняемых объектов в архивный файл, подсчитывает и записывает контрольные суммы этих объектов. При тестировании архива выполняется сверка текущей контрольной суммы каждого заархивированного объекта с эталонной контрольной суммой. Результаты тестирования выдаются в виде протокола, где напротив каждого архивного объекта проставлен результат проверки.
Примечание
К команде тестирования относятся ключи:
-f, -pg, -g.
Пример
Проверка архивного файла base.lhb (выборочное архивирование БД).
lhb t -f с:\linter\base.lhb
Linter On-line BACKUP utility v.4.1.0.893
===Файл c:\linter\base.lhb===
ПРОВЕРКА АРХИВА
----------------------------
ПАРОЛЬ АРХИВА: НЕ ЗАДАН
МЕТОД СЖАТИЯ: STANDARD
ПОЛЬЗОВАТЕЛЬ: SYSTEM
ИМЯ БД: TRIGG
ВЕРСИЯ БД: 6.1
ВЕРСИЯ АРХИВА: 4.1.0
ВРЕМЯ: 10.09.2007 13:45:43 GMT
КОНТРОЛЬНАЯ ТОЧКА:NONE
КОДИРОВКА: WINDOWS
КОММЕНТАРИЙ:
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
19

Команды утилиты
Тип Имя Пользователь Прогресс
--------- ------------------- ----------------- -------
(-)Table..... AUTO SYSTEM 100% OK
(-)Table..... PERSON SYSTEM 100% OK
(-)Table..... $$$COMMENTS SYSTEM 100% OK
(-)Table..... ALL_SEQUENCES SYSTEM 100% OK
(-)Table..... ALL_PRILTREE SYSTEM 100% OK
(-)Table..... M_COMPLECTATION SYSTEM 100% OK
(-)Table..... M_CUSTOMERS SYSTEM 100% OK
(-)Table..... M_TYPE_DOC SYSTEM 100% OK
(-)Table..... M_ED_IZM SYSTEM 100% OK
(-)Table..... TYPEINFO SYSTEM 100% OK
(-)Table..... PRIV_TYPES SYSTEM 100% OK
(-)Table..... $$$PRCD SYSTEM 100% OK
(-)Table..... $$$PROC SYSTEM 100% OK
(-)Table..... $$$TRIG SYSTEM 100% OK
(-)Table..... $$$DEVICE SYSTEM 100% OK
(-)Table..... $$$STATION SYSTEM 100% OK
(-)Table..... $$$RELATION SYSTEM 100% OK
(-)Table..... $$$AUDIT SYSTEM 100% OK
(-)Table..... $$$GROUP SYSTEM 100% OK
(-)Table..... $$$LEVEL SYSTEM 100% OK
Атрибуты архивного файла:
1)
МЕТОД СЖАТИЯ – указывает на то, что при создании архива выполняется уплотнение данных;
2)
ВЕРСИЯ АРХИВА – версия утилиты lhb, с помощью которой создан архив;
3) столбец
Тип – название объекта. Знак «-» перед названием указывает, что объект был сохранен по ключу, знак «+» соответствует зависимому объекту, сохраненному автоматически;
4) столбец
Прогресс показывает динамику тестирования каждого объекта архива. В
процессе тестирования он изменяется от 0 до 100 и информирует пользователя о степени завершенности процесса;
5) дополнительная информация – при проверке полного архива БД дополнительно выводятся информационные сообщения, относящиеся к архиву в целом и к контрольным точкам, например:
Тип Дата Прогресс
---------------------------- ------------------------- --------
Конец основной секции данных 10.09.2007 13:46:04 GMT 100% OK
Конец добавленной секции 10.09.2007 13:46:04 GMT 100% OK
Конец архива 10.09.2007 13:46:04 GMT 100% OK
Пакетный режим работы
Команда ef <имя файла> позволяет запускать команды утилиты из текстового файла.
В файле допустимы переводы строки – они будут восприниматься как пробелы.
20
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Ключи управления утилитой
Ключи управления предназначены для обеспечения утилиты lhb дополнительной информацией, необходимой при выполнении операций архивирования
(восстановления) БД.
Регистрационные данные пользователя
-u <имя/пароль>| <имя/?>| <имя>
Задает имя и пароль пользователя БД. Если <пароль> пропущен или задан в виде
«?», то он будет запрошен интерактивно. В этом случае вводимое значение пароля на экране будет представлено знаками «****». Когда имя и пароль задаются в виде <имя/
пароль>, значение <пароля> при вводе не скрывается и может быть доступно любому заинтересованному лицу.
Примечание
Запрос на интерактивный ввод пароля предваряется подсказкой:
«Введите ваш пароль:».
Спецификация файла с регистрационными данными
пользователя
-pf <имя файла>
Задает спецификацию (имя и путь) текстового файла с регистрационными данными пользователя.
Парольный файл должен иметь кодировку CP1251 при работе в ОС типа Windows и
KOI8-R в ОС типа UNIX.
Формат файла:
USER=<имя пользователя>
PASSWORD=<пароль пользователя>
Спецификация файла сценария архивирования
-ft <имя файла>
Задает спецификацию (имя и путь) текстового файла с описанием сценария архивирования БД (раздел
«Автоматизация архивирования БД»
).
Спецификация архивного файла
-f <имя файла>
Задает спецификацию (имя и путь) архивного файла. Если ключ не задан, по умолчанию архивный файл будет иметь имя db.lhb и размещаться в текущем каталоге.
Спецификация файла протоколирования
-fl <имя файла>
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
21

Ключи утилиты
Создает файл с расширением
.log для записи script-операций. Имеет значение только при задании ключа
-ft.
Постраничный вывод информации
-pg
Задает постраничный вывод информации на монитор.
Спецификация многотомного архива
-v [<размер> [K|M]]
Разрешает создание многотомного архива. Параметр <размер> – целое положительное число, задающее размер архивного тома. Параметр [K|M] указывает единицу измерения объема архивного тома: K – в килобайтах, M – в мегабайтах. Если единица измерения не задана, по умолчанию принимается K. Если <размер> не задан, то размер архивного тома определяется автоматически. В случае автоматического создания архивных томов файлы архива будут размещаться на магнитном носителе до исчерпания свободного пространства, и только после этого пользователю будет предложено сменить или указать новый магнитный носитель архива. Если ключ не задан, по умолчанию действует режим автоматического создания нового тома.
Спецификация комментария в архивном файле
-c "<комментарий>"
Задает комментарий пользователя, сохраняемый в архивном файле.
Пароль доступа к архивному файлу
-g [<пароль>]
Задает пароль для последующего доступа к архиву. Если ключ задан, а <пароль>
не указан, то он будет запрошен интерактивно. Если архив БД создан с паролем, то восстановление БД из этого архива возможно только при предъявлении пароля. Если пароль утерян, то восстановление БД из такого архива невозможно. При вводе <пароля>
регистр клавиатуры не имеет значения.
Спецификация каталога для восстановления БД
-p [<путь>]
Задает путь к каталогу, в котором должна быть восстановлена БД. Если <путь> не указан или ключ не задан, то БД создается в текущем каталоге. Если БД восстанавливается в каталоге, где уже размещена некоторая БД, то при наличии в нем дубликатов восстанавливаемых файлов будет выдаваться запрос на перезапись этих файлов.
Спецификация удаленного ЛИНТЕР-сервера
-n [<имя сервера>]
Задает имя удаленного ЛИНТЕР-сервера. Ключ необходим, если выполняется архивирование (восстановление) удаленной БД.
22
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Управление процессом архивирования/восстановления
БД
-wait
Ожидать последние изменения в БД (при использовании с командой s) или в архивном файле (при использовании с командой r). Ключ заставляет файл архива находиться в открытом состоянии в ожидании новой архивной информации. Если пользователь нажимает клавиши + для прекращения работы, то утилита сохраняет
(восстанавливает) последний блок файла архива и завершает работу, не дожидаясь поступления изменений от ядра СУБД.
Ключ применим как к простому архивированию, так и к инкрементному
(нарастающему). В последнем случае он может быть использован как при старте инкрементного архива (
-startinc), так и при его продолжении (-inc).
Примеры
1) непрерывное архивирование БД
lhb s -wait -f arc.lhb ...
Файл архива будет закрыт только после принудительного прерывания процесса архивации с помощью клавиш +.
2) восстановление БД без закрытия файла архива lhb r -wait -f arc.lhb ...
БД будет восстановлена, но файл архива останется открытым до принудительного прерывания процесса архивации с помощью клавиш +.
Если одновременно используется один и тот же архивный файл для создания архива в режиме ожидания изменений (в одном каталоге/узле) и восстановления архива (в том же режиме, но в другом каталоге/узле), например, для создания быстро доступной резервной копии БД:
lhb s -wait -f arc.lhb ...
lhb r -wait -f arc.lhb ...
то процесс, выполняющий восстановление БД, перестанет обрабатывать вновь добавленные в архивный файл записи при достижении конца архивного файла
(несмотря на ключ
-wait). Это позволяет с помощью клавиш +
завершить в подходящий момент процесс восстановления резервной БД и быстро запустить соответствующий ей ЛИНТЕР-сервер.
Управление файлами системного журнала
-movecp
При архивации системного журнала выполнять перенос контрольной точки на текущий файл журнала. Это предотвращает накопление файлов системного журнала при длительной работе программы в режиме ожидания изменений. Ключ используется при полном сохранении БД совместно с ключом
-wait.
Синхронизация данных в архивном файле и в файле
БД
-db
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
23

Ключи утилиты
Выполнять синхронизацию данных в архивном файле и в файле БД. Полученный при сохранении блок данных записывается в архивный файл и одновременно разворачивается на диск в виде файлов БД.
Ключ используется при полном сохранении БД, фактически эквивалентен совместному использованию режимов сохранения (команда s) и восстановления (команда r) БД.
Архивирование непосредственно в файлы БД
-dbonly
Выполнять архивирование непосредственно в файлы БД. В процессе архивирования в файл архива записывается только служебная информация, а архивируемые данные сохраняются в БД. Средний объем служебной информации равен примерно 340 байт и может увеличиваться на несколько десятков байт при работе в режиме нарастающего архивирования. Ключ используется при полном сохранении БД.
Архивирование непосредственно в файлы БД
различающихся данных
-diff
Выполнять архивирование непосредственно в файлы БД только различающихся данных. Работает аналогично ключу
-dbonly, но загружает не все данные,
а производит предварительное сравнение контрольных сумм источника и приемника данных. Архивируются только отличающиеся блоки данных (см. пункт
«Архивирование только различающихся данных»
).
Управление сжатием различающихся архивируемых
данных
-nocompress
Отключение сжатия архивируемых данных в режиме архивирования только различающихся данных.
При задании данного ключа блоки данных не будут подвергаться сжатию при архивировании различающихся данных. Это может дать некоторое увеличение производительности, особенно при архивировании в пустой каталог.
Управление слежением работоспособности утилиты
архивирования
-wd <файловый дескриптор>
Выполнять периодическую запись символа в файл, заданный <файловым дескриптором>. В этом режиме при каждой операции обращения к ядру за новой порцией данных производится вывод одного символа 'B' при работе в wait-режиме после получения части журнала, необходимой для корректного восстановления БД из архива.
После получения этой минимальной необходимой части журнала будет послан сигнал процессу:
lhb -pid <дескриптор процесса> -dsig <номер сигнала>
24
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Аналогично в wait-режиме, когда lhb «догоняет» ядро, т.е. получает весь имеющийся на тот момент журнал, посылается сигнал процессу:
lhb -pid <дескриптор процесса> -sig <номер сигнала>
и в <файловый дескриптор> пишется символ 'C'.
Этот режим может применяться для слежения за работоспособностью lhb (watchdog).
В нормальном режиме обращение за новой порцией данных происходит примерно один раз в 30 секунд. Если за 40-60 секунд не было выведено ни одного символа, необходимо предпринять действия по рестарту lhb, а возможно, и ядра СУБД ЛИНТЕР после дополнительных проверок.
Необходимо также учитывать, что при активном поступлении данных программа слежения должна успевать читать записываемые символы, или переданный lhb файловый дескриптор должен быть переведен в асинхронный режим перед запуском lhb.
Недопустимо значение <файлового дескриптора> равное
1 при использовании опций - out, -out+.
Примечание
Ключ используется при полном сохранении БД.
Переход в фоновый режим
-bg
Запускает функционирование утилиты в фоновом режиме.
Используется только в ОС типа UNIX.
Установка русскоязычного интерфейса
-lr
Выводить сообщения по-русски (значение по умолчанию).
Установка англоязычного интерфейса
-le
Выводить сообщения по-английски.
Примечание
Ключи
-lr, -le оказывают действие только на текущий сеанс работы утилиты.
Спецификация файла выходных сообщений утилиты
-out <файл>
Задает спецификацию файла, в который будут записываться все сообщения утилиты lhb. Если указанный файл уже существует, то вся информация из него предварительно удаляется.
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
25

Ключи утилиты
Спецификация дополнения файла выходных
сообщений утилиты
-out+ <файл>
Задает спецификацию существующего файла (обычно созданного ранее с помощью ключа
-out), в конец которого будут дописываться все сообщения утилиты lhb. Если указанный файл не существует, то он будет создан.
Игнорирование целостности архивного файла
-notestcrc
Игнорировать несовпадающую контрольную сумму целостности архивного файла
(CRC).
Сохранение pid значения запущенного процесса в файл
-mypid <спецификация файла>
Задаёт местоположение и имя текстового файла, в который будет записан pid запущенного процесса архивирования.
Примечание
Поддерживается в ОС UNIX и QNX.
Пример
lhb s -wait -u SYSTEM/MANAGER -mypid lhbpidfile.pid
Сообщение об окончании скачивания журнала
-pid
Задаёт pid процесса, которому будет послан сигнал по окончании частичного или полного скачивания системного журнала СУБД. Номер сигнала задается опцией dsig или sig. См. также описание опции wd
Примечание
Поддерживается в ОС UNIX и QNX.
Предоставление информации о версии утилиты
-version
Предоставить полную информацию о версии утилиты.
-briefversion
Предоставить краткую информацию о версии утилиты.
Получение справочной информации
-h |-?
26
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Для получения справочной информации об утилите (список команд и ключей с краткими пояснениями) следует запустить утилиту без командной строки или с ключом
-h (-?).
Примечание
Местоположение ключа в командной строке имеет значение: например, в случае "./lhb -?
-le" первым обнаруживается и обрабатывается ключ
-?, остальные ключи игнорируются.
В случае "./lhb -le -?" первой обрабатывается команда такого
-le, а поскольку команда отсутствует, то выдается ошибка.
Ключи описания объектов
Ключи описания объектов предназначены для обеспечения утилиты lhb информацией об объектах БД, которые должны быть обработаны при выполнении операций архивирования (восстановления) БД.
Маска наименования объекта
При описании ключей этой группы параметр <имя объекта> определяет маску объекта,
к которому относится ключ. Маска может задавать как конкретное имя объекта,
(например, таблицу PERSON), так и правило выбора множества объектов аналогично конструкции LIKE в языке SQL (см. документ
«СУБД ЛИНТЕР. Справочник по SQL»
).
Знак «*» в маске соответствует не менее одному любому символу, знак «?» указывает на один любой символ. Например, «S*» задает имена всех объектов, начинающиеся на
«S*», «*doc*» – имена всех объектов, у которых в имени в любом месте присутствует набор знаков «*doc*», маска «tab?» определяет имена объектов, имеющих одинаковую длину имени и отличающихся только одним последним знаком – «tab1», «tab2».
Допускается задавать несколько масок, разделенных запятой.
Пример
PERSON, AUTO, BANK – конкретные имена таблиц БД, TST* – маска имен таблиц,
название которых начинается с «TST».
-ot PERSON,AUTO,TST*,BANK
Сохранение всех объектов БД
-oall
Примечание
Ключ устарел, использовать не рекомендуется.
Сохранение всех следующих объектов БД:
• базовые таблицы;
• представления;
• синонимы;
• последовательности;
• хранимые процедуры и триггеры;
• события;
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
27

Ключи утилиты
• серверы;
• правила репликации;
• пользователи, схемы и роли;
• элементы дискреционного доступа;
• элементы ссылочной целостности.
Примечание
В текущей версии утилиты при сохранении БД по ключу
-oall не сохраняются кодировки, трансляции, уровни доступа, станции и устройства.
Ключ используется для полного логического сохранения БД (т.е. сначала определяются все объекты БД, затем они поочередно архивируются). При полном сохранении без использования этого ключа выполняется физическое (по файлам) сохранение БД.
Кроме того, при полном сохранении с ключом
-oall возможна потеря данных из архива, полученного при параллельной работе с другими пользователями БД, что исключено при физическом сохранении БД (раздел
«Особенности архивирования при параллельной работе с пользователями БД»
).
Сохранение информации о пользователях/схемах БД
-ou [<имя объекта 1>[,…]]
Задает объект БД «Пользователь» или «Схема». Значение <имя объекта…> должно представлять имя пользователя или имя схемы или маску их имен.
Примечание
При восстановлении схемы обязательно требуется, чтобы пользователь-владелец схемы был восстановлен раньше самой схемы, в противном случае lhb вернет код завершения
30126 – (
«Ошибка восстановления пользователя») и код завершения
СУБД ЛИНТЕР 2203 (
«Несуществующий пользователь»).
Сохранение хранимых событий
-oe [<имя объекта 1>[,…]]
Задает объект БД «Хранимые события». Значение <имя объекта…> должно представлять имя хранимого события или маску имен хранимых событий.
Полное сохранение базовых таблиц
-ot [<имя объекта 1>[,…]]
Примечание
Ключ устарел, использовать не рекомендуется.
Задает объект БД «Таблицы с данными». Значение <имя объекта…> должно представлять имя таблицы или маску имен таблиц БД. Существует возможность указывать владельца объекта или имя схемы (например,
-ot SYSTEM.AUTO).
При использовании этого ключа выполняется полное архивирование таблицы и,
соответственно, возможно её полное восстановление.
28
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Маска объекта допускает 2 представления:
• маска заключается в двойные кавычки, не может содержать символа двойной кавычки, а символы '*' и '?' всегда трактуются как метасимволы;
• любой символ маски, следующий за экранирующим символом '\' теряет своё
специальное значение. Это позволяет задавать маски, содержащие символы '*', '?', '"',
' ', '.'. Также следует экранировать символы ',' и ';', чтобы отменить их специальное значение разделителя масок.
Примечание
Таблицы всегда восстанавливаются для текущего пользователя. Чтобы восстановить таблицы для схемы, требуется предварительно сделать текущей эту схему с помощью команды «SET SCHEMA».
Пример
См. описание ключа
-only
Сохранение метаданных базовых таблиц
-otwd [<имя объекта 1>[,…]]
Задает объект БД «Описание таблицы». Значение <имя объекта…> должно представлять имя таблицы или маску имен таблиц БД. При использовании этого ключа выполняется архивирование только структуры таблицы.
Сохранение информации о внешних ключах
-oref
Задает объект БД «Вторичные ключи» (имеется в виду foreign keys). Ключ используется для сохранения ссылочной целостности БД из архива. Он заставляет утилиту сохранять,
помимо собственно данных архивируемой таблицы, и информацию обо всех ссылках этой таблицы на другие таблицы БД. Ключ имеет смысл только при использовании совместно либо с ключом
-ot, либо -otwd.
Сохранение представлений БД
-ov [<имя объекта 1>[,…]]
Задает объект БД «Представления». Значение <имя объекта…> должно задавать имя представления или маску имен представлений БД.
Сохранение синонимов
-os [<имя объекта 1>[,…]]
Задает объект БД «Синонимы». Значение <имя объекта…> должно представлять имя синонима или маску имен синонимов БД.
PUBLIC-синонимы нужно сохранять и восстанавливать отдельно. Для сохранения надо использовать ключ
-takeforeign, при восстановлении необходимо указать, что восстанавливаться должны объекты пользователя PUBLIC.
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
29

Ключи утилиты
Например:
lhb.exe r -u SYSTEM/MANAGER -os MMM -only PUBLIC
Сохранение ролей
-or [<имя объекта 1>[,…]]
Задает объект БД «Роли». Значение <имя объекта…> должно представлять имя роли или маску имен ролей БД.
Сохранение информации о владельцах роли
-osr [<имя объекта 1>[,…]]
Задает объект БД «Назначения ролей». Значение <имя объекта…> должно представлять имя пользователя или маску имен пользователей БД, кому назначены роли.
Сохранение привилегий на базовые таблицы
-oa [<имя объекта 1>[,…]]
Задает объект БД «Привилегии». Значение <имя объекта…> представляет имя таблицы или маску имен таблиц БД, для которых должны быть сохранены (восстановлены)
привилегии доступа.
Сохранение привилегий на хранимые процедуры
-oap [<имя объекта 1>[,…]]
Задает объект БД «Привилегии на хранимые процедуры». Значение <имя объекта…
> представляет имя хранимой процедуры или маску имен хранимых процедур, для которых должны быть сохранены (восстановлены) привилегии доступа.
Сохранение зависимостей между объектами БД
-d
Задает режим сохранения:
• владельца сохраняемой таблицы;
• внешних ссылок (от сохраняемой таблицы);
• таблиц и их владельцев, на которые ссылается сохраняемая таблица;
• имя сервера в случае сохранения таблицы, расположенной на удаленном сервере.
Однако объекты, связанные по правилам ссылочной целостности, автоматически архивироваться не будут. Для этого надо использовать ключ
-oref.
Примечания
1. Ключ
-d совместно с ключом -oall игнорируется.
2. Данная версия утилиты не определяет объекты, от которых зависит представление
(VIEW). В следующих версиях это ограничение будет устранено.
30
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Сохранение объектов конкретного пользователя БД
-only <имя пользователя>
Сохранять объекты заданного пользователя. Значение <имя пользователя> должно представлять имя конкретного пользователя БД или маску имен пользователей БД.
Маска допускает 2 представления:
• маска заключается в двойные кавычки, не может содержать символа двойной кавычки, а символы '*' и '?' всегда трактуются как метасимволы;
• любой символ маски, следующий за экранирующим символом '\' теряет своё
специальное значение. Это позволяет задавать маски, содержащие символы '*', '?', '"',
' ', '.'. Также следует экранировать символы ',' и ';', чтобы отменить их специальное значение разделителя масок.
Примечание
Ключ
-only не действует на маску прав доступа пользователя, т.к. в маске доступа
<Пользователь>.<Объект> поле <Пользователь> имеет значение получателя привилегий,
а не владельца объекта. Владельцем объекта всегда является пользователь, выполнявший сохранение этого объекта.
Пример
SQL>username SYSTEM/MANAGER
SQL>create table T (i int);
SQL>username ABC/
SQL>create table T (i int);
SQL>grant select on T to SYSTEM;
lhb s -u SYSTEM/MANAGER -ot T
!сохранит SYSTEM.T
lhb s -u SYSTEM/MANAGER -ot T -takeforeign или lhb s -u SYSTEM/MANAGER -ot T -only или lhb s -u SYSTEM/MANAGER -ot T -only *
!сохранит SYSTEM.T, ABC.T
lhb s -u SYSTEM/MANAGER -ot T -only ABC
!сохранит ABC.T
lhb s -u SYSTEM/MANAGER -ot T -only ABC -takeforeign
!сохранит ABC.T
lhb s -u SYSTEM/MANAGER -ot SYSTEM.T,T -only ABC
!сохранит SYSTEM.T, ABC.T
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
31

Ключи утилиты
lhb s -u SYSTEM/MANAGER -ot T -only SYSTEM,A*
!сохранит SYSTEM.T, ABC.T
Примечание
Из примеров видно, что во всех случаях вместо ключа
-takeforeign можно использовать ключ
-only (это справедливо и для ключа -own при восстановлении объектов БД).
Сохранение триггеров
-otr [<имя тригг 1>[,…]]
Задает объект БД «Триггеры». Значение <имя тригг…> должно представлять имя триггера или маску имен триггеров.
Сохранение хранимых процедур
-op [<имя проц 1>[,…]]
Задает объект БД «Хранимые процедуры». Значение <имя проц…> должно представлять имя хранимой процедуры или маску имен хранимых процедур.
Сохранение последовательностей
-oq [<имя посл 1>[,…]]
Задает объект БД «Последовательности». Значение <имя посл…> должно представлять имя последовательности или маску имен последовательностей.
Сохранение информации о серверах репликации
-on [<имя сервера 1>[,…]]
Задает объект БД «Сервер репликации». Значение <имя сервера…> должно представлять имя сервера репликации или маску имен серверов репликации.
Сохранение правил репликации
-ob [<имя правила 1>[,…]]
Задает объект БД «Правила репликации». Значение <имя правила…> должно представлять имя правила репликации или маску имен правил репликации.
Сохранение чужих объектов БД
-takeforeign
Позволяет сохранять чужие объекты (т.е. принадлежащие другим пользователям), к которым разрешен доступ на чтение.
Восстановление чужих объектов БД
-own
32
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
Позволяет восстанавливать как свои объекты (таблицы, представления, процедуры и триггеры), сохраненные другим пользователем. Например, если были предварительно сохранены чужие объекты по ключу
-takeforeign, то использование ключа -own позволяет восстанавливать их в БД как свои. Следует с осторожностью пользоваться данным ключом для таких объектов, как представления, процедуры и триггеры, т.к.
при восстановлении не производится проверки на существование зависящих от них объектов.
Ключи нарастающего архивирования
Ключи этой группы предназначены для управления нарастающим архивированием БД.
Начать нарастающее архивирование
-startinc
Начать режим нарастающего (инкрементного) архивирования.
Добавить порцию накопленных изменений
-inc
Добавить накопленные изменения.
Закончить нарастающее архивирование
-stopinc
Закончить режим нарастающего (инкрементного) архивирования в указанном архиве.
Создать новый архивный том
-vi
Создать новый архивный том.
Спецификация тома инкрементного архива
-fo <спецификация файла>
Указывает местоположение последнего тома инкрементного архива. Новый архивный том будет создаваться в каталоге, указанном в <спецификации файла>.
Например, первые тома инкрементного архива были скопированы на отдельный носитель и затем удалены с диска. В этом случае использование данного ключа позволяет продолжить инкрементное архивирование.
Ключи фразового индекса
Ключи этой группы предназначены для сохранения/восстановления фразовых индексов подсистемы полнотекстового поиска СУБД ЛИНТЕР.
Сохранение фразовых индексов
-pi
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
33

Ключи утилиты
Сохранение в файле архива информации о фразовых индексах для возможности их последующего восстановления. Ключ применим только для полного сохранения БД (без инкрементного).
Примечание
Ключ действует по умолчанию.
Ключи поиска устройств при восстановлении БД
Ключи этой группы устанавливают порядок поиска устройства, если при восстановлении БД встречается файл, относящийся к устройству, отличному от заданного в переменной окружения SY00.
Примечание
Если устройство задано в переменной SY00, то оно игнорируется, и архив восстанавливается в текущий каталог.
Порядок поиска устройств при восстановлении БД
-dp [0|1|2]
Задает порядок поиска пути к устройству при восстановлении БД:

0 – искать сначала в переменных окружения, затем в списке устройств, сохраненных в файле архива (значение по умолчанию);

1 – искать сначала в списке устройств, сохраненных в файле архива, затем среди переменных окружения;

2 – восстанавливать все файлы БД в каталог по умолчанию.
Ключи приоритета
Ключи этой группы предназначены для определения приоритета работы lhb.
-priority <уровень>
Параметр <уровень> может принимать значения:

HIGH – высокий приоритет (по умолчанию);

NORMAL – средний приоритет;

LOW – низкий приоритет.
Ключи просмотра и управления контрольными
точками
При создании инкрементных архивов утилита использует механизм контрольных точек,
суть которого в следующем:
• при запуске нарастающего архивирования с ключом
-startinc утилита записывает в БД контрольную точку, содержащую необходимую для нарастающего
34
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Ключи утилиты
архивирования системную информацию (в частности, дату установки контрольной точки и параметры файлов системного журнала БД, от которых следует производить следующее инкрементное архивирование);
• после установки контрольной точки все файлы системного журнала БД от этой точки навсегда остаются в БД (если же контрольные точки не устанавливаются,
то файлы системного журнала, содержащие зафиксированные в БД изменения,
удаляются самой СУБД ЛИНТЕР). В связи с этим целесообразно производить удаление уже неиспользуемых старых контрольных точек (например, если начали еще один инкрементный архив и не хотим продолжать старый).
-list
Показать существующие в БД контрольные точки.
-clear {<номер> | ALL}
Очистить все контрольные точки (параметр ALL) или указанную в (<номере>)
контрольную точку. Значение ключа является обязательным.
Примечание
Ключи контрольных точек используются совместно с командой cp.
Ключи для создания архива на магнитной ленте
Ключи этой группы предназначены для работы с архивами, хранящимися на магнитных лентах:
-dev <имя ленты>
Монтирование лентопротяжного устройства c системным именем <имя ленты>.
Допускается одновременное монтирование нескольких устройств.
-list
Показать список файлов на ленте (ключ команды tape).
-crpart <имя раздела>
Создание нового раздела на магнитной ленте (ключ команды tape). Удаляет всю имеющуюся на ней информацию (при переиспользовании ленты) и создает новую метку ленты.
Ключи для просмотра сохраненных в архиве БД
устройств
Ключи этой группы предназначены для работы с сохраненными в архиве устройствами.
-ldev
Показать список сохраненных в полном архиве БД устройств (это позволяет заранее определить необходимые переменные окружения для восстановления БД).
Ключ используется в команде L.
lhb l -ldev
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
35

Ключи утилиты
Ключи обработки ошибок
Ключи этой группы управляют реакцией утилиты lhb на ситуации, которые могут возникнуть при её выполнении. Одновременно можно задавать несколько ключей.
Самый высокий приоритет имеет ключ
-qq, далее -qc, затем -qx. Если для однотипного события задано несколько ключей, то обработка события выполняется в соответствии со спецификацией высокоприоритетного ключа, остальные ключи в этом случае игнорируются.
Примечание
Если ключ задан без параметров, он игнорируется.
Утилита контролирует следующие события:
Событие
Описание
NV
Необходимо создание нового тома
DF
Создаваемый файл уже существует
CB
Поступил сигнал +
OB
При восстановлении не совпала версия БД
NB
Слишком новая версия СУБД ЛИНТЕР
UD
Неизвестное устройство
ALL
В любом из вышеперечисленных случаев
-qx [<событие 1> …]
Прекратить работу при возникновении указанного события.
-qc [<событие 1> …]
Продолжать работу при возникновении указанного события. Нажатие комбинации клавиш + игнорируется.
-qq [<событие 1> …]
Запросить пользователя о дальнейших действиях при возникновении указанного события.
36
© Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

Автоматизация архивирования БД
Архивирование БД является важной и наиболее часто выполняемой операцией администратора СУБД ЛИНТЕР. Для автоматизации этой работы утилита lhb имеет специальное средство – язык сценария архивирования, на котором можно написать командный файл (сценарий) для выполнения всех операций, необходимых при архивировании (восстановлении) конкретной БД. После того, как сценарий написан,
отлажен и передан утилите lhb для исполнения, администратор БД может снять с себя все заботы о сохранности БД.
Сценарий архивирования содержит расписание и порядок выполнения утилитой lhb всего комплекса операций, связанных с ведением архива сложной информационной системы: архивирование БД, создание резервных копий, перенос архива или резервных копий на другие носители данных, удаление устаревших архивов и их копий и др.
При описании языка сценария используется синтаксическая нотация, основанная на формах Бэкуса-Наура (БНФ), со следующими расширениями:
• угловые скобки < > определяют строку, которая именует элемент командной строки
(не терминальный символ);
• оператор определения ::= разделяет определяемый элемент (слева от оператора) и собственно его определение (справа от оператора);
• квадратные скобки [ ] указывают необязательный элемент командной строки или ключа. Часть определения, заключенная в эти скобки, может использоваться, как описано в конструкции, либо пропускаться;
• альтернативный оператор | указывает, что синтаксический элемент, следующий за этим символом, является одним из возможных вариантов конструкции;
• многоточие «…» указывает на допустимость повторения синтаксического элемента один или несколько раз внутри синтаксической конструкции;
• ключи командной строки выделены жирным шрифтом;
• пробелы используются для разделения синтаксических элементов.
Запуск сценария архивирования выполняется по команде script.
Примечание
Время старта автоматического архивирования в сценариях утилиты lhb задается по
Гринвичу.
Структура сценария
Описание сценария может включать следующие разделы:
1) начальные установки;
2) описание переменных;
3) график выполнения;
4) специальные действия.
1   2   3   4   5   6   7   8


написать администратору сайта