Вход | Регистрация


1С:Предприятие ::

Метки: 

Не загрузить большую базу

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

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

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

Зато постгря бесплатная. Табличка "сарказм".
   youalex
 
16 - 02.08.18 - 14:03
Загрузи в mssql (попробуй)
   unregistered
 
17 - 02.08.18 - 14:14
Загрузку в пустую, вновь созданную с нуля базу пробовали?
   BlackJack
 
18 - 02.08.18 - 14:18
(17) Пробовал, не помогает.
   BlackJack
 
19 - 02.08.18 - 14:18
Сдаётся мне, проблема всё таки в 1С. В журнале регистрации по нулям. В последних версиях появилось сообщение "Информационная база. Ошибка загрузки из файла". На этом всё.
Пару раз курил доку по настройке технологического журнала в 1С, но пока не очень результативно. Или ничего подозрительного, или очень много лишней инфы. Есть ли советы, что искать?
   unregistered
 
20 - 02.08.18 - 14:24
Делайте выгрузку/загрузку средствами Postgres и не колупайте мозг.
У вас какой-то косяк в базе. Но искать косяк - сделать, что советуют в (1), - вам лень.
   BlackJack
 
21 - 02.08.18 - 19:22
(20) Сделал, что советуют в (1). Почему-то не помогло.
   Djelf
 
22 - 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 дело было в настройках сетевого адаптера.
   BlackJack
 
23 - 02.08.18 - 21:20
(22) Пока попробовал на другом компе. Загрузилось, только смысла в этом нет - база не битая. Для чистоты эксперимента пробую на проблемном сервере.

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



Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует