Записки IT специалиста

Содержание

Записки IT специалиста

Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.

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

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

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

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

1cv8-pgsql-error-002.jpg

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

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

1cv8-pgsql-error-003.jpg

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

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

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

1cv8-pgsql-error-004.jpg

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

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

1cv8-pgsql-error-005.jpg

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

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

1cv8-pgsql-error-006.jpg

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

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

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

1cv8-pgsql-error-007.jpg

Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 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»

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

1cv8-pgsql-error-009.jpg

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

1cv8-pgsql-error-010.jpg

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

1cv8-pgsql-error-011.jpg

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

1cv8-pgsql-error-012.jpg

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

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

Ошибка 1067 «Не удалось запустить службу» – как исправить?

Сообщение об ошибке 1067 «Процесс был неожиданно завершен» возникает при попытке выполнить действие, которое вызывает запуск службы. Чаще происходит при запуске службы SQL и ей подобных. Узнаем подробнее, как ее исправить.

Предоставление учетной записи управлять службой

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

Найдите службу, которая выдает ошибку, щелкните на нее правой кнопкой мыши и перейдите в Свойства. На вкладке Общие посмотрите состояние. Если она запущена, остановите ее нажатием на соответствующую кнопку.

Затем на вкладке Вход в систему кликните на «Обзор».

В поле ввода имен выбираемых объектов наберите имя текущей учетной записи, кликните на «Проверить имена», чтобы проверить ее правильность, и нажмите на «ОК». Либо выберите имя с помощью кнопок Дополнительно – Поиск.

Затем введите пароль, и примените изменения на «ОК». Закройте окно, и перезагрузите компьютер. В большинстве случаев, этим способом удается исправить ошибку с кодом 1607.

Переустановка службы

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

Откройте редактор реестра выполнением команды regedit из окна Win + R.

На левой панели перейдите к разделу:

В разделе Services найдите проблемную службу, кликните на нее правой кнопкой мыши и удалите. Подтвердите все запросы, которые могут возникнуть в процессе удаления, и перезагрузите компьютер

Если не удается удалить проблемный раздел, попробуйте добавить дополнительные разрешения.

Правым щелчком мыши на службе в левой панели вызовите контекстное меню и выберите «Разрешения».

В разделе группы или имена пользователей найдите текущую учетную запись. Если не отображается, нажмите Добавить – Дополнительно – Найти. Выберите ее из результатов поиска.

Установите курсор на текущую учетную запись в разделе группы и имена пользователей, отметьте флажком поле полный доступ в разделе Разрешения и примените изменения.

После этого попробуйте снова удалить раздел и перезагрузите компьютер.

После перезагрузки запустите командную строку от имени администратора с помощью системного поиска.

Запустите следующую команду, которая позволит восстановить удаленный раздел из реестра:

Дождитесь завершения сканирования и перезапустите ПК. Проверьте, решена ли проблема.

Перезапуск MySQL

Если ошибка 1607 связана со MySQL, сначала ее остановим, затем удалим несколько файлов в каталоге установки.

Откройте Панель управления командой control из окна Win + R.

В правом верхнем углу экрана установите просмотр на крупные значки и перейдите в раздел Администрирование. В правой части окна выберите Службы.

Найдите MySQL и дважды кликните на нее, чтобы открыть свойства. Остановите ее нажатием на соответствующую кнопку.

Затем перейдите в проводнике в каталог установки MySQL, который находится на системном диске в папке Program Files (x86). Откройте его и перейдите в папку Data. Найдите два файла ib_logfile0 и ib_logfile1, кликните на них правой кнопкой мыши и удалите.

Вернитесь в окно служб и запустите MySQL. Проверьте, удалось ли устранить ошибку 1067.

Источники:

https://interface31.ru/tech_it/2014/05/tipovye-oshibki-ustanovki-servera-1s-i-postgresql-na-platforme-linux. html

https://compuals. ru/error/1067-protsess-byl-neozhidanno-zavershen

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: