Всем привет, выручайте, может кто сталкивался или знает куда копать?
1С вылетает с ошибкой каждые 2 часа, потом восстанавливается сама спустя 5 мин, ошибка
Базы 2. Бекапы 1С делаются через постгресс, но битые, при восстановлении ошибка
У второй базы бекапы даже не делаются, скрипт вылетает при попытке создания бекапа.
При попытке произвести тестирование и исправление падает с ошибкой тут
При попытке выгрузить базу в dt ошибка
PostgreSQL версии 11-5-7-1C
1С клиент серверный вариант 1С:Предприятие 8.3 (8.3.15.1830) Управление нашей фирмой, редакция 1.6 (1.6.19.160)
1С вылетает с ошибкой каждые 2 часа, потом восстанавливается сама спустя 5 мин, ошибка
Базы 2. Бекапы 1С делаются через постгресс, но битые, при восстановлении ошибка
У второй базы бекапы даже не делаются, скрипт вылетает при попытке создания бекапа.
При попытке произвести тестирование и исправление падает с ошибкой тут
При попытке выгрузить базу в dt ошибка
PostgreSQL версии 11-5-7-1C
1С клиент серверный вариант 1С:Предприятие 8.3 (8.3.15.1830) Управление нашей фирмой, редакция 1.6 (1.6.19.160)
По теме из базы знаний
- Наш опыт использования PostgreSQL cluster под управлением Patroni для 200 баз
- Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками
- Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика
- Опыт работы «1С:ERP» в ландшафте Linux + PostgreSQL – 7 лет
- Особенности разработки больших и высоконагруженных баз 1С + Postgresql
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Повторяющаяся ошибка Postgres при запросе
FROM _InfoRg15978 T1
INNER JOIN _InfoRg15970 T2
ON (T1._Fld15980RRef = T2._Fld15972RRef) AND (T1._Fld15981 = T2._Fld15973)
LEFT OUTER JOIN _Document175 T3 и как следствие
не удалось отправить данные клиенту: установленное соединение было прервано программным обеспечением на вашем хост-компьютере.
Характеристики сервера, что установлено, сколько баз, сколько пользователей?
ТИИ в режиме конфигуратора выполняли?
FROM _InfoRg15978 T1
INNER JOIN _InfoRg15970 T2
ON (T1._Fld15980RRef = T2._Fld15972RRef) AND (T1._Fld15981 = T2._Fld15973)
LEFT OUTER JOIN _Document175 T3 и как следствие
не удалось отправить данные клиенту: установленное соединение было прервано программным обеспечением на вашем хост-компьютере.
Характеристики сервера, что установлено, сколько баз, сколько пользователей?
ТИИ в режиме конфигуратора выполняли?
(4) < 2020-06-19 16:51:06.364 MSK >LOG: server process (PID 113280) was terminated by exception 0xC0000005
У вас падает postgres с ошибкой доступа к памяти. Попробуйте сделать reindex/vacuum. Либо где-то поврежден неудачно индекс, либо проблемы с оперативной памятью на сервере. Или попробуйте обновить его на более свежий в пределах релиза. Где-то возможно где-то баг в самом постгресе.
Соответственно при такой ошибке он кладет все подпроцессы:
< 2020-06-19 16:51:06.365 MSK >DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
Это нормальное его поведение если память общая была повреждена.
У вас падает postgres с ошибкой доступа к памяти. Попробуйте сделать reindex/vacuum. Либо где-то поврежден неудачно индекс, либо проблемы с оперативной памятью на сервере. Или попробуйте обновить его на более свежий в пределах релиза. Где-то возможно где-то баг в самом постгресе.
Соответственно при такой ошибке он кладет все подпроцессы:
< 2020-06-19 16:51:06.365 MSK >DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
Это нормальное его поведение если память общая была повреждена.
(29)
Это не ко мне, я вопрос не задавал.
У вас падает postgres с ошибкой доступа к памяти. Попробуйте сделать reindex/vacuum. Либо где-то поврежден неудачно индекс, либо проблемы с оперативной памятью на сервере. Или попробуйте обновить его на более свежий в пределах релиза. Где-то возможно где-то баг в самом постгресе.
Это не ко мне, я вопрос не задавал.
(5) Вот это не совсем понял
(12) Постгрес на винде
Я решил проблему по другому. Так как информационная база была целой, за исключением "Регистра сведений Ресурсы механизмов онлайн сервисов РО" и был архив базы dt на начало февраля, выгрузив данные из базы с битой таблицей загрузил в новую информационную базу.
(12) Постгрес на винде
Я решил проблему по другому. Так как информационная база была целой, за исключением "Регистра сведений Ресурсы механизмов онлайн сервисов РО" и был архив базы dt на начало февраля, выгрузив данные из базы с битой таблицей загрузил в новую информационную базу.
(8) У меня была выгрузка из базы .dt. Создал новую базу, загрузил dt. Из поврежденной базы выгрузил все данные за период, кроме битого регистра, загрузил в новую базу.
Мне кажется, для вас это не подойдет. Если попробовать остановить отправку и прием электронных писем, и найти визуально ошибку?
Мне кажется, для вас это не подойдет. Если попробовать остановить отправку и прием электронных писем, и найти визуально ошибку?
(11)
Если б знать? Нужна структура таблицы этого регистра, открыть таблицу в просмотровщике, там ведь и скрытые поля есть.
Ошибка связана с длиной какого то реквизита регистра, размер его превышен.
Как искать то? Визуально. Не совсем понял
Если б знать? Нужна структура таблицы этого регистра, открыть таблицу в просмотровщике, там ведь и скрытые поля есть.
Ошибка связана с длиной какого то реквизита регистра, размер его превышен.
В вашем случае можно поступить проще - конфигурация открывается - открыть этот регистр сведений, найти запись, с поврежденными данными и ее удалить, или написать обработку по очищению этого регистра.
Валится 1С на выполнении какого-то регламентного задания при обращении к поврежденной записи регистра сведений.
Валится 1С на выполнении какого-то регламентного задания при обращении к поврежденной записи регистра сведений.
(6) А как найти эту запись? Это регистр исходящих и входящих сообщений по всем учетным записям электронной почты в 1С. Если вообще все очищу, то пропадут исходящие письма из структуры подчиненности документов которые были отправлены
А как найти эту запись? Это регистр исходящих и входящих сообщений по всем учетным записям электронной почты в 1С. Если вообще все очищу
Или попробовать через отладчик прогнать Регламентное задание Загрузка Электронной почты, найти сообщение, которое валит базу. Руками удалить запись регистра и связанный документ Событие.
Это вроде виндовая ошибка, неопределенного происхождения. Вот вроде похожие симптомы
По коду ошибки поиск выдает советы по исправлению направления танцев с бубном
Посоветовал бы во-первых конечно сделать физическую копию баз и попробовать перенести их на физически другую машину. Лучше с линуксами, там стабильней =)
По коду ошибки поиск выдает советы по исправлению направления танцев с бубном
Посоветовал бы во-первых конечно сделать физическую копию баз и попробовать перенести их на физически другую машину. Лучше с линуксами, там стабильней =)
(14)
В логах PostgreSQL валится процесс при отправке и получении электронной почты. Вернее в регламентном задании, при попытке записи в регистр сведений ИдентификаторыСообщений.
Это вроде виндовая ошибка, неопределенного происхождения.
В логах PostgreSQL валится процесс при отправке и получении электронной почты. Вернее в регламентном задании, при попытке записи в регистр сведений ИдентификаторыСообщений.
Полистал логи, действительно ошибка на одном и том-же запросе, сорри. Битый регистр это бывает. Тогда восстанавливать данные таблицы из бэкапа чаще всего.
Физическая копия для начала обязательна =) да и экспериментируем на копиях =)
pg_dump выгружает данные plain текстом, psql загружает из него же
вот команды
# Выгрузить проблемную таблицу
pg_dump -t my_problem_table(s) ... > my_screwed_up_data.sql
# Выгрузить все КРОМЕ проблемной
pg_dump -T my_problem_table(s) ... > my_not_screwed_up_data.sql
Тут можно и глазами посмотреть на содержимое таблицы, а можно и заскриптовать что-нибудь, простой текст
А дальше загружаем (отредактированные) файлики. В новую БД
cat my_screwed_up_data.sql | psql
cat my_not_screwed_up_data.sql | psql
Аналогично можно просто сдернуть табличку с развернутого бэкапа
Физическая копия для начала обязательна =) да и экспериментируем на копиях =)
pg_dump выгружает данные plain текстом, psql загружает из него же
вот команды
# Выгрузить проблемную таблицу
pg_dump -t my_problem_table(s) ... > my_screwed_up_data.sql
# Выгрузить все КРОМЕ проблемной
pg_dump -T my_problem_table(s) ... > my_not_screwed_up_data.sql
Тут можно и глазами посмотреть на содержимое таблицы, а можно и заскриптовать что-нибудь, простой текст
А дальше загружаем (отредактированные) файлики. В новую БД
cat my_screwed_up_data.sql | psql
cat my_not_screwed_up_data.sql | psql
Аналогично можно просто сдернуть табличку с развернутого бэкапа
(16)
Проблема в том, что у вопрошавшего походу архивов нет и создать архив не представляется возможным, для восстановления. Это первое. Второе, ошибка такова, что восстановление ее не решишь, только найти и удалить поврежденную или ошибочную запись в РС. Можно средствами pgadmin, можно средствами 1С.
[IS-QUOTE]Физическая копия для начала обязательна =) да и экспериментируем на копиях =)
[/IS-QUOTE]
Проблема в том, что у вопрошавшего походу архивов нет и создать архив не представляется возможным, для восстановления. Это первое. Второе, ошибка такова, что восстановление ее не решишь, только найти и удалить поврежденную или ошибочную запись в РС. Можно средствами pgadmin, можно средствами 1С.
< 2020-06-19 19:38:27.298 MSK >LOG: server process (PID 122432) was terminated by exception 0xC0000005
< 2020-06-19 19:38:27.298 MSK >DETAIL: Failed process was running: SEL ECT
T1._Fld15979RRef,
T1._Fld15980RRef,
T1._Fld15981,
T1._Fld15982
FR OM _InfoRg15978 T1
WHERE (T1._Fld333 = CAST(0 AS NUMERIC))
< 2020-06-19 19:38:27.298 MSK >HINT: See C include file "ntstatus.h" for a description of the hexadecimal value.
Это из лога постгресса
Получив структуру данных видим
_InfoRg15978 РегистрСведений.ИдентификаторыСообщений РегистрСведений.ИдентификаторыСообщений Основная
Колонки
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15982 ИдентификаторСообщения РегистрСведений.ИдентификаторыСообщений.Ресурс.ИдентификаторСообщения
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
Индексы
_InfoRg15978_ByDims
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_InfoRg15978_ByDims15983
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_InfoRg15978_ByDims15984
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
Видимо ссылается на служебное поле?
< 2020-06-19 19:38:27.298 MSK >DETAIL: Failed process was running: SEL ECT
T1._Fld15979RRef,
T1._Fld15980RRef,
T1._Fld15981,
T1._Fld15982
FR OM _InfoRg15978 T1
WHERE (T1._Fld333 = CAST(0 AS NUMERIC))
< 2020-06-19 19:38:27.298 MSK >HINT: See C include file "ntstatus.h" for a description of the hexadecimal value.
Это из лога постгресса
Получив структуру данных видим
_InfoRg15978 РегистрСведений.ИдентификаторыСообщений РегистрСведений.ИдентификаторыСообщений Основная
Колонки
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15982 ИдентификаторСообщения РегистрСведений.ИдентификаторыСообщений.Ресурс.ИдентификаторСообщения
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
Индексы
_InfoRg15978_ByDims
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_InfoRg15978_ByDims15983
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_InfoRg15978_ByDims15984
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
Видимо ссылается на служебное поле?
(18)
Это не приближает вас к решению задачи. Нужно найти проблемную запись в регистре сведений и удалить ее или исправить. Ошибка у вас при тестировании invalid string enlargement request size: -4 - превышен размер строки
Видимо ссылается на служебное поле?
Это не приближает вас к решению задачи. Нужно найти проблемную запись в регистре сведений и удалить ее или исправить. Ошибка у вас при тестировании invalid string enlargement request size: -4 - превышен размер строки
Нужно найти проблемную запись в регистре сведений и удалить ее или исправить.
Регистр мы нашли, это РегистрСведений.ИдентификаторыСообщений
Осталось понять как найти проблемную запись
(20)
в (16) ответили
Осталось понять как найти проблемную запись
в (16) ответили
# Выгрузить проблемную таблицу
pg_dump -t my_problem_table(s) ... > my_screwed_up_data.sql
Тут можно и глазами посмотреть на содержимое таблицы, а можно и заскриптовать
pg_dump -t my_problem_table(s) ... > my_screwed_up_data.sql
Тут можно и глазами посмотреть на содержимое таблицы, а можно и заскриптовать
(21) Как это сделать?
Кстати, при попытке снять бекап с проблемной базы скрипт падает с ошибкой
D:\skript_bekap>"C:\Program Files\PostgreSQL\11.5-7.1C\bin\pg_dump.exe" -U postg
res -Fp base_am 1>"D:\backup\base_am-20200621.backup"
pg_dump: Dumping the contents of table "_inforg15978" failed: PQgetResult() fail
ed.
pg_dump: Error message from server: ERROR: invalid memory alloc request size 18
446744073709551609
pg_dump: The command was: COPY public._inforg15978 (_fld15979rref, _fld15980rref
, _fld15981, _fld15982, _fld333) TO stdout;
Кстати, при попытке снять бекап с проблемной базы скрипт падает с ошибкой
D:\skript_bekap>"C:\Program Files\PostgreSQL\11.5-7.1C\bin\pg_dump.exe" -U postg
res -Fp base_am 1>"D:\backup\base_am-20200621.backup"
pg_dump: Dumping the contents of table "_inforg15978" failed: PQgetResult() fail
ed.
pg_dump: Error message from server: ERROR: invalid memory alloc request size 18
446744073709551609
pg_dump: The command was: COPY public._inforg15978 (_fld15979rref, _fld15980rref
, _fld15981, _fld15982, _fld333) TO stdout;
(22)
Попробовать физически скопировать всю базу Postgresql, в другую папку и с ней уже работать далее по инструкции из (16)
Ошибка понятная ошибка: недопустимый размер запроса выделения памяти
таблица _inforg15978, поля _fld15979rref, _fld15980rref
, _fld15981, _fld15982, _fld333
Вот эти поля нужно чистить.
Как это сделать?
Попробовать физически скопировать всю базу Postgresql, в другую папку и с ней уже работать далее по инструкции из (16)
Ошибка понятная ошибка: недопустимый размер запроса выделения памяти
таблица _inforg15978, поля _fld15979rref, _fld15980rref
, _fld15981, _fld15982, _fld333
Вот эти поля нужно чистить.
Попробовать физически скопировать всю базу Postgresql
Это я сделал, но как из этой папки запустить 1С?
_inforg15978, поля _fld15979rref, _fld15980rref
, _fld15981, _fld15982, _fld333
Вот эти поля нужно чистить.
, _fld15981, _fld15982, _fld333
Вот эти поля нужно чистить.
Колонки
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15982 ИдентификаторСообщения РегистрСведений.ИдентификаторыСообщений.Ресурс.ИдентификаторСообщения
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
_Fld15979RRef УчетнаяЗапись РегистрСведений.ИдентификаторыСообщений.Измерение.УчетнаяЗапись
_Fld15980RRef Событие РегистрСведений.ИдентификаторыСообщений.Измерение.Событие
_Fld15981 Ключ РегистрСведений.ИдентификаторыСообщений.Измерение.Ключ
_Fld15982 ИдентификаторСообщения РегистрСведений.ИдентификаторыСообщений.Ресурс.ИдентификаторСообщения
_Fld333 ОбластьДанныхОсновныеДанные ОбщийРеквизит.ОбластьДанныхОсновныеДанные
Это колонки, служебные поля, получается конкретной строки нет
(24)
Нужно службе postgres поменять путь до каталога на тот, в который был скопировать каталог data.
Копировать нужно именно полностью весь каталог data со всеми подкаталогами и копировать при остановленной службе postgresql
Это я сделал, но как из этой папки запустить 1С?
Нужно службе postgres поменять путь до каталога на тот, в который был скопировать каталог data.
Копировать нужно именно полностью весь каталог data со всеми подкаталогами и копировать при остановленной службе postgresql
(27)
Еще изменить скрипт запуска службы postgresql.
Но, вообще, лучше это делать на другой машине.
Нужно службе postgres поменять путь до каталога на тот, в который был скопировать каталог data.
Копировать нужно именно полностью весь каталог data со всеми подкаталогами и копировать при остановленной службе postgresql
Копировать нужно именно полностью весь каталог data со всеми подкаталогами и копировать при остановленной службе postgresql
Еще изменить скрипт запуска службы postgresql.
Но, вообще, лучше это делать на другой машине.
Все эксперименты надо проводить только на физической копии БД. Лучше вообще на другой машине. Вот например
копирование аналогично, только без удаления исходного =) и на этой отдельной БД экспериментировать, создав под нее конечно и отдельную ИБ в 1С
Вот говорят решили такую=же вроде проблему. Но правда при потере данных одной страницы из таблицы
копирование аналогично, только без удаления исходного =) и на этой отдельной БД экспериментировать, создав под нее конечно и отдельную ИБ в 1С
Вот говорят решили такую=же вроде проблему. Но правда при потере данных одной страницы из таблицы
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
