Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Общая информация
Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:
Сервер 1С Предприятия. Часть 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 или в C:WindowsSystem32driversetchosts на платформе Windows.
Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.
Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:WindowsSystem32driversetchosts на платформе Windows запись вида:
192.168.31.83 SRV-1C-1204
где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.
Ошибка СУБД: DATABASE не пригоден для использования
Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU.
Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql.
Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x Postgre@Etersoft, подробности смотрите ниже.
Ошибка СУБД:
ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft, также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение — откатиться на сборку 9.0.x Postgre@Etersoft.
Ошибка СУБД
ERROR: type «mvarchar» does not exist at character 31
Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль Администрирование серверов 1С Предприятия
или через средство запуска 1С.
Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия.
Сервер баз данных не обнаружен
FATAL: database «NAME» does not exist
Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД — две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
После установки сервера 1С на Linux у пользователей могут возникнуть проблемы при попытке подключиться к нему. Данные проблемы могут быть связаны как с настройками на сервер или клиентском компьютере, так и с настройками сетевой инфраструктуры. Рассмотри наиболее часто встречающиеся ошибки и методику поиска и исправления причин этих ошибок.
Оглавление:
1. Этот хост неизвестен / No such host is known
2. Ошибки соединения с сервером 1С/ рабочим процессом 1С
2.1. Попытка установить соединение была безуспешной.
2.2. Сервер 1С:Предприятия не обнаружен
2.3. Ошибка установки соединения
2.4. Методика устранения ошибок соединения с сервером 1С
Этот хост неизвестен / No such host is known
Пример полного текста ошибки:
Ошибки соединения с сервером 1С:Предприятия 8.3:
server_addr=tcp://sony2 descr=11001(0x00002AF9):
Этот хост неизвестен
line=1068 file=srcDataExchangeCommon.cpp
Ошибка при выполнении операции с информационной базой.
server_addr=tcp://1s-on-1c-1 descr=11001(0x00002AF9): No such host is known line=1068 file=srcDataExchangeCommon.cpp
Описание:
Ошибка может возникать как при работе с консолью администрирования 1С:Предприятия(добавление сервера, создание базы…), так и при запуске информационной базы.
Такая ошибка характерна, когда компьютер пользователя не обладает информацией о соответствии ip-адреса dns-имени сервера.
Решение:
Настроить DNS-адресацию или прописать адреса в файл hosts.
О том, как и почему это надо сделать — можно почитать тут Настройка DNS-адресации на сервере 1С.
В случае, если кажется, что все имена прописаны верно, необходимо:
1. Проверить еще раз. Скорее всего, где-то ошибка.
2. Сравнить, как хост прописан на самом сервере и на компьютере пользователя. Имена должны быть одинаковыми.
Часто ошибка связана с тем, указан в имени доменный суфикс или нет.
3. Проверить в консоли администрирования 1С: Предприятия — как у вас собран кластер 1С:Предприятия.
- Возможно, у вас в консоли сервера отображаются не по DNS-имени, а по IP-адресам.
- Возможно, клиент не сможет сопоставить IP-адрес DNS-имя(в случае, если сервер 1С находится в другой сети, и вы подключаетесь к кластеру напрямую).
Не правильно:
Правильно:
Необходимо удалить кластер. И собрать из консоли администрирования его заново.
Ошибки соединения с сервером 1С / рабочим процессом 1С
Описанные далее ошибки могут возникать как при работе в консоле администрирования 1С, так и при запуске информационной базы.
Методика по решению всех приведенных далее ошибок — описана в конце этого подраздела ошибок соединения с сервером / рабочим процессом.
Попытка установить соединение была безуспешной
Пример полного текста ошибки:
Ошибка соединения с сервером 1С:Предприятия 8.3:
server_addr=tcp://son1c:1541 descr=192.168.0.101:1541:
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
Ошибка соединения сервером – клиент не может подключиться к агенту сервера 1С, процессу ragent. Порт в сообщении 1541(по умолчанию):
Ошибка соединения рабочим процессом – клиент не может подключиться к рабочему процессу сервера rphost. Порт в сообщении может быть из диапазона 1560-1591(по умолчанию).
Ошибка соединения сервером – клиент не может подключиться к менеджеру сервера 1С, процессу rmgr. Порт в сообщении 1540(по умолчанию).
Сервер 1С:Предпрятия не обнаружен
Пример полного текста ошибки:
Сервер 1С:Предприятия не обнаружен
Не запущен ни один рабочий процесс. Соединение с информационной базой невозможно.
Такое сообщение можно увидеть если на сервере 1С не запущен ни один рабочий процесс rphost.
Ошибка установки соединения
Пример полного текста ошибки:
Ошибка установки соединения
Выполняется ожидание возможности запуска.
При появлении возможности, запуск будет выполнен автоматически.
Методика устранения ошибок соединения с сервером 1С
В данном случае необходимо понимать, что:
- Либо процессов нет;
- Либо не удается «увидеть» процессы в связи с отсутствием доступа;
- Либо происходит обращение по другому адресу.
1. Сначала проверим есть ли на сервере 1С в запущенные рабочие процессы rphost.
Или
Видим, что у нас rphost слушает порт 1560
Если не все процессы запущены смотрим как исправить тут Ошибки сервера 1С на Linux.
2. Если процессы запущены — проверим доступность рабочих процессов по портам, которые они «слушают».
С компьютера пользователя необходимо выполнить команду:
telnet server_address 1560 |
и другие порты, на которых есть rphost.
К причинам отсутствия доступа по данному порту можно отнести:
- Блокировка брадмауэром или другими подобными программами;
- Отсутствие доступа на уровне сети;
- Работающий selinux.
3. Проверяем dns-адресацию.
В частности:
-
-
- hosts на компьютере пользователя
-
(в Windows: C:WindowsSystem32driversetchosts);
-
-
- hosts на сервере 1С (в ОС Linux: /etc/hosts);
- реестр кластера 1С
-
(по умолчанию в ОС Linux: /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst.).
Ошибка может быть связана с несоответствием указания имени сервера
-
-
- у пользователя
- в реестре кластера серверов 1С:Предприятия.
-
Например, с различиями в указании имени сервера с/без домена.
Содержание
- Ошибка при создании базы 1С с клиента под Windows
- Ошибка субд: database не пригоден для использования
- В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.
- 1. Определение текста (проявления) ошибки и локализация источника возникновения
- Сохранение информационной базы
- Восстановление информационной базы
- Ошибки информационной базы и их решение
- Тестирование и исправление
- Общая информация
- ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
- Сервер баз данных не обнаружен could not translate host name «NAME» to address: Temporary failure in name resolution
- Ошибка при выполнении операции с информационной базой server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
- Ошибка СУБД: DATABASE не пригоден для использования
- Ошибка СУБД: ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
- Ошибка СУБД ERROR: type «mvarchar» does not exist at character 31
- Сервер баз данных не обнаружен ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
- Сервер баз данных не обнаружен FATAL: database «NAME» does not exist
- Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
- Ошибка СУБД:
- DATABASE не пригоден для использования
- ERROR: type «tt7» already exists
- ERROR: could not read block
- Не удалось запустить сервер PostgreSQL
- Длительный запуск 1С:Предприятия при работе с СУБД PostgreSQL
- Из файла *xlsx загружаются в 1С иероглифы/ в файл выгружаются иероглифы.
- Еще можно посмотреть
- Установка двух версий сервера 1С на Linux
- Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.
- Администрирование серверов 1С на Linux
- Установка PostgreSQL для 1С на Linux
- Публикация 1С на Веб сервере Apache Linux
- Установка и настройка хранилища конфигураций 1C на Linux сервере
- Основные команды Linux
Ошибка при создании базы 1С с клиента под Windows
Установлен сервер 1С Предприятие 8.2 (релиз 8.2.17.169), СУБД PostgreSQL 9.2.1 на сервере линукс CentOS 6.3 (64bit). В среде СУБД PostgreSQL базы создаются и тестируются. При попытке создать БД с клиента на ПК под Windows, клиент выдает сообщение: «Ошибка при создании информационной базы: Ошибка операции с информационной базой Ошибка СУБД: DATABASE не пригоден для использования » Пожалуйста, подскажите где копать. Спасибо.
а с линуксов создаются нормально?
На сервере с консоли терминала в среде СУБД PostgreSQL базы создаются и тестируются.
Там мильйон причин по которым у вас вылазит такая ошибка. Вы через оснастку Администрирование серверов 1с, бд подключали?
нет. Я просто установил клиент и с него. В меня клиентский ПК под Win 7. Попробую через оснастку. Спасибо.
А постгрес пропатчен для 1С?
Попробовал через оснастку. Но при создании Центрального сервера после задания его имени «Serv1С» или IP выдаэтся следуюющее собщение: Server addr=tcp://Serv1C:1541 descr=192.168.101.10:1541; Ошибка сетевого доступа к серверу (Windows Sockets-10065(0x00002751). Сделана попытка выполнить операцию на сокете для недоступного хоста); lin=545 file=srcDataExchange TcpClientlmpl.cpp
Приехали. Я так понял, что с сети не видно сервера. Хотя через самбу я его вижу и даже пишу в расшаренную папку. А вот сервера 1С, видимо не видно. И как его открыть для сети?
Пройди в оснастку управления и администрирования сервером 1С предприятие. Зайди в свой кластер и обрати внимание на «Рабочие серверы». Удали то что там сейчас и укажи реально существующий сервер. После этого возможно потребуется создать рабочие процессы.
Скачай с офф.сайта производителя патчи, если сам сервер Postgres не с офф. сайта.
«Serv1С» надо прописать в hosts.
Для начала рабочий сервер поправьте в кластере. Я почему-то думаю что postgres у тебя с офф.сайта.
Установи ее на виндовс машине и мышкой нашелкай, или поправь все в файле сервера 1С на Линукс
Вы вообще не в теме, да?
Человек слабо понимает, что делает, и вообще не понимает, что ему говорят. На днях этот же вопрос он уже задавал.
База PostgreSQL и «информационная база» 1С имеют между собой примерно столько же общего, сколько база автомобиля и база отдыха.
Дружище, ты не там ищешь ответы. Тебе придётся сесть и изучить документацию вообще по всему, что ты используешь, научится диагностике и решению проблем.
А когда ты станешь гуру pgsql и 1с, ты поймёшь, какой бесполезнейшей хернёй ты вообще занимаешься. Связка 1C+pgsql не даст тебе никакого прироста в производительности, напротив, такая связка гарантированно хуже в этом плане чем 1с+дефолтный mssql, даже если ты базы утащишь в рамфс и воткнёшь столько мощных процессоров, сколько у тебя хватит фантазии. И дело не в тебе и не в pgsql, дело в 1С.
Но я тебя обрадую, (не в даваясь в историю появления mssql) 1С под linux идеально чувствует себя в связке с db2 от ibm. Эффект «вау» от бухгалтеров гарантирован и отсутствие нервотрёпок в дальнейшим тоже. Да, для использования больше 2Гб памяти она требует покупку лицензии, очень не дешёвой.
Тебе придётся сесть и изучить документацию вообще по всему
Когда тебе дают ссылку на коротенький ман по включению отладочных сообщений сервера, достаточно умения читать.
Связка 1C+pgsql не даст тебе никакого прироста в производительности, напротив, такая связка гарантированно хуже в этом плане чем 1с+дефолтный mssql
1С под linux идеально чувствует себя в связке с db2 от ibm.
Близко к 4.2. Заливку dt по 10 часов уже починили? Администрирование этого чуда даже не рассматриваем.
У меня клиентские базы далеко не ИП, но почему-то прекрасно себя с постгресом чувствуют, и типовые, и собственные. Про кучу лишнего времени мимо. Ну а про «одну лицензию на винду» как-то даже не смешно.
Ты не берёшься утверждать что производительность pgsql лучше чем db2, у тебя всё отлично и так. Хорошо, сколько гигабайт твоя база и сколько в ней работает человек?
Надеюсь, что ты пробовал не триальную версию с ограничением в процессорах, памяти и процессах.
Заливку dt по 10 часов уже починили?
А что была какая-то проблема у тех кто догадался прочитать документацию? У меня таких проблем нет.
Администрирование этого чуда даже не рассматриваем
А какие проблемы с администрированием? И она не чудо, она «суровый энтерпрайз» со всеми вытекающими плюсами и минусами.
Давай пойдём по пути простой логики, как ты думаешь, что движет людьми, что они заменяют mssql и pgsql на db2? Ну или не заменяют, а хотя бы пытаются?
Я не агитирую за db2, у меня к ней тоже есть претензии, но они нивилируются удовлетворением от производительности. К сожалению, pgsql мне эту радость не подарил, и мне жаль потраченного на него времени при решения задачи «обеспечить производительность выше mssql». Я работал с базами 15-80Гб с 20-40 активными юзерами, это было лето 2011г.
p.s. допускаю, что за последние почти 2 года произошёл какой-то прорыв в связке с pgsql, но зная инертность 1с разработчиков, просто в это не верю.
Ты не берёшься утверждать что производительность pgsql лучше чем db2.
Конечно нет, фирма 1С тоже вот не берётся. Про сферические базы со сферическими пользователями я уже писал. По опыту могу сказать, что серьёзные затыки с производительность обычно связаны с нюансами учётных алгоритмов, и не решаются ни железом, ни настройкой чего-либо. Только изменение/оптимизация алгоритма.
Хорошо, сколько гигабайт твоя база и сколько в ней работает человек?
Ок, есть база на 50Гб с 30+ пользователями. Внезапно, на постгресе чувствует себя лучше, чем на скуле.
А что была какая-то проблема у тех кто догадался прочитать документацию?
Ага, посмотри закрытый форум.
как ты думаешь, что движет людьми, что они заменяют mssql и pgsql на db2?
Отсутствие программистов в штате? Имеющийся db2? 🙂
но зная инертность 1с разработчиков, просто в это не верю.
Всем бы такую инертность, за 5 лет полностью переписать платформу, реализовать полноценный клиент-сервер, кроссплатформенность, веб-клиента, декларативное описание интерфейса и ещё обеспечивать обратную совместимость.
Источник
Ошибка субд: database не пригоден для использования
В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.
В качестве примеров будут разобраны:
Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.
Пример 2. «Потерялся» доступ к информационной базе.
Ошибка при выполнении операции с информационной базой
Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’
H RESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1
Пример 3. Странная «неизвестная» ошибка.
Текст сообщения: «Произошла неизвестная ошибка на сервере 1С предприятие (80010108)»
1. Определение текста (проявления) ошибки и локализация источника возникновения
net start Агент сервера 1с:Предприятие 8.1
Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:Program Files1cv81server и удалите содержимое перед попыткой старта.
Файловый режим 1С: Предприятия 8.3 предполагает хранение информационных данных программы в виде файлов, объединенных в одну папку. Для каждой информационной базы (ИБ) создается отдельная папка, адрес которой можно увидеть в окне запуска программы:
Каждая папка данных 1С – набор системных файлов, среди которых 1Cv8.1CD и есть основной файл ИБ, содержащий введенные пользователями первичные данные, структуру конфигурации и механизмы ее работы:
Сохранение информационной базы
Сохранение копии информации программ 1С на внешний носитель или облачный ресурс настоятельно рекомендуется выполнять ежедневно, а при активной деятельности и большом объеме документов – и несколько раз в день. Это поможет избежать мучительного восстановления данных в случае сгоревшего жесткого диска, неудачного обновления программы, вирусной атаки.
Выгрузка базы данных 1С может осуществляться несколькими способами:
В режиме «Конфигуратор» следует выбрать пункт меню:
И сохранить выгружаемый файл с расширением dt, содержащий упакованные информационные данные и структуру конфигурации, в любой удобный каталог:
Экспорт базы из 1С в указанный каталог успешно выполнен:
Восстановление информационной базы
При выборе первого способа экспорта конфигурации 1С загрузка базы осуществляется подключением каталога в окне запуска программы (Добавить – Добавление в список существующей информационной базы) с последующим выбором папки, содержащей копию:
Для второго случая импорт базы 1С выполняется также в режиме «Конфигуратор». В меню «Администрирование» следует выбрать команду «Загрузить информационную базу» и указать файл выгрузки *.dt:
Следует согласиться с предупреждением о перезаписи данных, нажав кнопку «Продолжить».
При успешной загрузке файла информационных данных на экране будет выведено соответствующее сообщение:
Если дальнейшая работа в конфигураторе не предполагается, следует ответить «Нет».
Ошибки информационной базы и их решение
Нередки случаи, когда из-за случайных перепадов напряжения в сети, неудачного или неполного обновления ИБ, разрушения жесткого диска, на котором расположен каталог данных или вирусная атака приводят к нарушению структуры конфигурации и потере данных. Конфигурация 1С в таких случаях может не запускаться вовсе с выдачей соответствующих сообщений или запускаться, но работать некорректно.
Если копия данных по каким-либо причинам не была сохранена и восстановление ее достойным вариантом невозможно, необходимо выполнить для конфигурации 1С проверку целостности базы – возможно, но вовсе не обязательно она поможет решить проблемы.
Тестирование и исправление
Для одновременного применения исправлений к данным и структуре необходимо установить радиоточку в положение «Тестирование и исправление».
Программная обработка «Тестирование и исправление» проверяет и исправляет внутреннюю структуру конфигурации и информационных данных. За проверку физической целостности базы отвечает файл chdbfl.exe.
Этим файлом также осуществляется проверка базы на ошибки и расположен он в каталоге установки технологической платформы:
Форма этой проверки проста – достаточно выбрать файл информационной базы, установить флажок автоматического исправления ошибок и нажать на кнопку «Выполнить», Программа при этом должна быть закрыта у всех пользователей и, как всегда, выполнено резервное копирование:
При успешном окончании проверки будет выдано соответствующее сообщение:
Если рассмотренные здесь методы тестирования и восстановления данных должного результата не принесли, для восстановления целостности информационной базы и исправления ошибок следует обратиться к квалифицированным специалистам 1С.
Совет: своевременно выполненные архивные копии данных помогут если не избежать, то быстро и легко восстановить программу после непредвиденного сбоя, всего лишь откатив программу до актуальности ее копии.
Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.
Общая информация
Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:
В небольших внедрениях сервер 1С и сервер СУБД обычно совмещают на одном физическом сервере, что немного сужает круг возможных ошибок. В нашем случае будет рассматриваться ситуация, когда сервера разнесены по разным машинам. В нашей тестовой лаборатории мы развернули следующую схему:
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
Host all all 192.168.31.0/24 ident
и приведите ее к виду:
Host all all 192.168.31.0/24 md5
Сервер баз данных не обнаружен
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:WindowsSystem32driversetchosts на платформе Windows запись вида:
где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.
Ошибка СУБД: DATABASE не пригоден для использования
Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x [email protected] , подробности смотрите ниже.
Ошибка СУБД:
ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
Ошибка СУБД
ERROR: type «mvarchar» does not exist at character 31
Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль
или через средство запуска 1С.
Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
Сервер баз данных не обнаружен
FATAL: database «NAME» does not exist
Источник
Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Ошибка СУБД:
Продолжение сообщения может быть различным:
DATABASE не пригоден для использования
Пример полного текста ошибки:
Описание ошибки:
База не запускается после установки и создания.
Решения:
Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно с сайта 1С (при наличии купленного ИТС и открытого доступа), или приобрести у PostgresPro.
Либо проверим все ли зависимости были установлены. И установим недостающие.
ERROR: type «tt7» already exists
Пример полного текста ошибки:
Описание:
Данная ошибка является «плавающей» и может возникать в различных местах
Решение:
Выгрузим и загрузим базу данных средствами 1С:Предприятия(через файл *.dt).
ERROR: could not read block
Описание ошибки:
База не запускается. Разрушились диски.
Решения:
Переносим базу на другую дисковую систему.
Разворачиваем из резервной копии.
Не удалось запустить сервер PostgreSQL
Пример полного текста ошибки:
Описание:
Такая ситуация часто случается у начинающих администраторов в случае, если они хотят инициализировать сервер в каталог отличный от каталога по умолчанию. При этом сервер уже запустили из каталога по умолчанию.
В этой ситуации при попытке запуска видно ошибку – сервер не запускается.
А при проверке состояния видно, что сервер работает.
Если проверим запущенные процессы пользователя postgres, то можно увидеть, что порт 5432 занят кластером PostgreSQL, только запущенным из каталога по умолчанию.
Решение:
Остановим работающий кластер сервера СУБД.
Инициализируем кластер из нового каталога(если он не инициализирован).
Запустим из нового каталога.
Длительный запуск 1С:Предприятия при работе с СУБД PostgreSQL
Описание:
Длительный запуск, длительный захват объектов в хранилище, длительное сохранение конфигурации 1С:Предприятия.
Решение:
Такая проблема может быть связано с настройками СУБД PostgreSQL.
Рассчитаем настройки СУБД.
Описание настроек приведено на ИТС.
Выполним настройки, для этого перейдем в терминал psql:
Через psql установим параметры командой ALTER SYSTEM SET(параметры необходимо указать для вашей СУБД):
Из файла *xlsx загружаются в 1С иероглифы/ в файл выгружаются иероглифы.
Описание ошибки:
При загрузке данных из файла *.xlsx в 1С отображаются иероглифы. Используемая СУБД PostgreSQL/PostgresPro.
Также возможна проблема с кодировкой в выгружаемом файле из 1С:
Решение:
На сервере СУБД проверим и выполним настройку локали.
1. Проверим наличие локали:
2. Проверим переменную:
Корректное значение результатов выполнения команд 2, 3:
3. Если результат не соответствует, выполним:
5. Выполним перезапуск серверов СУБД
Еще можно посмотреть
Установка двух версий сервера 1С на Linux
Пошаговый процесс установки и запуска двух версий сервера 1С на Linux. Полное описание настройки второго экземпляра сервера 1С.
Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок. Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия). В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без […]
Администрирование серверов 1С на Linux
Привычным для нас инструментом управления кластером серверов 1С является консоль «Администрирование серверов 1С Предприятия» — «Microsoft Management Console». Данная консоль позволяет выполнять все необходимые действия по администрированию кластеров серверов 1С:Предприятия. Но, она имеет один недостаток – её невозможно использовать под ОС Linux. Но не все так плохо. Альтернативными средствами администрирования серверов 1С на Linux являются: […]
Установка PostgreSQL для 1С на Linux
Пошаговый процесс установки СУБД PostgreSQL для 1С на Linux сервер.
Публикация 1С на Веб сервере Apache Linux
Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.
Установка и настройка хранилища конфигураций 1C на Linux сервере
Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки. Настраиваем сервер хранилища на Linux.
Основные команды Linux
Список основных команд консоли Linux которые потребуются при установке и настройке 1С. Примеры использования с комментариями.
Источник
Почему возникает такая проблема
Ошибка при выполнении операции с ИБ server_addr=tcp://xxxx:1541 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10060 (0x0000274C) timeout
Запомните в закладки , потом всегда можно будет вернуться к этой страничке.
Как устраняется проблема
1. выключить брандмауэр
2. Пропишите Ip-шник вашего сервера в файле C:WINDOWSsystem32driversetchosts и его же пропишите в C:Program Files1cv81inconf
ethasp.ini в описании [TCP-IP] в строке NH_SERVER_ADDR = Ip-шник вашего сервера
3. ресурсы процессора загружены на 100% (CPU%), добавить процессоров на сервер
Контакты (Если вам не нравятся неприятности, единственный выход — переложить их )
Услуги оказываются от 1С-Рарус
Телефоны: (495) 250-6383, 250-6393, 223-0404
попросить оператора переключить на Гилёва Вячеслава (сотовый)
Бухгалтерия государственного учреждения, редакция 1.0 (1.0.28.2) (http://v8.1c.ru/stateacc/)
Copyright © ООО «1C», 2009-2013. Все права защищены
Организация базы — клиент серверная.
Компьютер Объем памяти (Мб) 1 16367
Операционная система Наименование 1 Microsoft Windows Server 2008 R2 Standard
Операционная система Версия 1 06.01.7601
Операционная система Обновление 1 Service Pack 1
Процессор Наименование 1 Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
Процессор Описание 1 Intel64 Family 6 Model 42 Stepping 7
Не можем решить ситуацию . Длится не один год.
Всего 5 пользователей.
Во время работы в 1с одна из машин прекращает работу с 1с. Другие по прежнему работают.
Или при запуске 1с одна из машин выдает это сообщение (другие входят нормально).
Собщение всегда такого содержания:
Ошибка при выполнении операции с информационной базой
server_addr=tcp://sql-srv:1541 descr=Ошибка сетевого доступа к серверу
(Windows SocKets — 10060(0x0000274C).Попытка установить соединение была безуспешной, т.к. от другого компьютера
за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного
отклика уже подключенного компьютера.)line=590 file=SrcDataExchange TcpClientlmpl.cpp
Сейчас эту ошибку устраняем методом бесконечных попыток войти (уходит на это 40-60 минут),
Или перевключаем сетевой кабель, тогда быстрее, но не на всех машинах есть такая возможность.
Рекомендации от 1с
Попробуйте отключить на сервере
«Брандмауэр Windows, либо добавить в исключения порт 1541 — выполнено.
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает
И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и т.д. вообще нужно прямое подключение с ноутбука к базе на сервере. Дело не хитрое, ставим клиента, подключаем базу и получаем ошибку следующего содержания:
server_addr=tcp://192.168.1.123:1541 descr=192.168.1.123:1541:10060(0x0000274C): Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ; line=842 file=srcDataExchangeTcpClientlmpl.cpp
Выполняется ожидание возможности запуска.
При появлении возможности, запуск будет выполнен автоматически.
Решение:
Первое что приходит на ум, отключить антивирус и брандмауэр на сервере:
И тут же 1С запускается! Итог — нужно добавить правила для 1С в антивирус и брандмауэр.
Недавно я уже описывал решение проблемы: Ошибка сетевого доступа к серверу (Windows Sockets — 10060 (0x0000274C)) в нем пришлось еще прописать IР-шник сервера в файле C:WINDOWSsystem32driversetchosts и еще в C:Program Files1cv8inconf
ethasp.ini в описании [NH_TCPIP] в строке NH_SERVER_ADDR = IР-шник вашего сервера — Возможно Вам это тоже понадобится
Ну так в ошибке все написано: «Сеть недоступна»! У вас или пропал доступ к сети, или сервер с 1С выпал из сетки, или на сервере закрылся порт 1541. В этой же очередности и проверяйте проблемы.
Если с сеткой все хорошо и сервер 1С (в смысле программа на физическом сервере) тоже работает без ошибок, то проверьте доступность на вашем линуксовом сервере порта 1541 (и прочих из 15хх). Возможно его захватил какой-то процесс, который нужно кильнуть и все снова будет в порядке.
Программа висящая на порту 1541 получила fin в сокет но закрыла его, в чем конкретно проблема сказать тяжело, есть, а) посмотрите netstat верная ли программа слушает б) tophtop на предмет загруженности сервера в) погуглите сами насчет «1С close_wait linux»
Удалось победить ошибку ?, у меня вылезло тоже самое, пока пытаюсь проверять порты в netstat