Главная страница
Навигация по странице:

  • © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021 63 Сообщения утилиты lhb

  • Оперативное архивирование

  • SQL-запросы оперативного архивирования Начать оперативное архивирование Функция

  • © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021 67 Оперативное архивирование

  • Примеры запуска оперативного архивирования Пример 1 BACKUP DATABASE ASYNC FILE DB_Sale.lhb REWRITE COMMENT Оперативный архив от 22.12.2005;Пояснение

  • Пример 2 BACKUP DATABASE FILE DB_Sale.lhb PASSWORD 221205;68 © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

  • Пример 3 BACKUP DATABASE START INCREMENT FILE inc.lhb VOLUMES 100k;Пояснение

  • Примечание Если необходимо указать размер в мегабайтах, то следует задавать постфикс «м»,например, 1м; если просто в байтах, то постфикс не задается, например, 2000.Пример 4

  • Пример 5 BACKUP DATABASE STOP INCREMENT FILE inc.lhb;Пояснение

  • Остановить оперативное архивирование Функция Определение оператора прерывания асинхронного архивирования БД в оперативном режиме.Спецификация

  • © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021 69 Оперативное архивирование

  • Примеры останова оперативного архивирования Пример 1 BACKUP STOP 4;Пояснение

  • Пример 2 BACKUP STOP ALL;70 © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021 Оперативное архивирование Пояснение

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


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

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

    Сообщения утилиты lhb
    Структура протокола выполнения
    Структура диагностического сообщения утилиты:
    LINTER HOT BACKUP PROGRAM – v.4.1.0 build 893 -- Relex,Inc.
    1990-2013 1
    <строка протокола выполнения>

    <строка протокола выполнения>
    2
    ------------------------------------------ lhb return code (<код завершения lhb>) <текст сообщения lhb>
    3
    Linter return code (<код завершения СУБД ЛИНТЕР>) <текст сообщения СУБД ЛИНТЕР>
    4
    System return code (код завершения ОС) <текст сообщения ОС>
    5
    Коды завершения и соответствующие тексты сообщений утилиты lhb приведены в приложении
    1
    данного документа.
    Коды завершения и соответствующие тексты сообщений СУБД ЛИНТЕР приведены в документе
    «СУБД ЛИНТЕР. Справочник кодов завершения»
    Коды завершения и соответствующие тексты сообщений операционной системы приведены в эксплуатационной документации на операционную систему. Если операционная система русифицирована, текст сообщения будет на русском языке, в противном случае – на языке операционной системы.
    Примеры
    1)
    LINTER HOT BACKUP PROGRAM-v.4.1.0 build 893 -Relex,Inc. 1990-2013
    Ошибка соединения. (1001)
    --------------------------------------------- lhb return code (30111) - Ошибка соединения с БД
    Linter return code ( 1001)
    2)
    LINTER HOT BACKUP PROGRAM-v.4.1.0 build 893 -Relex,Inc. 1990-2013
    Файл qqq.lhb
    Не могу открыть файл 'qqq'
    ------------------------------------------------
    1
    Строка 1 содержит идентификационные сведения об утилите lhb
    2
    Строки 2 содержат протокольные сообщения утилиты lhb
    3
    Строка 3 содержит код завершения и соответствующий диагностический текст последней операции, которая выполнялась lhb и закончилась неудачно. Описание самой операции находится в последней строке протокола.
    4
    Строка 4 содержит код завершения, сформированный СУБД ЛИНТЕР.
    5
    Строка 5 содержит код завершения, сформированный операционной системой.
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
    63

    Сообщения утилиты lhb
    lhb return code (30105) - Ошибка открытия файла
    System return code ( 1) - No such file or directory
    Протокольные сообщения
    Утилита lhb выдает следующие протокольные сообщения:
    1) сообщение
    «Ошибка соединения»
    Причина.
    Утилита архивирования не смогла установить доступ к БД. Возможны следующие причины:
    • БД (локальная или удаленная), которая должна архивироваться (или частично восстанавливаться), не активна;
    • было задано неправильное имя удаленного ЛИНТЕР-сервера;
    • ошибка сетевого доступа к удаленной БД (например, не загружен один из сетевых драйверов).
    Устранение:
    • активизировать необходимую БД и повторить выполнение утилиты;
    • проверить (уточнить у администратора локальной сети) правильность заданного имени ЛИНТЕР-сервера;
    • обратиться к администратору БД или локальной сети для устранения причины отказа сетевого доступа.
    2) сообщение
    «Проверка пароля: строки не идентичны!»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация закодированного архивного файла, при этом введенный пароль и его подтверждение не совпали.
    Устранение:
    • указать правильно пароль и его подтверждение (учитывая различие больших и малых букв).
    3) сообщение
    «Не могу открыть файл <имя файла>»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация несуществующего файла, или пользователь утилиты не обладает необходимыми полномочиями для доступа к архивному файлу.
    Устранение:
    • задать правильную спецификацию (путь и имя) архивного файла, установить необходимые полномочия пользователю утилиты или изменить атрибуты доступа
    (в операционной системе) к архивному файлу.
    4) сообщение
    «Неверный архив <имя файла>»
    64
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

    Сообщения утилиты lhb
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация архивного файла, который в действительности не является архивом БД.
    Устранение:
    • указать правильную спецификацию архивного файла.
    5) сообщение
    «Слишком старая версия файла <имя файла>»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация архивного файла, который создан более ранней версией утилиты lhb.
    Устранение:
    • для работы с этим архивным файлом использовать соответствующую ему версию утилиты.
    6) сообщение
    «Слишком старая версия lhb»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация архивного файла, который создан более поздней версией утилиты lhb.
    Устранение:
    • для работы с этим архивным файлом использовать соответствующую ему версию утилиты.
    7) сообщение
    «Неверный пароль»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация закодированного архивного файла, и при запросе пароля был введен неверный пароль.
    Устранение:
    • попытаться вспомнить (восстановить) пароль. Если восстановить пароль невозможно, архив потерян навсегда.
    8) сообщение
    «Начать следующий том?»
    Причина.
    Для команды сохранения был задан ключ «Запрашивать разрешение на создание тома» (ключ
    -qq, значение ключа «Новый том» (NV)).
    Устранение:
    • ответить ДА, если очередной том многотомного архива нужно создать. При ответе
    НЕТ процесс архивирования закончится.
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
    65

    Сообщения утилиты lhb
    9) сообщение
    «Недопустимый формат даты <введенная дата>, должен быть 'DD.MM.[YY]YY.HH:MI'»
    Причина.
    В файле сценария строка, задающая дату и время очередного сохранения БД, имеет неправильный формат.
    Устранение:
    • откорректировать файл сценария сохранения БД.
    10) сообщение
    «Ошибка сравнения контрольной суммы!»
    Причина.
    В командах восстановления, тестирования или получения информации об архивном файле была задана спецификация архивного файла, целостность которого нарушена.
    Устранение:
    • ситуация критическая – восстановление из испорченного архива невозможно. Если имеется дубликат архива, использовать его.
    11) сообщение
    «Файл уже существует. Удалить его?»
    Причины:
    • в команде сохранения БД была задана спецификация существующего архивного файла;
    • в команде восстановления БД была задана спецификация существующей БД.
    Устранение:
    • при ответе ДА существующий файл будет заменен новым, при ответе НЕТ
    выполнение утилиты прекратится.
    66
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

    Оперативное архивирование
    Полное или нарастающее архивирование БД можно выполнять в оперативном режиме,
    параллельно с обслуживанием ядром СУБД запросов пользователей. Управление оперативным архивированием осуществляется с помощью соответствующих SQL- запросов. Такое архивирование очень эффективно с точки зрения удаленного администрирования СУБД ЛИНТЕР или при отсутствии возможности (или желания)
    использовать утилиту lhb. Оперативное восстановление БД ядром СУБД невозможно –
    для этого необходимо использовать утилиту lhb. Файлы архива, создаваемые утилитой lhb и ядром СУБД при оперативном архивировании, полностью совместимы между собой.
    SQL-запросы оперативного архивирования
    Начать оперативное архивирование
    Функция
    Определение оператора запуска процесса архивирования БД в оперативном режиме.
    Спецификация
    <начать архивирование>::=
    BACKUP DATABASE [[START | STOP] INCREMENT]
    [DEVICE <имя устройства>]
    [FILE <спецификация файла> [REWRITE]]
    [COMMENT <комментарий>]
    [PASSWORD <пароль>]
    [VOLUMES <размер тома> [K|M]]
    [ASYNC];
    <имя устройства>::= 4-х символьный литерал
    <спецификация файла>::= символьный литерал
    <размер тома>::= целочисленный литерал
    Синтаксические правила
    1) Опция
    DATABASE задает полное сохранение БД без возможности нарастающего архивирования;
    2) <спецификация файла> задает полную спецификацию (устройство, путь к каталогу и имя) архивного файла. Если тип файла не указан, по умолчанию используется
    .lhb.
    Пример для UNIX-платформ:
    BACKUP DATABASE FILE 'SY00/ARCHIVES/database.lhb';
    BACKUP DATABASE FILE '/../db.lhb';
    3) Фраза
    REWRITE разрешает удалять существующий архивный файл и создавать новый с тем же именем;
    4) Конструкция
    DATABASE START INCREMENT задает полное сохранение БД с возможностью нарастающего архивирования;
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
    67

    Оперативное архивирование
    5) Конструкция
    DATABASE INCREMENT – сохранение всех изменений в БД со времени последнего нарастающего сохранения (от последней контрольной точки, созданной,
    например, с помощью
    DATABASE START INCREMENT);
    6) Конструкция
    DATABASE STOP INCREMENT прекращает ведение нарастающего архивирования: последняя контрольная точка удаляется, а архивный файл закрывается. Т.к. по этому SQL-запросу сохранение в архивном файле последней порции накопленных в БД изменений (т. е. начиная с последней контрольной точки) не осуществляется, то перед его выполнением необходимо подать SQL-запрос
    BACKUP DATABASE INCREMENT для исключения потери архивных данных;
    7) Опция
    DEVICE задает логическое имя устройства, на котором должен создаваться файл архива. Устройство должно быть описано в системной таблице $$$DEVICE.
    Если имя устройства не задано, по умолчанию используется переменная окружения
    SY00. Если SY00 не определена, архив создается в каталоге запуска ядра
    СУБД ЛИНТЕР.
    Пример:
    BACKUP DATABASE DEVICE 'SY02' FILE 'h:\linter\arhiv\sale2804.lhb';
    8) <комментарий> задает текст комментария к архивному файлу;
    9) <пароль> задает пароль архивного файла;
    10) Конструкция
    VOLUMES <размер тома> [K|M] разрешает разбивать архивный файл на отдельные тома указанного <размера тома>:
    К – в Кбайтах, M – Мбайтах;
    11) Опция
    ASYNC задает асинхронное выполнение процесса архивирования.
    Общие правила
    Если задана опция
    ASYNC, пользователю сразу будет возвращен код завершения,
    указывающий на результат выполнения SQL-запроса (успешный или неуспешный запуск процесса архивирования). В дальнейшем информацию о текущем состоянии процесса архивирования можно будет получать из системной таблицы
    $$$INKERNBACK (пункт
    «Мониторинг процессов асинхронного архивирования»
    ).
    Примеры запуска оперативного архивирования
    Пример 1
    BACKUP DATABASE ASYNC FILE 'DB_Sale.lhb' REWRITE COMMENT
    'Оперативный архив от 22.12.2005';
    Пояснение
    Будет запущен процесс оперативного архивирования всей БД в архивный файл
    «
    DB_Sale.lhb» (если такой файл уже имеется на диске – он будет предварительно удален без предупреждения), архивный файл будет иметь комментарий «Оперативный архив от 22.12.2005». Процесс будет проходить в асинхронном режиме, т.е. пользователь сразу получит код завершения (0 – если процесс запустился). В дальнейшем процесс архивирования будет протекать независимо от того, работает ли пользователь,
    запустивший процесс, с БД или нет. Рекомендуется также получить и запомнить идентификатор запущенного процесса для последующего контроля за его состоянием.
    Пример 2
    BACKUP DATABASE FILE 'DB_Sale.lhb' PASSWORD '221205';
    68
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

    Оперативное архивирование
    Пояснение
    Будет запущен процесс синхронного архивирования в архивный файл
    «
    DB_Sale.lhb». Если заданный архивный файл уже существует, пользователю будет возвращен соответствующий код завершения, и процесс архивирования завершится; в противном случае процесс архивирования начнется, и пользователь (или клиентское приложение) перейдет в состояние ожидания завершения этого процесса. После окончания процесса архивирования (удачного или неудачного) пользователь получит соответствующий код завершения. Архивный файл будет защищен паролем '221205'.
    Пример 3
    BACKUP DATABASE START INCREMENT FILE 'inc.lhb' VOLUMES 100k;
    Пояснение
    Будет выполнено полное сохранение БД для последующего нарастающего архивирования и в системном журнале установлена контрольная точка, начиная с которой необходимо наращивать инкрементный архив. Файл архива «
    inc.lhb» будет разделяться на тома размером по 100 Кбайт.
    Примечание
    Если необходимо указать размер в мегабайтах, то следует задавать постфикс «м»,
    например, 1м; если просто в байтах, то постфикс не задается, например, 2000.
    Пример 4
    BACKUP DATABASE INCREMENT FILE 'inc.lhb' VOLUMES 100k;
    Пояснение
    Будет проведена проверка существования в БД контрольной точки нарастающего архивирования, соответствующей файлу архива inc.lhb, с последующим внесением в файл архива накопленных от этой точки изменений. Файлы архива по-прежнему будут разбиваться на тома указанного объема.
    Пример 5
    BACKUP DATABASE STOP INCREMENT FILE 'inc.lhb';
    Пояснение
    Из системного журнала БД будет удалена последняя контрольная точка,
    соответствующая файлу архива inc.lhb; никакие данные в файл архива не помещаются, процесс архивирования заканчивается с выдачей соответствующего кода завершения.
    Остановить оперативное архивирование
    Функция
    Определение оператора прерывания асинхронного архивирования БД в оперативном режиме.
    Спецификация
    <остановить архивирование>::=
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021
    69

    Оперативное архивирование
    BACKUP STOP { ALL | SINCE <дата>}
    [UNTIL <дата>]
    | <номер процесса>;
    <дата>::= дата-время литерал
    <номер процесса>::= целочисленный литерал
    Синтаксические правила
    1) Опция
    ALL задает останов всех процессов архивирования (как тех, которые запущены пользователем, подавшим эту команду, так и тех, которые инициированы другими пользователями БД);
    2) Конструкция
    SINCE
    <дата> задает останов процессов архивирования,
    активизированных после указанной
    <даты>;
    3) Конструкция
    UNTIL
    <дата> задает останов процессов архивирования,
    активизированных до указанной
    <даты>;
    4)
    <Номер процесса> – системный идентификатор процесса архивирования.
    <Номер процесса> возвращается в поле ROWID блока управления запросом CBL
    при использовании интерфейса нижнего уровня (см. документ
    «СУБД ЛИНТЕР.
    Интерфейс нижнего уровня»
    ) или в переменной
    ROWIDPCI_ при использовании встроенного SQL (см. документ
    «СУБД ЛИНТЕР. Встроенный SQL»
    ) в случае успешного запуска процесса архивирования.
    Общие правила
    1) Прервать можно только асинхронное архивирование;
    2) Прервать процесс архивирования может либо пользователь, который его инициировал, либо пользователь с правами DBA (права DBA позволяют прерывать любые активные процессы архивирования, в том числе и других пользователей).
    Примеры останова оперативного архивирования
    Пример 1
    BACKUP STOP 4;
    Пояснение
    Будет произведена попытка останова процесса оперативного архивирования, имеющего идентификатор 4. Сначала ядро СУБД ЛИНТЕР проверит активность указанного процесса (если он уже завершился – будет выдан соответствующий код завершения).
    Если же процесс оперативного архивирования активен, то выполняются следующие действия:
    • закрытие файла архива;
    • запись в системную таблицу $$$INKERNBACK информации о причине и стадии (в процентах) завершения процесса;
    • останов процесса архивирования.
    Пример 2
    BACKUP STOP ALL;
    70
    © Архивирование и восстановление базы данных. ЗАО НПП «РЕЛЭКС», 1990-2021

    Оперативное архивирование
    Пояснение
    Будет произведена попытка останова всех запущенных в асинхронном режиме процессов оперативного архивирования, в том числе и процессов, запущенных другими пользователями СУБД с правами DBA. В случае успешного выполнения запроса пользователю, подавшему запрос, будет возвращено количество остановленных процессов в поле
    ROWID блока управления запросом CBL при использовании интерфейса нижнего уровня (см. документ
    «СУБД ЛИНТЕР. Интерфейс нижнего уровня»
    ) или в переменной
    ROWIDPCI_ при использовании встроенного SQL (см.
    документ
    «СУБД ЛИНТЕР. Встроенный SQL»
    ). Все остановленные процессы завершат свою работу, как описано выше в примере 1 этого раздела.
    1   2   3   4   5   6   7   8


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