Обслуживание записей БД


НАЧАЛО >> Руководство пользователя >> Обслуживание записей БД📄 Скачать в DOCX


Операции обслуживания записей доступны из карточки базы данных через кнопку Управление БД... в меню Записи. Они выполняются через очередь задач и предназначены для служебных действий над записями выбранной БД.

1. Обновление протокольной записи

Кнопка Обновить протокольную запись открывает окно запуска Database/RecUpdateProtocolRecord. Операция является ограниченным аналогом irbistool recupdate: принимает одну запись в протокольном текстовом формате и сохраняет ее через провайдер DP_Irbis64Native.

Формат входа:

Протокольную запись можно ввести в текстовом поле или загрузить из файла. Загруженный файл сохраняется во внутренний каталог операции irbistool-recupdate/<DB>/_uploads; в очередь передается только ProtocolUploadId. Интерфейс и задача не принимают произвольный путь к файлу на сервере. В одном запуске нужно использовать только один источник: либо текстовое поле, либо загруженный файл.

Параметр Обновить MST/XRF соответствует режиму -mstupdate. Если он включен, запись сохраняется в MST/XRF. Параметр Актуализировать словарь соответствует добавлению -ifupdate после записи в MST/XRF.

Перед запуском с включенным Обновить MST/XRF нужно подтвердить наличие актуальной резервной копии БД и описанного способа отката. Комментарий к backup/rollback сохраняется в отчете queue-задачи как BackupNote. Это требование относится к операциям, которые реально меняют MST/XRF; режимы без записи не требуют подтверждения раньше проверки параметров.

Отчет задачи возвращает машинные поля maxMfn, xrfFlags, reportStatus и совместимый текстовый блок irbistoolReportText. Для обычных успешных запусков первые две строки этого блока соответствуют отчету irbistool: текущий maxmfn, затем mfn#status. Если autoin.gbl изменил запись, ИРБИС 128 также возвращает строки измененной записи в returnedRecordLines и в хвосте irbistoolReportText.

Режим чистого -ifupdate без -mstupdate не выполняется. В irbistool этот режим подтвержден как дефектный: утилита возвращает ошибку и не актуализирует индекс. В ИРБИС 128 такое поведение не эмулируется; для актуализации уже существующей записи используйте отдельные операции актуализации словаря.

По исходному коду irbistool команда recupdate читает один протокольный файл как одну запись: отдельного цикла по нескольким записям в этой команде нет. Для массовой загрузки записей используйте импорт записей, потому что он ведет manifest, поддерживает потоковую обработку входного файла и отдельные правила backup/rollback.

Если в БД настроен autoin.gbl, ИРБИС 128 выполняет его перед сохранением записи в режиме Обновить MST/XRF. При проверке irbistool recupdate -mstupdate на простом autoin.gbl с ADD 910 * 'Recupdate autoin mark' подтвержден дефект эталонной утилиты: запись сохраняется без поля autoin, а в протокольной строке результата появляется флаг AUTOIN_ERROR_FLAG (128). Это поведение не эмулируется; в ИРБИС 128 такой autoin.gbl применяется к записи штатно.

2. Разблокировка записей по MFN

Кнопка Разблокировать записи по MFN открывает окно параметров и запускает задачу Database/UnlockMfn. Для провайдера DP_Irbis64Native операция соответствует команде irbistool unlockmfn: снимает флаг блокировки записей в XRF.

Поддерживаемые режимы:

Интерфейс не принимает путь к файлу списка MFN на сервере. В поле Список MFN передаются сами номера записей, разделенные пробелами, запятыми, точками с запятой или переводами строк. Для больших списков используйте поле Файл списка MFN и кнопку Загрузить список: файл сохраняется во внутренний каталог irbistool-unlockmfn/<DB>/_uploads, в очередь передается только MfnListUploadId, а провайдер читает MFN из внутреннего файла потоково.

3. Параметры

Параметр Назначение
Первый MFN Начало диапазона записей. Если последний MFN не задан, диапазон продолжается до конца БД.
Последний MFN Конец диапазона записей.
Список MFN Явный список записей. При указанном списке диапазон не используется.
Файл списка MFN Загруженный файл списка MFN для больших списков. Нельзя использовать одновременно с полем Список MFN.
Все заблокированные Просканировать XRF и снять блокировку со всех записей, у которых установлен флаг блокировки.

Если не указан ни диапазон, ни список, ни режим Все заблокированные, задача не запускается и возвращает ошибку параметров.

4. Результат

В отчете фоновой задачи возвращаются:

Для больших БД режим Все заблокированные выполняет последовательный проход по XRF и не загружает весь список записей в оперативную память.

5. Контроль

После выполнения проверьте статус задачи в очереди и счетчики результата. Если операция запускалась на рабочей БД после аварийного завершения пользовательских сессий, дополнительно проверьте возможность редактирования контрольных записей, которые ранее считались заблокированными.