1. kliman 23.07.12 09:22 Сейчас в теме

Ошибка при выгрузке базы на postgres

Переводим БД с postgree на MS SQL.
При попытке выгрузить БД получаю ошибку Ошибка СУБД out of memory for query result.

Кто сталкивался подскажите варианты выгрузки.
Ответы
Сортировка: Древо
10. tritonof 57 24.07.12 11:49 Сейчас в теме
(1)лучше попробовать выгрузить в файловую, а затем из файловой в SQL
2. asved.ru 35 23.07.12 11:17 Сейчас в теме
1) перезапуск всего хозяйства. Т.е. постгри и сервера 1С.
5. kliman 23.07.12 11:41 Сейчас в теме
(2) asved.ru,
Не помогает
(3) VasMart,(4) alexbur,
Данная ошибка из конфигуратора, дамп из постгри делается, но после пробую загрузить его - грузит, но выдает ошибки. База после загрузки выдает ошибки
postgreSQL 9.0.3-3.1C
система windows 7
платформа 8.1.15.4 - знаю версия старая, но раньше проблем не было.
объем в статистике постгри 4.8
железо t6600, 4gb
3. VasMart 23.07.12 11:22 Сейчас в теме
Какой объем бд, железо, версии ПО?
PS Если просите помощи, прикладывайте как можно больше информации о проблеме. А то получается почти как "Ваша программа нам неправильно считает".
4. alexbur 11 23.07.12 11:30 Сейчас в теме
Вы из конфигуратора выгружаете или pg_dump`ом с postgree?
Бэкап базы ведётся как нибудь?
6. alexbur 11 23.07.12 12:10 Сейчас в теме
Тестирование и исправление базы пробовали делать?
А платформу 1С обновить не пробовали?
У нас на одной из версий платформы 8.2 такая же ошибка была с постгри
7. kliman 23.07.12 12:43 Сейчас в теме
Как правильно обновить платформу?
Установил 8.2, сервер 8.2. - прописываю путь к бд - пишет БД не найдена.
Тии попробую.
11. alexbur 11 24.07.12 13:40 Сейчас в теме
(7)комп перегрузили после установки 8.2? В 8.2 новые базы создавать получается?
(9) опять же, комп перегрузили?
(10)у него не выгружается база из конфигуратора. Как он в файловую версию выгрузит то?
13. kliman 24.07.12 22:36 Сейчас в теме
(11) alexbur,
Комп перезагрузил, новые бд создаются а эту не видит зараза.

(12) asved.ru,
Мы и хотим переехать на норм сервер 2008 64bit + MS SQL.
только вот бд висит на 32 битной системе и не SQL средствами ни 1с выгружаться не хочет.

Может у кого есть conf файл норм настроенный - поделитесь...все таки мне кажется проблема в нем.
Еще одну вещь заметил БД выгружается, но как только начинается операция сохранения в файл вываливается ошибка.
14. alexbur 11 25.07.12 10:06 Сейчас в теме
(13)Какой именно текст ошибки выдает при попытке выгрузки базы из postgre? на какую-нибудь таблицу ссылается?

У нас не выгружается типовая база УПП, ругается на таблицу public.config. Проблема решается отвязкой конфы от поддержки, но нас это решение не устраивает.
15. kliman 25.07.12 11:48 Сейчас в теме
(14) alexbur,
через постгри выгружается без ошибок.
Но вот если потом загрузить в пустую базу(восстановить) - то база выдает разные ошибки и ни конфигуратор, ни клиент не грузятся..
17. alexbur 11 26.07.12 06:52 Сейчас в теме
(15) на всякий случай тормозните postgre и сохраните каталог в котором база храниться. Сделайте техобслуживание базы в pgadmin (analyze, vacuum, reindex) может выдаст какие-нибудь ошибки

Может быть уже имеет смысл думать о том, чтобы вытащить инфу другим путем? К примеру, создать пустую базу с такой же конфой и перетащить в неё данные с помощью обработки "Универсальный обмен данными черех XML". Не самый плохой путь, на мой взгляд.
yaroslav.artem; +1 Ответить
22. kliman 26.07.12 13:37 Сейчас в теме
(17) alexbur,
Это крайний вариант так как на этой бд у нас РИБ + обмены с сайтами(2 штуки)
Это все полетит в данном случае.

конф файл был стандартный - ошибка и на нем была, сейчас я уже влез в него прилично, но успехов пока нет. Все таки надеюсь что получится стандартными средствами выгрузку сделать.
А если я подниму эту же версию постгри на сервере и скопирую туда папку постгри - он увидит БД. Может на болле мощной машине получится выгрузить????
23. alexbur 11 27.07.12 05:21 Сейчас в теме
(22) kliman, не факт что слетит. Универсальный обмен данными в формате xml при загрузке формирует объекты БД с теми же уникальными идентификаторами что и в исходной БД. При повторной выгрузке/загрузке информация не дублируется, а "ложится" на нужные объекты.

РИБ использует тот же самый механизм при обмене. Скорее всего при первом обмене придётся перегрузить весь объём инфы, но, во всяком случае, я бы повел эксперимент.
20. Hai4 26.07.12 12:20 Сейчас в теме
(14) alexbur, дак снимай с поддержки - загрузи в СКУЛь - потом "загрузить конф. из файла", правда какие-нибудь аналитики могут пропасть.
21. alexbur 11 26.07.12 12:36 Сейчас в теме
(20) Мне это незачем, т.к. dt файл из конфигурации прекрасно выгружается. А если снять с поддержки и потом загрузить конфу из файла, то проблема выгрузки из postgre возвращается.

Так что пока обхожусь бэкапами из конфигуратора и подумываю о переходе на x64 postgre.

(19)дык я об это же говорил в (17). Кстати, а какого плана горе может возникнуть при проведении?
18. alexbur 11 26.07.12 06:55 Сейчас в теме
(13) Конф файл настраивается индивидуально под каждую конфигурацию - та ещё пляска с бубном.
Возможно имеет смысл наоборот попробовать выгрузить со стандартным конф файлом. Или он у вас изначально стандартный был?
8. kliman 23.07.12 16:08 Сейчас в теме
ТИИ не помогает.
ошибок никакких не выдает.
9. kliman 23.07.12 17:38 Сейчас в теме
в интернете нашел что у кого-то помогло установка значений
work_mem = 64MB
maintenance_work_mem = 256MB

проставил галочки в конф файле, перезапустил.
Если захожу в конф файл там в значение верное знач, а в текущем значение другие цифры.
Что за колонка текущее значение?
12. asved.ru 35 24.07.12 17:05 Сейчас в теме
Попробуйте использовать платформу x64
19. Hai4 26.07.12 12:17 Сейчас в теме
есть вариант с выгрузкой данных в идентичную конфигурацию(на ИТСе есть обработки), если получится в СКУЛе в чистой базе развернуть .cf, то переноси данные через обработки, только галочку "выгружать движения" поставь, иначе при проведении горя хапнешь.
24. andru48 29.07.12 13:29 Сейчас в теме
Когда-то давно задавал вопрос на партнерском форуме 1С, а сейчас решил выложить в общий доступ.

Исходные данные:
Платформа: 1С:Предприятие 8.1 (8.1.15.14)
Кофигурация: БП 1.6.24.7 (Конфигурация типовая, на поддержке). Ситуация может воспроизвестись на любой конфигурации.
Сервер СУБД: Postgres 8.3.8 (сборка 1с)
ОС: Debian Lenny 5.0 (Linux 2.6.26-2-686-bigmem i686 GNU/Linux)
Физ: на сервере 8Гб памяти, параметры остального оборудования думаю не критичны.
Воспроизводимость 100%

При закрытии месяца вылетает с ошибкой: Ошибка СУБД. ERROR: Out of memory. DETAIL: Failed on request size 8388608

Решение:





enable_mergejoin=off (в .conf файле или через SET в консоли/PgAdmin)

Подробно:

Проблема в оптимизаторе, который выбирает неудачный план(merge join), требующий большого объема памяти и большого времени для выполнения запроса.

Комментарий с postgresql.org (нужное подчеркнул)

«If the default plan chosen by the optimizer for a particular query is not optimal, a temporary solution can be found by using one of these configuration parameters to force the optimizer to choose a different plan. Turning one of these settings off permanently is seldom a good idea, however. «

Что такое mergejoin? Алгоритм соединения слиянием сортированных списков (merge join, sort merge join, sort-merge join) — разновидность алгоритма соединения. Алгоритм получает на вход 2 таблицы и условие соединения. Результатом его работы является таблица с результатами соединения. Главным недостатком алгоритма является необходимость в предварительной сортировке списков. Накладные расходы на сортировку могут быть неприемлемо высокими.
audion; kliman; +2 Ответить
25. kliman 29.07.12 19:28 Сейчас в теме
(24) andru48,
Спасибо, но к сожаление не помогло.
26. alexbur 11 13.08.12 09:04 Сейчас в теме
kliman, Ну как, удалось проблему решить?
27. kliman 13.08.12 10:20 Сейчас в теме
(26) Да, решить удалось на этих выходных. Перенес Постгри полностью на новый сервер(64 и и хороший по производительности) и на нем удалось произвести выгрузку в dt. Все таки дело в ресурсах. С постгри больше не работаю)
28. alexbur 11 13.08.12 11:36 Сейчас в теме
(27) kliman, а перенесли просто копированием каталогов с базами?
29. kliman 13.08.12 11:48 Сейчас в теме
(28) перенес dump, каталоги не получилось перенести. Загрузить дамп получилось(архив не меняли) раза с 5, до этого сыпались какие-то ошибки...причем каждый раз разные.
30. alexbur 11 13.08.12 12:21 Сейчас в теме
(29) kliman, жесть какая то.
Ну, счастлив ваш бог, что всё срослось :)
31. dimasik38ru 2 26.10.13 12:10 Сейчас в теме
Спешу поделиться решением проблемы. Недавно перевел 1с из файлового варианта в SQL, при этом решил использовать PostgreSQL. По началу, при попытки выгрузить базу в .dt файл, вылетала ошибка "Соединение разорвано и чего-то там еще...". Платформа 1с была 8.2.19.68, в тех. поддержке посоветовали поставить более старую версию (установил 8.2.18.61), ошибка исчезла, но появилась другая "Ошибка СУБД out of memory for query result"... Перекопал весь интернет, пробовал различные советы, но ничего не помогало... Исходя из текста ошибки, я понял что программе не хватает памяти, но вот только какой?! На сервере стоит Win2008srv c 8Гб оперативной памяти (вроде должно хватать), но вот в настройках Windows виртуальная память выбирается автоматом, при этом если у вас два раздела (C и D), то на диске D файл подкачки отключен по умолчанию. А так как у меня все базы находятся на диске D, и размер базы 1с составляет порядка 1,5 Гб, то для того чтобы её выгрузить в файл .dt необходимо было включить использование файла подкачки с параметром "по выбору системы" и будет вам счастье.
33. ray-xp 18 15.12.16 10:15 Сейчас в теме
(31)
Спешу поделиться решением проблемы. Недавно перевел 1с из файлового варианта в SQL, при этом решил использовать PostgreSQL. По началу, при попытки выгрузить базу в .dt файл, вылетала ошибка "Соединение разорвано и чего-то там еще...". Платформа 1с была 8.2.19.68, в тех. поддержке посоветовали поставить более старую версию (установил 8.2.18.61), ошибка исчезла, но появилась другая "Ошибка СУБД out of memory for query result"... Перекопал весь интернет, пробовал различные советы, но ничего не помогало... Исходя из текста ошибки, я понял что программе не хватает памяти, но вот только какой?! На сервере стоит Win2008srv c 8Гб оперативной памяти (вроде должно хватать), но вот в настройках Windows виртуальная память выбирается автоматом, при этом если у вас два раздела (C и D), то на диске D файл подкачки отключен по умолчанию. А так как у меня все базы находятся на диске D, и размер базы 1с составляет порядка 1,5 Гб, то для того чтобы её выгрузить в файл .dt необходимо было включить использование файла подкачки с параметром "по выбору системы" и будет вам счастье.

Та же ситуация. Рецепт помог. Работает!!!
32. Dimka74 25.09.15 08:13 Сейчас в теме
Такая же ерунда. Ничего не помогло :( Сделал дамп из PG. На локальной машине с Виндой развернул 1с сервер и PG, дамп закинул туда и через конфигуратор выгрузил ИБ.
34. Max.Potapov 27.02.17 08:15 Сейчас в теме
Была похожа проблема с деградацией индексов, но испытавали PG 9.4. Бартунов говорил, что проблема давно известная и решили ее в следующих версиях.
Берите сборку с postgrepro.ru последнюю.
35. Sprinter2000 04.10.17 01:34 Сейчас в теме
(34) Ну вот не факт что поможет.
На текущий момент имею тестовую виртуалку под CentOS 7 + PostgresPRO 9.6 + 1C sever x32 - 8.3.10.2580
База УТ 10.3, вес в слоне 22Gb. В виртуалке 8Gb памяти, 2cpu по 6core.
При попытке выгрузить в dt выпадает с ошибкой Out of memory. Хотя память в виртуалке отъедалась максимум в районе половины.
Благо это все эксперименты и можно поиграться. Все что выше советовалось - не помогает. Пока играюсь и смотрю.
Плюс заметил глюк этой версии платформы под CentOS:
Грузил dt этой базы (9,3Гб). Толстым клиентом подсоединялся к 1С серверу на этой виртуалке. И начинаю загрузку. По поведению системы вижу, что dt туда перекачался, и пошла закачка базы в postgres. После заливки примерно 1,3Gb конфигуратор выдает ошибку, что (кратко): "Не все данные загружены. Ошибка формата потока."

Тесты, настройки, чпоки, эксперименты с настройками Postgres и 1С сервер на этой машине ничего не дали.
Делаю следующее: У себя на виндовой машине поднимаю туже версию 1С сервера (и тоже х32), создаю тестовую базу и в качестве СУБД указываю тот же Postgres в той тестовой виртуалке. Заливаю dt и вулая! База залилась без ошибок!
Т.е. есть какой-то глюк в платформе.

Вот в качестве эксперимента по той же схеме запустил выгрузку dt. В итоге в CentOS занято чуть меньше 1,7Гб. По активности сети вижу, что база интенсивно льется на мой компьютер через 1С сервер на моем компьютере. Ошибки пока не выпадало. Будем посмотреть.

UPD: Тоже упало с ошибкой out of memory. Хотя памяти при этом на сервер до опы свободной.
36. Sprinter2000 04.10.17 07:22 Сейчас в теме
Ну собственно, потыкавшись и помыкавшись, посмотрев за памятью, пришел к выводу, что PostgreSQL тут как бы не причем.
rphost давится. 32-битный процесс доходит до своего предела в 3,5 гига озу и все... после этого резкое высвобождение памяти и в последующем нелюбимая ошибка Out of memory.
Установа х64 1C сервера и последующая повторная выгрузка прошли без проблем.
В процессе наблюдения за поведением x64 rphost, было видно, что потребление памяти процессом доходило до 4,5 Гигабайт. Причем несколько раз.

Интересно, почему та же база, на х32 1C сервере в сочетании с MSSQL не дает такого эффекта?
А вот c PostgreSQL такое наблюдаю постоянно?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный консультант-разработчик 1С
Краснодар
зарплата от 60 000 руб. до 60 000 руб.
Полный день



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день