Как исправить ошибку при выполнении операции. Сервер баз данных не обнаруженFATAL: database "NAME" does not exist

  • Д-р Кадди : Нужен диагноз. Женщина, 26 лет, взрыв газа под зданием, её вытащили из под обломков через 6 часов. Две операции из-за многочисленных переломов и ожогов…
    Д-р Хаус : Думаю, сломанные кости это следствие обрушавшегося ей на голову здания.
  • Д-р Хаус : Представьте, что крыша кладовки обрушилась на вашу любимую поломоечную машину. И та начинает перегреваться.
    Уборщик : Почему я должен любить поломоечную машину? Ладно… Может, от удара повредилось что-нибудь в электропроводке. Или что-то затекло внутрь и испортило её…
    Д-р Хаус : Хм, интересно. Проникновение инфекции через рваные раны. Бактерии отреагировали бы на антибиотики. Для вируса слишком сильный жар.Возможно, паразиты или грибки.
    Уборщик :Или волчанка.
    Хаус в изумлении оборачивается
    Уборщик : У моей бабушки волчанка.
    Д-р Хаус :(озадаченно) Хорошо,ауто-имунная. Проверю на волчанку. Хотя больше подходит инфекция. Хорошо бы ещё её карту. Приступим к худшей части работы. К общению с семьей поломоечной машины.
  • Д-р Хаус : В карточке указано, что она была больна ещё до того, как здание обрушилось.
    Муж пациентки : Я считаю, что это обычная простуда. А что, вы считаете это связано?
    Д-р Хаус : Её болезнь с её болезнью? Порой случается.
  • Мать пациентки : В дневнике сказано, что моя дочь принимает эти таблетки?
    Д-р Хаус : Нет, но с медицинской точки зрения…
    Д-р Кадди : Вы нашли таблетки в её доме?
    Д-р Хаус : Очевидно, она прятала их в сумочке. Подумал, будет неприлично искать под 1000 тонн обломков.
  • Хирург : У неё повсюду кровотечения, разве что аборт сделали при помощи дробовика.

В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.

Давать советы любят все, но когда доходит до дела, у всех резко находятся более важные дела:))) . Наверно будет честным сразу предупредить, что данный материал написан мной скорее как информация для размышления, а не теория решения личных проблем и неприятных ситуаций по работе. Тем не менее мне думается, приведеные здесь примеры из моей практики могут пригодиться при разборе аналогичных проблем.

В качестве примеров будут разобраны:

Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.

Текст сообщения:

"Ошибка соединения с сервером 1с: Предприятия 8.1:
server_addr=App1С:1540=Ошибка сетевого доступа к серверу
(Windows sockets - 10061(0x0000274D)
No connection could be made because the target machine actively refused it) line =567

Пример 2. "Потерялся" доступ к информационной базе.

Текст сообщения:

Ошибка при выполнении операции с информационной базой

Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’

HRESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Пример 3. Странная "неизвестная" ошибка.

Текст сообщения: «Произошла неизвестная ошибка на сервере 1С предприятие (80010108)»

1. Определение текста (проявления) ошибки и локализация источника возникновения

  • Зафиксируйте ошибку (текст и/или другую информацию, которая может пригодиться для анализа проблемы). Проблему лучше фиксировать с помощью технологического журнала . Вывод: если вы не используете технологический журнал для других задач, настройте его на постоянный лог сбор событий "исключений" (EXCP) и формирование дампов случае падения платформы.
  • Зафиксируйте время возникновения ошибки. Это в дальнейшем поможет локализовать место изучения различных логов.
  • ПРОЧТИТЕ текст сообщения, попытайтесь сразу понять источник возникновения проблемы из содержимого этого текста.
  • Выполните поиск решения по тексту сообщения в интернете или в других известных вам источниках решения проблемы.
  • Те, кто до этого не занимались решением проблем с ошибками платформы, решать их не будут, ищете тех кто этим занимался или занимается.

Примечание. Пример 1 . Поиск в ниже в разделе "Где можно найти готовое решение" по приведенным на данной странице тексту "10061" покажет сразу объяснение причины и решение : на сервере приложений остановлена служба "Агент сервера 1с :Предприятие 8.1 ". Соответственно ее надо запустить, например из командной строки:

net start Агент сервера 1с:Предприятие 8.1

Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:\Program Files\1cv81\server и удалите содержимое перед попыткой старта.

Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.

Общая информация

Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:

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

В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУБД. Никаких запросов от клиента к серверу управления базами данных не происходит .


ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Ident)

Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf , найдите строку:

Host all all 192.168.31.0/24 ident

и приведите ее к виду:

Host all all 192.168.31.0/24 md5

где 192.168.31.0/24 - диапазон вашей локальной сети. Если такой строки нет, ее следует создать в секции IPv4 local connections .

Сервер баз данных не обнаружен
could not translate host name "NAME" to address: Temporary failure in name resolution

На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата...

А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в на платформе Windows.

Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.

Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.

Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows запись вида:

192.168.31.83SRV-1C-1204

где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.

Ошибка СУБД: DATABASE не пригоден для использования

Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU .

Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql .

Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x [email protected] , подробности смотрите ниже.

Ошибка СУБД:
ERROR: could not load library "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x [email protected] , также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение - откатиться на сборку 9.0.x [email protected] .

Ошибка СУБД
ERROR: type "mvarchar" does not exist at character 31

Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль

или через средство запуска 1С.

Сервер баз данных не обнаружен
ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)

Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия .

Сервер баз данных не обнаружен
FATAL: database "NAME" does not exist

Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД - две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.

  • Теги:

Please enable JavaScript to view the

Файловый режим 1С: Предприятия 8.3 предполагает хранение информационных данных программы в виде файлов, объединенных в одну папку. Для каждой информационной базы (ИБ) создается отдельная папка, адрес которой можно увидеть в окне запуска программы:

Каждая папка данных 1С – набор системных файлов, среди которых 1Cv8.1CD и есть основной файл ИБ, содержащий введенные пользователями первичные данные, структуру конфигурации и механизмы ее работы:

Сохранение информационной базы

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

Выгрузка базы данных 1С может осуществляться несколькими способами:

  1. Самый простой – копирование на другой носитель всего каталога ИБ или одного файла 1Cv8.1CD. В случае необходимости, достаточно снова подключить эту папку в окне запуска, и база восстановлена.
  2. Второй, более универсальный и даже правильный способ – использование режима «Конфигуратор» при обязательном условии, что в программе никто не работает, и она закрыта у всех пользователей.

В режиме «Конфигуратор» следует выбрать пункт меню:

И сохранить выгружаемый файл с расширением dt, содержащий упакованные информационные данные и структуру конфигурации, в любой удобный каталог:

Экспорт базы из 1С в указанный каталог успешно выполнен:

Восстановление информационной базы

При выборе первого способа экспорта конфигурации 1С загрузка базы осуществляется подключением каталога в окне запуска программы (Добавить – Добавление в список существующей информационной базы) с последующим выбором папки, содержащей копию:

Для второго случая импорт базы 1С выполняется также в режиме «Конфигуратор». В меню «Администрирование» следует выбрать команду «Загрузить информационную базу» и указать файл выгрузки *.dt:

Следует согласиться с предупреждением о перезаписи данных, нажав кнопку «Продолжить».

При успешной загрузке файла информационных данных на экране будет выведено соответствующее сообщение:

Если дальнейшая работа в конфигураторе не предполагается, следует ответить «Нет».

Ошибки информационной базы и их решение

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

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

Тестирование и исправление

  1. Прежде всего, любым из рекомендуемых выше способов необходимо сделать резервную копию ИБ, так как любые изменения ее структуры при тестировании имеют необратимый характер.
  2. Программу следует запустить в режиме «Конфигуратор» и выбрать пункт меню «Тестирование и исправление…»:
  3. Форма обработки тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Оптимальный способ – выполнять их по очереди, поставив напротив нужной строки галочку, запускать после проверки программу в режиме «Предприятия» и проверять, не исправилась ли ошибка.

    Для одновременного применения исправлений к данным и структуре необходимо установить радиоточку в положение «Тестирование и исправление».

  4. Настроек много, описание каждой позиции можно посмотреть по кнопке «Справка» и выбрать соответствующую задаче или все сразу. Если база достаточно большого размера, ее тестирование может выполняться длительное время – прерывать его нельзя, поскольку в структуру конфигурации уже могут быть внесены изменения и следует обеспечить их завершение естественным путем.
  5. При выбранной проверке логической и ссылочной целостности базы данных нижний раздел формы становится активным, включает в себя проверку существующих на объекты ссылок и предлагает варианты их обработки:
  6. Пункт «Сжатие таблиц информационной базы» напрямую к исправлению ошибок не относится, но является палочкой-выручалочкой для баз большого размера — в системных таблицах со временем накапливаются временные данные прошлых периодов, использование этого пункта позволяет сократить размер информационной базы:
  7. При нажатии на кнопку «Выполнить» будет запущена процедура проверки и исправления, по окончании которой программа выдаст системное сообщение об его успешном окончании или список возможных проблем:

Программная обработка «Тестирование и исправление» проверяет и исправляет внутреннюю структуру конфигурации и информационных данных. За проверку физической целостности базы отвечает файл chdbfl.exe.

Этим файлом также осуществляется проверка базы на ошибки и расположен он в каталоге установки технологической платформы:

Форма этой проверки проста – достаточно выбрать файл информационной базы, установить флажок автоматического исправления ошибок и нажать на кнопку «Выполнить», Программа при этом должна быть закрыта у всех пользователей и, как всегда, выполнено резервное копирование:

При успешном окончании проверки будет выдано соответствующее сообщение:

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

Совет: своевременно выполненные архивные копии данных помогут если не избежать, то быстро и легко восстановить программу после непредвиденного сбоя, всего лишь откатив программу до актуальности ее копии.

gastroguru © 2017