Имя: Пароль:
1C
1С v8
Не загрузить большую базу
0 BlackJack
 
02.08.18
12:04
Помогите, пожалуйста, разобраться с проблемой.
Есть виндовый сервер с PostrgeSQL 9.4.2 и 1C (64 bit) 8.3.12.1567. При загрузке из dt достаточно большой (dt 2.7 Гб) базы Бух2 вылетает с ошибкой "соединение разорвано администратором". Иногда бывают другие, но такие же бестолковые сообщения об ошибке.
Памяти на сервере 32 Гб. Раньше помогало перезагрузить сервер и сразу запустить загрузку. Иногда это срабатывало. Сейчас видимо база подросла, теперь такой номер не проходит.
База не битая. Пробовал на двух других серверах (Postrge и MS SQL), база загружается. Копировал настройки Postrge - не помогает.
На данный момент нет чёткого понимания, а кто падает СУБД или 1С? Настроил лог СУБД. Там такая картина.

Accounting3 2018-08-01 22:32:32 MSK NOTICE:  table "ibversion" does not exist, skipping
Accounting3 2018-08-01 22:32:32 MSK STATEMENT:  drop table if exists IBVersion cascade;create table IBVersion (IBVersion int not null, PlatformVersionReq int not null)
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  table "v8users" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop table if exists v8users cascade;create table v8users (ID bytea not null primary key, Name mvarchar(64) not null, Descr mvarchar(128) not null, OSName mvarchar(128), Changed timestamp not null, RolesID numeric(10, 0) not null, Show boolean not null, Data bytea not null, EAuth boolean, AdmRole boolean, UsSprH numeric(10, 0) ) without oids
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byname" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byname
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "bydescr" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists bydescr
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byosname" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byosname
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byrolesid" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byrolesid
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byshow" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byshow
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byeauth" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byeauth
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  table "v8users" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop table if exists v8users cascade;create table v8users (ID bytea not null primary key, Name mvarchar(64) not null, Descr mvarchar(128) not null, OSName mvarchar(128), Changed timestamp not null, RolesID numeric(10, 0) not null, Show boolean not null, Data bytea not null, EAuth boolean, AdmRole boolean, UsSprH numeric(10, 0) ) without oids
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byname" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byname
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "bydescr" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists bydescr
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byosname" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byosname
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byrolesid" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byrolesid
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byshow" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byshow
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  index "byeauth" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop index if exists byeauth
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  table "dbschema" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop table if exists DBSchema cascade;create table DBSchema (SerializedData bytea not null)
Accounting3 2018-08-01 22:33:24 MSK NOTICE:  table "schemastorage" does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT:  drop table if exists SchemaStorage cascade;create table SchemaStorage (SchemaID int4 not null primary key, Status int4 not null, CurrentSchema bytea not null, NewGenCreated bytea not null, NewGenDropped bytea not null ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE:  table "_configchngr" does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT:  drop table if exists _ConfigChngR cascade;create table _ConfigChngR (_NodeTRef bytea not null, _NodeRRef bytea not null, _MessageNo numeric(10, 0), _MDObjID bytea not null, _IDRRef bytea not null primary key ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE:  table "_configchngr_extprops" does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT:  drop table if exists _ConfigChngR_ExtProps cascade;create table _ConfigChngR_ExtProps (_ConfigChngR_IDRRef bytea not null, _KeyField bytea not null, _FileName mvarchar(128) not null ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE:  table "_accrgopt9961" does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT:  drop table if exists _AccRgOpt9961 cascade;create table _AccRgOpt9961 (_RegID bytea not null, _Period timestamp not null, _ActualPeriod boolean not null, _Periodicity numeric(2, 0) not null, _RepetitionFactor numeric(2, 0) not null, _UseTotals numeric(1, 0) not null, _MinPeriod timestamp not null, _UseSplitter boolean not null ) without oids

и далее аналогично много таблиц. Смущает вот этот момент.

Accounting3 2018-08-01 22:33:50 MSK NOTICE:  table "_enum412" does not exist, skipping
Accounting3 2018-08-01 22:33:50 MSK STATEMENT:  drop table if exists _Enum412 cascade;create table _Enum412 (_IDRRef bytea not null primary key, _EnumOrder numeric(10, 0) not null ) without oids

Accounting3 2018-08-01 22:39:59 MSK LOG:  could not receive data from client: No connection could be made because the target machine actively refused it.
Accounting3 2018-08-01 22:39:59 MSK STATEMENT:  COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK LOG:  incomplete message from client
Accounting3 2018-08-01 22:39:59 MSK STATEMENT:  COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK ERROR:  unexpected EOF on client connection with an open transaction
Accounting3 2018-08-01 22:39:59 MSK STATEMENT:  COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK LOG:  could not send data to client: No connection could be made because the target machine actively refused it.

Accounting3 2018-08-01 22:39:59 MSK STATEMENT:  COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK FATAL:  terminating connection because protocol sync was lost

Т.е. после таблицы _enum412 висит 9 минут и "could not receive data from client" и далее ошибки такого же рода "incomplete message from client", "unexpected EOF on client connection with an open transaction" и заканчивается "FATAL:  terminating connection because protocol sync was lost".

Следующая попытка аналогично.
table "_enum412" does not exist, skipping
drop table if exists _Enum412 cascade;create table _Enum412
пауза 8 мин и "could not receive data from client" но уже с другой таблицей:
Accounting3 2018-08-01 23:06:20 MSK STATEMENT:  COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK LOG:  incomplete message from client
Accounting3 2018-08-01 23:06:20 MSK STATEMENT:  COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK ERROR:  unexpected EOF on client connection with an open transaction
Accounting3 2018-08-01 23:06:20 MSK STATEMENT:  COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK LOG:  could not send data to client: No connection could be made because the target machine actively refused it.
Accounting3 2018-08-01 23:06:20 MSK STATEMENT:  COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK FATAL:  terminating connection because protocol sync was lost

Можно ли из этого сделать вывод, что падает сервер 1С?
1 ildary
 
02.08.18
12:30
Я не настроящий сварщик, но чтобы исключить сервер 1С и Postgree - попробуйте загрузить DT в файловую базу.
2 BlackJack
 
02.08.18
12:45
(1) не проходит по ограничениям на размер таблицы.
3 ildary
 
02.08.18
12:55
(2) ЕМНИП в последних версиях (вроде 8.3.8) придумывали какие-то особые страницы хранения в файловой, чтобы обойти это ограничение. Но если и это не поможет (на неназываемом на это жаловались) - тогда может попробовать развернуть Postgree на чистом компьютере (чтобы исключить ошибку PG).
4 BlackJack
 
02.08.18
13:03
Что даст файловая? Что даст чистый Postgre?
На другом сервере с ещё более древней версией Postgre и 1С база грузится. На третьем сервере с MS SQL база грузится. При тестировании ошибок нет. Копирование настроек Postgre со второго сервера падения не предотвращает.
5 timurhv
 
02.08.18
13:05
Какие настройки у локального кластера 1С? Интервал перезапуска, ограничение допустимого объема памяти?
6 BlackJack
 
02.08.18
13:20
(5) всё убрал, кроме остановки выключенных процессов в 60 сек.
7 Ювелир
 
02.08.18
13:25
(0) А Постгре 64 битный?

Может антивирус?
8 Seriy_Volk
 
02.08.18
13:26
(0) dt 2,7 Гб это небольшая база. Если я верно понял, то проблемные сервера и те, на которые архив загружется. не в одной сети? Если так, то можно поднять VPN между ними и создать базу, на кластере, в котором загрузка проходит успешно, но со ссылкой на проблемный PostgreSQL сервер. 99,9%, что загрузится. Конечно, если связь не оборвется.
9 BlackJack
 
02.08.18
13:32
(7) Postgre 64 бит как и сервер 1С.
Антивируса нет.
10 BlackJack
 
02.08.18
13:36
(8) все три сервера между собой никак не связаны. На каждом стоит своя СУБД и свой сервер 1С. На сервере с MS SQL сервер 1С 32-х битный. Это не мешает. На проблемном сервере клиент 1С 64-х битный. Не думаю, что это мешает. С 32-х битными клиентами были те же проблемы. Загрузку запускаю непосредственно на сервере (RDP).
11 unregistered
 
02.08.18
13:37
А в чем смысл переносить именно через выгрузку/загрузку dt-шника? Почему нельзя выгрузить/загрузить средствами СУБД Postfres?
12 unregistered
 
02.08.18
13:41
Пробовали загрузить на проблемный СУБД PG какую-нибудь другую базу (например, демо-базу любую из DT)?
13 BlackJack
 
02.08.18
13:41
(11) я её боюсь. :)

А если серьёзно, я её не понимаю и не хочу понимать, не моя специфика. Сисадминов, которые бы в этом разбирались, тоже нет.
14 BlackJack
 
02.08.18
13:42
(12) да. Другие базы нормально грузятся, но они в разы меньше.
15 Мыш
 
02.08.18
13:55
(13) >  Сисадминов, которые бы в этом разбирались, тоже нет.

Зато постгря бесплатная. Табличка "сарказм".
16 youalex
 
02.08.18
14:03
Загрузи в mssql (попробуй)
17 unregistered
 
02.08.18
14:14
Загрузку в пустую, вновь созданную с нуля базу пробовали?
18 BlackJack
 
02.08.18
14:18
(17) Пробовал, не помогает.
19 BlackJack
 
02.08.18
14:18
Сдаётся мне, проблема всё таки в 1С. В журнале регистрации по нулям. В последних версиях появилось сообщение "Информационная база. Ошибка загрузки из файла". На этом всё.
Пару раз курил доку по настройке технологического журнала в 1С, но пока не очень результативно. Или ничего подозрительного, или очень много лишней инфы. Есть ли советы, что искать?
20 unregistered
 
02.08.18
14:24
Делайте выгрузку/загрузку средствами Postgres и не колупайте мозг.
У вас какой-то косяк в базе. Но искать косяк - сделать, что советуют в (1), - вам лень.
21 BlackJack
 
02.08.18
19:22
(20) Сделал, что советуют в (1). Почему-то не помогло.
22 Djelf
 
02.08.18
19:45
(21) Не загрузилось в файловую?
Возможно стоит поменять размер страницы перед загрузкой https://its.1c.ru/db/metod8dev/content/5924/hdoc
(0) Проблема IMHO, не совсем на стороне postgresql или сервера 1С. Что-то третье не дает стабильно поддерживать соединение.
Ну вот например тут  https://www.codeproject.com/Questions/426966/System-Net-Sockets-SocketExcep
В solution 2 дело было в настройках сетевого адаптера.
23 BlackJack
 
02.08.18
21:20
(22) Пока попробовал на другом компе. Загрузилось, только смысла в этом нет - база не битая. Для чистоты эксперимента пробую на проблемном сервере.

Повторюсь, СУБД и сервер приложений крутятся на одной машине. Чтобы между ними нарушилась связь, это д.б. что-то совсем необычное. Думаю, всё таки нужно смотреть в сторону сервера 1С. На данный момент снял лог сервера 1С. Это что-то не читаемое.
24 MaximSh
 
02.08.18
21:27
Я бы попробовал другую платформу.
25 BlackJack
 
02.08.18
21:43
(24) До этого пробовал на 8.3.11 и 8.3.10
26 Djelf
 
02.08.18
21:45
(23) Смотри, смотри и смотри в сторону сервера...
Которого кстати? Самого сервера винды, какого? Их там штук... Ну да, еще 2 понятных sql и  1C. А остальное?
Потратишь неделю на то чтобы понять что не там копаешь.
Просто погугли по "ould not receive data from client" и увидишь что это не проблема сервера 1с и не сильно то и проблема pgsql...
Повторяю: "это что-то третье".
27 mr freeman
 
02.08.18
21:50
Это черный адынеснек
28 BlackJack
 
28.08.18
11:56
Снял логи 1С. Они тут https://yadi.sk/d/in7hufoF3acy5v
Много информации, в разных файлах разные ошибки в разное время. Не могу понять, где проблема. Буду благодарен, если кто-нибудь взглянет. Или хотя бы за советы, куда конкретно копать.

Конфигурационный файл сделал следующий. Может кто-то даст совет, хотя бы как лог лучше настроить?

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">;
  <mem/>
<leaks collect="true">
  <point call="client"/>
  <point call="server"/>
</leaks>
<log location="C:\Users\USR1CV8\AppData\Local\1C\1cv8\logs" history="168">
  <event>
   <eq property="name" value="attn"/>
  </event>
  <event>
   <eq property="name" value="confloadfromfiles"/>
  </event>
  <event>
   <eq property="name" value="excp"/>
  </event>
  <event>
   <eq property="name" value="leaks"/>
  </event>
  <event>
   <eq property="name" value="mem"/>
  </event>
  <event>
   <eq property="name" value="proc"/>
  </event>
  <property name="all"/>
  <property name="all">
   <event>
    <eq property="name" value="attn"/>
   </event>
   <event>
    <eq property="name" value="confloadfromfiles"/>
   </event>
   <event>
    <eq property="name" value="excp"/>
   </event>
   <event>
    <eq property="name" value="leaks"/>
   </event>
   <event>
    <eq property="name" value="mem"/>
   </event>
   <event>
    <eq property="name" value="proc"/>
   </event>
  </property>
</log>
</config>
29 hhhh
 
28.08.18
12:03
(28) всё-таки добавьте памяти, 32 ГБ это очень мало. Смешно даже разворачивать на такой памяти. Нужно минимум 100 ГБ. Или даже 150.
30 Флориан
 
28.08.18
12:25
(28) это видел?  Ошибка программного лицензирования. Error=10004(0x00002714): Операция блокирования прервана вызовом WSACancelBlockingCall.
File=src\LicenseBaseImpl.cpp(5143)' в файле 18080215.log в папке rphost_10912
31 BlackJack
 
28.08.18
12:30
(29) На другом сервере с 24 Гб нормально загружается. Пробовал на домашнем компе в файловом варианте - даже на 8 Гб нет проблем.
32 BlackJack
 
28.08.18
12:32
(30) Видел, но может ли это прервать загрузку базы?
С лицензиями всё норм. В обычном режиме работы вопросов лицензирования не возникает, при загрузке меньших баз тоже.
33 Флориан
 
28.08.18
12:49
(32) можно допустить версию о том что память просто битая, при большом файле - доходит до битого места
34 XMMS
 
28.08.18
13:08
(33)Да, было как-то у меня - при операциях с большими архивами бились файлы. А система и программы работали почти нормально, лишь иногда подглючивая.
Но это довольно редкий случай.
35 kittystark
 
28.08.18
13:10
(0)для Win: свободного места на диске С:\  хватает для временных файлов ?
36 vde69
 
28.08.18
13:26
(3) вранье, формат базы 8.2 и 8.3в целом одинаковый
37 hhhh
 
28.08.18
13:42
(31) странно. У нас файловая база 10 гиг, dt-шник 500 мб. Значит, у вас по идее база 50 гиг. Но конечно, может у вас там фотки какие-то тогда да.
38 BlackJack
 
28.08.18
14:12
(37) 60 Гб папка с базой Postgre весит.
39 BlackJack
 
28.08.18
14:31
(35) Есть такое подозрение. Несколько раз при загрузке сидел, мониторил свободное место. Меньше 10 гигов не опускалось. Но возможны следующие ситуации.
1. Винда некорректно отображает свободное место, например, не считает какие-нибудь не записанные до конца файлы или что-нибудь подобное
2. Происходит резкое уменьшение свободного места, которое я не успеваю отследить и которое откатывается при ошибке загрузки.
40 BlackJack
 
29.08.18
14:57
Как можно более надёжно проверить ситуацию со свободным местом? В логах 1С и Postgre я такой проблемы не увидел. Может  есть события в винде?
41 spiller26
 
29.08.18
15:08
В памяти на серваке дело, заканчивается место в подкачке.
42 BlackJack
 
31.08.18
10:29
Поначалу я обрадовался, потому что оказалось, что кто-то из злобных админов выключил полностью файл подкачки. Но нет, не помогло.
43 hhhh
 
31.08.18
10:37
(38) ну значит 60 и надо минимум, потому что dt - это архив, его развернуть надо.
44 BlackJack
 
31.08.18
10:40
(43) Других технологий, кроме как загрузить всё в оперативку не существует?
Повторюсь, эта база нормально загружается на другом сервере с ещё меньшим количеством памяти. В файловом варианте она загружается даже на моём домашнем компе с 8 Гб оперативки.
45 BlackJack
 
25.09.18
11:02
Что делать-то?
46 unregistered
 
25.09.18
12:31
(0) Зовите сисадмина.
Проблема в устойчивости соединения между Postgres и 1С при загрузке больших объемов данных. Т.к. оба живут на одном сервере, то необходимо убедиться в отсутствии каких-либо программных и/или аппаратных фаерволов/брандмауэров, корректности настройки сетевых интерфейсов и сетевых карт (отключен Ipv6, выключено энергосбережение, запрещено выключение сетевой карты для экономии электроэнергии). Проверьте, что для сетевой карты стоят нормальные драйвера, попробуйте обновить версию драйверов.
47 shuhard
 
25.09.18
12:36
(45) не грузить dt, что очевидно =)
использовать иные варианты, например выгрузказагрузка в идентичную через xml или РБД
48 kittystark
 
25.09.18
17:33
я все же за (35), вот почему:
буквально вчера-сегодня бился с этой же проблемой
dt - почти 10 Гб, в развернутом виде база около 50 гиг
при наличии свободного места на диске с:\ в районе 60 гиг вылет конфигуратора с разрывом соединения где-то через час

пока не освободил 85 гектар - не взлетело
49 Маленький Вопросик
 
26.09.18
09:34
(48) 10 гб дт-шник - у вас база полна картинок чтоли????
50 BlackJack
 
06.11.18
17:53
Имеет смысл пробовать 64-х битный сервер?
51 BlackJack
 
31.01.19
23:43
Туплю, там и так всё 64-х битное.
Добавили ещё один сервер. На нём база грузится.
52 Fram
 
01.02.19
07:01
Я за свободное место на диске голосую
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.