|
Не загрузить большую базу | ☑ | ||
---|---|---|---|---|
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
|
Я за свободное место на диске голосую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |