Ошибка "Запись не найдена в менеджере имен базы данных" с катастрофическими последствиями и её лечение

24.05.24

База данных - Администрирование СУБД

Ситуация: при обновлении серверной базы данных произошёл сбой и теперь невозможно войти ни в конфигуратор, ни в 1С:Предприятие по причине ошибки, вынесенной в заголовок. Рецепт лечения.

Случилась сегодня ситуация: при обновлении конфигурации базы данных конфигуратор вывалился с ошибкой (суть которой не важна, да и не записали). После этого вход в базу стал невозможен: при попытке открыть её и клиентом, и конфигуратором, получили ошибку "Запись не найдена в менеджере имен базы данных".

Ситуацию усугубляло то, что бэкап перед обновлением, естественно, виновники торжества не сделали, последний бэкап датируется прошлой ночью, и за почти сутки десятки пользователей внесли сотни документов.

Зачем я пишу об этом? Затем, что в решении этой проблемы Гугл оказался не помощник:

  1. Гуглится огромная куча статей, где при аналогичной ошибке рекомендуется использовать утилиту восстановления файловых баз. А у них -- серверная.
  2. Гуглится огромная куча статей, где подобная ошибка возникает спорадически или при реструктуризации в результате каких-то манипуляций в расширении. В результате заход в конфигуратор и некие манипуляции там всё решают. А в нашем случае в конфигуратор зайти нельзя совсем.
  3. Что такое "менеджер имён базы данных", в какой таблице БД он хранится? Прямого ответа на этот вопрос Гугл не даёт.
  4. Есть несколько записей на разных форумах, когда человек столкнулся с такой же проблемой, ему советуют восстановить таблицы config, dbschema, files и т. п., но никакой информации о решении проблемы в итоге нет.

Итак, решение:

  1. Делаем копию битой базы при помощи pg_dump и куда-нибудь откладываем. Пока база бэкапится, виновнику торжества посылаем одну из картинок "Он не делал бэкапы".
  2. Разворачиваем из копии предыдущий ночной бэкап.
  3. "Менеджер имён базы данных" -- это данные, помимо прочих, хранящиеся в таблице params. Вот её нам и надо перетянуть из старого бэкапа в битую базу. Делаем дамп таблицы в развёрнутом бэкапе, очищаем таблицу в битой базе и загружаем из дампа.

Ответы на вопросы "как сделать дамп базы данных", "как сделать дамп отдельной таблицы", "как удалить содержимое таблицы" и "как загрузить данные из sql-дампа" в PostgreSQL Гугл уже знает достаточно хорошо.

Разумеется, эти советы надо применять осознанно и с умом. Возможно, параллельно стоит перетащить таблицу config. Также в нашем случае мы точно знали, что никаких других изменений в конфигурации между бэкапом и поломкой не происходило. Иначе можно получить разнообразные глюки.

Так как бэкапы -- наше всё, после восстановления имеет смысл сделать ещё один бэкап, запустить тестирование-исправление. А потом вообще развернуть чистую базу на той же конфигурации и перенести туда данные, например, через выгрузку-загрузку XML.

См. также

Куда же деваются файлы из 1С

Администрирование СУБД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

При хранении файлов в томах на диске они иногда исчезают. Разбираемся, почему.

23.05.2024    7771    human_new    18    

54

Установка и примеры использования 1С:Исполнитель на РедОС

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Краткое описание шагов по установке, настройке и применению инструмента 1С:Исполнитель на операционной системе РедОС, а также по борьбе с некоторыми возникающими ошибками.

06.05.2024    700    artemusII    0    

1

Нестандартное решение пересчета итогов

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Статья для тех, кто столкнулся с необходимостью пересчета итогов для "больших таблиц" и нет возможности поставить на паузу ИБ для проведения работ.

25.04.2024    2503    virustam    33    

12

Идентификация пользователя не выполнена

Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Иногда в конфигурации 1С:Бухгалтерский учет v3.0 возникает ситуация, когда программа всем пользователям выдает предупреждение, что авторизация не выполнена и работа программы будет завершена. Данная инструкция позволяет решить возникшую проблему.

24.04.2024    1056    Yan_Malyakov    0    

3

Устранение ошибки выполнения скрипта "Создать сервис RAGENT" в ЦКК

Администрирование СУБД Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье показано, как устранить ошибку выполнения скрипта "Создать сервис RAGENT" в системах 1С:Центр контроля качества или в 1С:Центр автоматизации. Будет полезна администраторам ЦКК и ЦА, которые только начали знакомство с этими системами.

18.04.2024    480    artemusII    0    

8

Долгая реструктуризация, замеры времени и очистка Ветис. Розница 2.3

HighLoad оптимизация Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

При подготовке к обновлению возникли проблемы на стадии тестирования и исправления базы данных, также при создании файлов РИБ для магазинов.

16.04.2024    550    xKaskadx    4    

2

Установка и получение лицензии на базовую конфигурацию 1С на Mac OS

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Установить купленную базовую конфигурацию 1С и получить лицензию на MAC OS не так просто, как кажется на первый взгляд и как хотелось бы. Официально в системных требованиях на базовую конфигурации 1С пишет всякие виндовсы и пару-тройку линуксов. МакОс там нет. В статье расскажу, как все-таки поставить на Мак базовую конфигурацию 1С.

11.04.2024    592    pahmutov    0    

3

Установка тонкого клиента 1С на Rasbian (Raspberry Pi 5)

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

После приобретения Raspberry Pi 5 решил проверить, есть ли возможность использования устройства для организации тонкого клиента. В результате столкнулся с особенностью установки 1С: Предприятие 8.3.23 на Raspbian, решением которой я хочу поделиться с сообществом.

07.04.2024    1077    Bessome    4    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mrcamomile 80 24.05.24 14:34 Сейчас в теме
Спасибо, напишите в статье платформу на которой поймали эту ошибку.
3. Kernelbug 52 24.05.24 19:32 Сейчас в теме
(1) Не имеет значения. Ну 8.3.22.1750
2. SerVer1C 781 24.05.24 15:00 Сейчас в теме
Вы целиком перетягивали params или отдельные записи?
4. Kernelbug 52 24.05.24 19:33 Сейчас в теме
(2) Перетянул целиком, но потом пришел к выводу, что надо будет подробнее разобрать содержимое и переносить конкретные записи.
5. gurd 5 07.06.24 14:11 Сейчас в теме
Словил себе такую ошибку сегодня. При обновлении с реструктуризацией вылетела ошибка исключительной блокировки, не удалось завершить обновление. Эту ошибку полечил, вроде, заработало, но на некоторых запросах сыпалась ошибка Запись не найдена в менеджере имен базы данных.
В обновлении добавлялись несколько новых реквизитов, возможно, при реструктуризации эти новые реквизиты корректно в базу не записались, поэтому удалил добавленные реквизиты, сохранил изменения с реструктуризацией ИБ и ошибка исчезла.
Теперь при обновлении будем не только завершать сеансы пользователей, блокировать регламентные задания, но и стопать веб сервер на время обновления, чтобы ничего случайно не могло в базу подключиться.
6. Kernelbug 52 13.06.24 18:20 Сейчас в теме
(5) Конечно, в нормальной ситуации бэкапы рулят. Но если база такая, что восстановление из бэкапа занимает часов 5 и есть способы починить напрямую и быстрее, эти способы рулят тоже. Но бэкапы всё равно рулят.
Оставьте свое сообщение