Имя: Пароль:
1C
1С v8
Беда после обновления: ERROR: relation "_reference5091"
,
0 Анастасия Изотова
 
10.05.17
05:09
Помогите, у меня просто беда!
1С 8.1. нетиповая.  Линукс на сервере. Вайн. Посгре.
Сделала обновление (появился новый тип Документов). Реиндексирвала базу.
ок.
В клиенте захожу клиентов в новый документ, ошибка.
Пытаюсь изменить конфигурацию - ошибка.
Пытаюсь выгрузить dt - ошибка.

Ошибка СУБД:
ERROR: relation "_reference5091" does not exist at character 60

Гуглю, говорят что "такое бывает" на постгре, если таблица в бд записалась не так, как надо было бы согласно конфигурации.

что делать, я не знаю
Поиск и исправление - дают ту же ошибку

Искала обработкой SSU_СтруктураХраненияТаблицБазыДанных.epf
показывает мне что с этим самым ново созданным документом, и есть проблема.
выковырить его оттуда, удалить из конфигурации, не могу, изменять конфигурацию не могу, база не реиндексируется .

Пыталась выгрузить универсальной выгрузкой из базы все документы, в xml, и загрузить в чистую, с той же конфой, на SQL ((  
выгрузить-то выгрузила, а загрузить в чистую не могу, тоже ошибки...

Ошибка СУБД:
ERROR: out of memory
DETAIL: Failed on request of size 268435456   (завершить \ перезапустить)
   в итоге у меня зависшая не обновляемая, порой выдающая странные ошибки база ((

что делать ?

есть ли какой то механизм, менеджер , что то для работы напрямую с постгре, что бы я могла эту созданную таблицу кривую оттуда выкорчевать ?
1 Морозов Александр
 
10.05.17
05:58
есть один способ - делать копии перед обновлением... а так... вазелин.
2 Морозов Александр
 
10.05.17
05:59
ERROR: out of memory - не хватает памяти. Грузите частями.
3 Arh01
 
10.05.17
08:37
"Пыталась выгрузить универсальной выгрузкой из базы все документы, в xml, и загрузить в чистую, с той же конфой, на SQL ((  
выгрузить-то выгрузила, а загрузить в чистую не могу, тоже ошибки"
А если не выгружать новосозданный документ?
4 НаборДанных
 
10.05.17
08:39
(3)В файловую загрузиться с чистой конфигурацией не пробовали? Потом уже тащить базу на сервер.
5 НаборДанных
 
10.05.17
08:39
(4)+ не туда для (0)
6 АнтонБ
 
10.05.17
08:52
(0)
1)Бекап.
2) В файловую.
3) 64 битным клиентом под виндой.
он такой уже есть.
4) повторить
5) Если нет 64 битного то 32 битным но файловую.
6) результат положить в новую базу в postgress.
7 АнтонБ
 
10.05.17
08:56
(0)
Postgress требует аккуратности.
linux way...
можно все но надо чёкто знать что делаешь.

Вообще если база большая то делать обновления конфы в файловой предварительно.
Конфа без данных файловая.
И с ней работать.

Это как раз и есть большая стоимость поддержки постгресс.
из
Выбираем между SQL, Postgre, sql azure. Посоветуйте.
8 Анастасия Изотова
 
10.05.17
08:56
Копию базы сделала перед "неудачной" обновой.
только факт сбоя, обнаружили через двое суток. когда базу не откатить. там пара сотен документов.

Грузить частями ...что ?  я выгружаю за период, с даты фэйла. за неделю.  А dt - и вовсе частями не выгрузить.

Ново-созданный, даже не трогаю. В базе - 20 видов документов.  я беру три вида. выгрузила. еще два. и еще пару. те, что работали всегда, и не обновлялись структурно тыщу лет. и на них косяк.  такое ощущение что между двумя разными конфами веду выгрузку.
9 АнтонБ
 
10.05.17
08:57
(0) Пытаться починить сломанную базу руками.
Нужно только если не было бекапа.
Поскольку это дело сложное.
И нет гарантии что там еще и данные не сломались.
10 Анастасия Изотова
 
10.05.17
08:58
У меня сбойная база на постгре.
разворачивать чистую, с чистой конфой, файловую ?
и туда загружать все, что слилось из постгре в xml ?
11 АнтонБ
 
10.05.17
09:05
(10)
1) Бекап перед обновлением?
Есть?
Работать с бекапом.
12 АнтонБ
 
10.05.17
09:07
(10) Постгресс без бекапа вообще нельзя обновлять.
Это и есть доп затраты на обслуживание постгресс.

ну починишь ты постресс.
а данные 1с изменила во время обновления или нет?

она же на половине прервалась.
13 АнтонБ
 
10.05.17
09:26
(0) Про постгресс и вообще про базы данных.
только 64 битные в продакте.
Они надежнее.

Памяти добавь в настройки.
Если памяти нет на компютере.
Добавь свап в линукс.
И все равно добавь памяти в настройке постгресс.
14 Serg_1960
 
10.05.17
09:46
PS: и как всегда не указаны ни версии платформы, ни версии PostgreSQL. Намекаю на не совместимость версий.
15 Serg_1960
 
10.05.17
09:51
(8) "я выгружаю за период, с даты фэйла" - выгружать надо, ориентируясь на даты запрета редактирования (как минимум) и после анализа журнала регистрации действий пользователей - юзвера имеет дурную привычку править документы "задним числом".
16 АнтонБ
 
10.05.17
09:52
(15) Там вообще 8.1 1с
Все запущено.
Сейчас 1с гораздо лучше работает с постгресс чем тогда...
17 Serg_1960
 
10.05.17
09:58
(16) Лучше? Не факт. Семь лет отработал на пингвине и все ошибки какие были - сюрпризы от 1С. Как, например, сейчас могут быть виноваты протухшие кэши 1С и прощай обновлённая конфигурация. А все кругом с умным видом кивают "Да, этот PostgreSQL такой кривой..."(цы) :(
18 АнтонБ
 
10.05.17
10:02
(17) Я удаляю кеши.
1) перед обновлением.
2) перед динамическим обновлением.
батником.
Эти кеши зло и удалить их перед обновлением не трудно.
1) удаляешь
2) заходишь в конфигуратор.
3) обновляешь.
19 АнтонБ
 
10.05.17
10:03
(17)
Знание что кеши глючат убирает много проблем.
Просто удаляешь их.
Жаль что нет ключа 1с не пользоваться кешами.
20 АнтонБ
 
10.05.17
10:05
(17) Постгресс не кривой.
Просто 1с надежнее работает с mssql.
Причина не в постгресс а в совместной работе с 1с.
Но 1с не убрать из стека технологий.
21 Морозов Александр
 
10.05.17
10:05
(19) Но есть же ключик удалять кэш....
22 Serg_1960
 
10.05.17
10:07
(21) 8.1 :(
23 АнтонБ
 
10.05.17
10:09
(21) А ключа Эне создавать" нет.
24 АнтонБ
 
10.05.17
10:10
(21) Есть нет веры в кеши, то в ключ по работе с кешами тоже нет веры.
Удалил батником это гарантия.
25 Serg_1960
 
10.05.17
10:22
Будь бы я на месте ТС - я бы повторил обновление на копии базы. Не важно, что данные там устарели, - важно добиться "нормального" обновления конфигурации. Потом шаманить, танцы с бубном: выгрузить"нормальную" конфигурацию из копии и загрузить в рабочую; удалить напрямую в PostgreSQL сбойную таблицу и скопировать её же из копии...
26 АнтонБ
 
10.05.17
10:26
(25) Да надо работать на бекапе.
Получить рабочий результат на бекапе.
а потом сравнивать с тем что есть.
27 АнтонБ
 
10.05.17
10:34
(25) (8)
Пара сотен документов.
- забить руками.
Это дешевлек и надежнее чем ковырять базу.
Прям отдать операторам и они перевобьют.
за 2 дня.
Зато понятно что все будет работать.
28 АнтонБ
 
10.05.17
10:37
(8) ощущение что между двумя разными конфами веду выгрузку.
- это вполне реально если апдайт не прошел корректно.
и постгресс частично откатил изменения.
в НЕИЗВЕСТНОЙ части.

Из бекап работать
все там сделать чтобы все было ок.
и операторам дать задание перевбить 2 дня.
29 Serg_1960
 
10.05.17
10:50
(27) Юзвер накануне, лёгким движением левой клешни, нажимал кнопку "Выполнить" на панели "Расчет себестоимости" предыдущих месяцев и теперь волнуется за Ваш совет кого-то "забить руками"... :))

См.(15)
30 АнтонБ
 
10.05.17
10:56
(29) При таком раскладе руками точно не собрать базу в скл.
Тем более перевводить.
31 МихаилМ
 
10.05.17
11:29
создайте таблицу _reference5091 в бд руками.

далее + поле id прочие служебные

далее заходите в документ программа ругнется на следующее поле. добавьте его и так далее.
32 АнтонБ
 
10.05.17
12:05
(31) Добрый ты.

Уверенности что все ок только не будет.
Программа перестала ругаться.
то не значит что все ок. )
33 МихаилМ
 
10.05.17
12:40
+(31)

можно сделать так развернуть бд без добавленных метаданных из архива. объединить с конфой с новыми метаданными.

создать  таблицы (и индексы)  новых метаданных в испорченной бд +  заменить запись dbnames в таблице params
и таблицу dbschema  .
34 Анастасия Изотова
 
11.05.17
02:22
Я пробовала (((

.dt , самый последний из сделанных,
не разворачивается локально:
Превышен максимально допустимый размер внутреннего файла 'E:\44/1Cv8.1CD'

Я почитала, Почему* ... и скисла.

Уважаемые ! руками повторить все доки, что они внесли, уже нельзя. с каждым днем (включая Вчера), там проводок и независимых регистров до черта сделали.
что бы актуализировать, надо выдернуть xml .. или починить сбойную.

А насчет "создайте таблицу _reference5091 в бд руками. "
может попробовать ? а как ? чем ? как залезть и куда ?

И "развернуть бд без добавленных метаданных из архива" ...
чем ?  у меня есть .dt  ...
35 МихаилМ
 
11.05.17
08:01
(34) советую обратиться за платной помощью.

т.к. очень долго вам рассказывать. учитывая ваши  " а как ? чем ? как залезть и куда ?"

на этом форуме поиск платной помощи приравнивается к публикации вакансий, и публикация платная либо согласована с ВР (http://www.forum.mista.ru/rules.php  пункт 6).
36 Serg_1960
 
11.05.17
09:11
(34) "не разворачивается локально..." - не надо "локально", у Вас есть PostgreSQL - создавайте клиент-серверный вариант базы данных. Я бы порекомендовал Вам сделать копию напрямую средствами PostgreSQL. Понимаю, Вы не знаете ответа на "Как и чем?" - но погуглить то Вы можете?
37 Анастасия Изотова
 
12.05.17
05:06
Я погуглила, но сама в постгре таблицы руками сделать не смогу. не тот уровень знаний. нужна помощь .... ((

сегодня база начала выдавать ошибку:
Ошибка SDBL:
тип поля Fld5061 таблицы Document116 несовместим с типом литерала (pos=2466)

при записи в документ
при чем - на трех рабочих местах выдает, на других - нет.
проверяла всячески.
38 Злопчинский
 
12.05.17
05:21
1. поднять дополнительную базу из копии перед обновлением.
2. из текущей рабочей базы где работали нескольо дней сделать выгрузку за период от бэкапа - до сейчас. если это все колоттят руками - объем будит с гулькин хрен.
3. затнуть выгрузку в п.1
4. исследовать...
39 Анастасия Изотова
 
12.05.17
05:26
п.3 - не закидывается !

я выгружаю из Текущей, рабочей базы (на постгре) в xml справочники, отдельно документы, отдельно регистры. Ок. выгрузилось.
но когда я в развернутой Целой копии (сделанной до сбоя)
пытаюсь ВГРУЗИТЬ эти xml, выдает ошибку
40 zva
 
12.05.17
05:33
"не разворачивается локально:
Превышен максимально допустимый размер внутреннего файла 'E:\44/1Cv8.1CD' "
Что мешает локально поставить православный MS SQL сервер 1С, загрузить туда последний .dt, корректно обновить и пытаться загружать xml, раз выгрузка проходит без ошибок.

"Ошибка СУБД:
ERROR: out of memory
DETAIL: Failed on request of size 268435456   (завершить \ перезапустить)
   в итоге у меня зависшая не обновляемая, порой выдающая странные ошибки база (( "

Исходные данные:
Платформа: 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 con?guration 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 таблицы и условие соединения. Результатом его работы является таблица с результатами соединения. Главным недостатком алгоритма является необходимость в предварительной сортировке списков. Накладные расходы на сортировку могут быть неприемлемо высокими.
41 Анастасия Изотова
 
12.05.17
05:53
(40)  на отдельном сервере развернули SQL. развернули там последний нормальный dt.
Со сбойной базы в Постгре сохраняю конфигурацию.
Ею замещаю конфигурацию на развернутом SQL. где последний dt.
Обновляю все документы реиндексирую.

пытаюсь загрузить в ТУДА все что выгружено из сбойной Постгре.
Справочники - загружаются. Документы - нет.
42 zva
 
12.05.17
05:58
(41) ни один вид документов не загружается?
ошибка какая при загрузке?
43 Анастасия Изотова
 
12.05.17
06:44
все не проверяла. проблема с основными доками, которые нужно спасти из проблемной базы.   их то, как раз, то обновление критичное, не касалось никак.

выгружаю универсальной обработкой. крутится: мол загружено 2500 обьектов
потом:
ошибка преобразования данных xml: ссылка на файл 337308,16

подробно:
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML(147)}: Ошибка при вызове метода контекста (ПрочитатьXML): Ошибка преобразования данных XML: [file://E:/out1/11.05.2017- док1.xml][337308,16]
            ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML: [file://E:/out1/11.05.2017- док1.xml][337308,16]
44 zva
 
12.05.17
07:08
"крутится: мол загружено 2500 обьектов
потом:
ошибка преобразования данных xml: ссылка на файл 337308,16 "
Что мешает включить отладку на сервере, поставить "останавливаться по ошибке" и посмотреть отладчиком на чем именно падает?
45 h-sp
 
12.05.17
07:15
(43) попробуй в браузерее открыть этот док1.xml. или в xml-редакторе.
46 h-sp
 
12.05.17
07:17
и не выгружай 2500 объектов, выгрузи один документ для начала.
47 dachnik
 
12.05.17
08:26
(7) К сожаление, если база большая, то в файловую она может и недогрузиться - "не все данные были загружены". Поэтому приходится иногда идти на риск.
48 Анастасия Изотова
 
12.05.17
09:07
Включила отладку. Выбрала на выгрузку один документ (выгрузилось связанных 86 обьектов))
Точка останова. Ошибка. такая же.

Открывала этот файл в редакторе. А что искать то там ?
файл-выгрузка обычный.

в общем, я в диком стрессе ...
49 МихаилМ
 
12.05.17
09:12
(48) во владике полно партнеров 1с . делегируйте им проблему. мыслите капиталистически.
50 tabarigen
 
12.05.17
09:16
(49) во во.чел дело говорит
51 tabarigen
 
12.05.17
09:17
(48) уверяю тебя забей на это. здоровье дороже. стресс сильный и глубокий негативно влиеят на иммунную систему. забей просто)
52 zva
 
12.05.17
09:40
(48) Та же ошибка, это какая?
"Ошибка преобразования данных XML: [file://E:/out1/11.05.2017- док1.xml][337308,16]"
Означает, что проблема в 16 символе 337308 строки.

НайтиНедопустимыеСимволыXML() по этому файлу что показывает?
53 h-sp
 
12.05.17
09:46
(48) посмотри что в строке 337308
54 Serg_1960
 
12.05.17
10:23
(37) "сегодня база начала выдавать ошибку... при чем - на трех рабочих местах выдает, на других - нет." - удали кэши 1С на проблемных рабочих местах.

(39) "но когда я в развернутой Целой копии (сделанной до сбоя) пытаюсь загрузить эти xml..." - копия была сделана до обновления или после? Надеюсь у базы-источника и базы-приемника идентичные конфигурации. Иначе, перед загрузкой файлов xml, нужно обновить конфигурацию до версии базы-источника.
55 АнтонБ
 
12.05.17
10:30
(28) (48)
ПРАВИЛЬНОЕ РЕШЕНИЕ было в 28.
Все остальное это танцы с бубном на удачу.
Критерий правильности:
1) точно известно что это поможет и все будет ок.
2) точно известен объем работы.

А то что Вы делаете это творчество.
За такое творчество на работе надо штрафовать.
56 Serg_1960
 
12.05.17
10:33
(офф)
"Выбрала на выгрузку один документ (выгрузилось связанных 86 обьектов)..." - связываться с универсальной выгрузкой XML, чтобы перегрузить объекты из рабочей базы в её копию? :(
Мне проще развернуть РИБ из рабочей базы и её копии. А потом, через сообщения обмена, формируя произвольные пачки данных, перегрузить всё что потребуется.
57 h-sp
 
12.05.17
10:33
(55) это пользователи ленивые, они ее и тормошат, давай-давай. а так-то если там допустим 20 пользователей, 200 документов. каждому по 10 документов всего.
58 АнтонБ
 
12.05.17
10:42
(57)
Это проблема.

Подходишь к непосредственному начальнику и спрашиваешь:
Вы хотите чтобы проблема был решена быстро и надежно?
Предлагаешь: (28)

Начальник сделает что надо.
59 АнтонБ
 
12.05.17
10:44
(57) 200  документов это 1 рабочий день оператора.
это 1 тысяча рублей зп.
ну может 2.
Если это слишком много то база данных не нужна.
60 Serg_1960
 
12.05.17
10:44
(48) Скинь мне на почту файлы конфигурации CF базы-источника, базы-приёмника и сам этот файл XML. Если доверяешь, естественно, эту секретную информацию мне :) Ничего не гарантирую, но посмотрю.
61 АнтонБ
 
12.05.17
10:45
(60) Зачем потворствуешь ошибкам?
Бесплатно?
62 Serg_1960
 
12.05.17
10:48
АнтонБ, не зацикливайся на (28) :))
Правильное предложение была сказано в (35) - "советую обратиться за платной помощью." - и оно не по поводу платной набивки данных вручную как Вы подумали :))
63 АнтонБ
 
12.05.17
10:49
(62) Эта платная помошь стоит дороже и будет оказываться дольше чем вбить руками документы.
При этом риски что база будет с глюками останутся.
(С неправильными данными если задним числом что-то меняли в эти 2 дня) .. теперь 3 или 4 )
64 Serg_1960
 
12.05.17
11:10
Со всеми тремя предложениями не согласен.
1. Не факт, что дороже если специалист будет найден на форуме.
2. Такие риски всегда есть и специалист (если он профессионал) их обязан не только учитывать, но и выявлять и устранять.

(офф) Однажды мне, из спортивного интереса, захотелось актуализировать устаревшую копию рабочей базы.
Вру конечно :)
По просьбе юзверей сделал копию рабочей базы, чтобы они там могли проверить новые бизнес-процессы и позднее нарвался на убедительную просьбу актуализировать информацию в копии, кроме ими изменённых объектов.

Написал обработку, которая анализировала журнал регистрации и использовала его в качестве фильтра при выгрузке и загрузке данных...
65 АнтонБ
 
12.05.17
11:18
(64) Как это не дороже.
1 час работы программиста стоит как 1 день работы оператора.
Причем оператор вот он ему уже заплачено.
А программисту надо выбивать зп за _свой_ косяк.
Это само по себе конфликт.
66 Serg_1960
 
12.05.17
11:42
Не буду спорить. Каждому своё. Оно по всякому бывает.

Предложи я, например, отделу логистики вновь набить документы за два дня работы - меня тут же выкинут за ворота :) Хорошо если не из окна :))
Глупо думать что они там сидят без работы и ждут меня, когда я её им предложу :))

(офф) Однажды, в начале своей карьеры в качестве программиста 1С, пришлось мне прибегнуть к посторонней помощи, не афишируя это и платя из своего кармана.
"В чём прикол?" спросите вы?
Это позволило мне успешно пройти испытательный срок и получить изначально значительно более высокую зарплату, чем я как специалист на тот момент времени действительно стоил. Все расходы быстро отбились плюс я получил интересное место работы плюс время на изучение нового для меня языка програмиирования.
67 Serg_1960
 
12.05.17
11:43
[завязал оффтопить, ушёл]
68 cw014
 
12.05.17
11:46
Утилита администрирования Postgre есть?