Сложности обмена в РБД

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Партнер
RSS
Здравствуйте.

Имеется АА ред. 4., релиз 15.  Доработанная.

Проблема: нарушился обмен данными между подразделениями рбд.
Причина: были нарушены последовательности с 2010 года. С этого периода в базе наверное около 100 000 документов. В общем после восстановления последовательностей, файл обмена данными весит более 1,5 гига. И то это я запустил обмен на 12-ти ядерном серваке, продолжался трое суток, и я его прекратил... так бы наверное стол еще с месяц. На слабом сервере вообще через 3 часа пишет недостаточно памяти и закрывается все.
Вопрос: уважаемые гуру, как разбить процедуру обмена на несколько этапов?? Или как разбить файл?
Первый вопрос предпочтительнее, т.к. ждать неделю пока сформируется файл обмена не реально.

Или что посоветуете вообще?
Декоративное изображение 124
Партнер
Я с РБД толком не знаком, но разве при восстановлении последовательностей необходимо заново переносить документы в подчиненную базу? Это вопрос к разработчикам. Мне кажется процесс востановления последовательностей не должен влиять на формирование файла обмена.
Партнер
Артем, все таки в данном случае мне кажется легче заного создать подчиненный узел,и не мучаться с переносом. А если есть возможность, вообще уйти от рбд, с ней вечно проблемы....
Партнер
Цитата
Дуганов Александр Юрьевич пишет:
Артем, все таки в данном случае мне кажется легче заного создать подчиненный узел,и не мучаться с переносом. А если есть возможность, вообще уйти от рбд, с ней вечно проблемы....

Ни один способ не гарантирует, к сожалению, более стабильного способа "соединения" удаленных подразделений. Интернет соединение по впи и единая база - не вариант, т.к. инет вечно скачет, может на сутки и более пропасть. На резервные каналы тоже нет особой надежды... да и потом надежные каналы связи стоят дорого...
Облака тоже не подходят, по той же причине + дорого :)
Больше вариантов я не вижу! Мне самому рбд не нравится, очень много заморочек с ней.
Партнер
Цитата
Дуганов Александр Юрьевич пишет:
Я с РБД толком не знаком, но разве при восстановлении последовательностей необходимо заново переносить документы в подчиненную базу? Это вопрос к разработчикам. Мне кажется процесс востановления последовательностей не должен влиять на формирование файла обмена.

А мне наоборот, это кажется логичным. Ведь при перепроведении изменяется много вещей,  в том числе и, нередко, сами документы. Поэтому подразделения должны обязательно их видеть.
Сотрудник 1С-Рарус
Была подобная проблема, файл обмена был около 2 Гб. Для того, чтобы прогнать все изменения в центральную базу - создавали дополнительный план обмена в конфигураторе, регистрировали в нем изменения документов порциями (например по 2000 документов) и производили обмен. Таким образом разгребли изменения и снизили файл обмена до приемлемых размеров. Потребовалось около недели работы специалиста имеющего опыт работы с планами обменов. После этого - вспомогательный план обмена - удалили.

Причина проблемы была в том, что специалист, контролирующий обмены ушел в отпуск, а замещающий его - забыл контролировать. А фтп-сервер, через которые шел обмен - остановился.
Партнер
Цитата
Владимир Гаврилов пишет:
Была подобная проблема, файл обмена был около 2 Гб. Для того, чтобы прогнать все изменения в центральную базу - создавали дополнительный план обмена в конфигураторе, регистрировали в нем изменения документов порциями (например по 2000 документов) и производили обмен. Таким образом разгребли изменения и снизили файл обмена до приемлемых размеров. Потребовалось около недели работы специалиста имеющего опыт работы с планами обменов. После этого - вспомогательный план обмена - удалили.

Причина проблемы была в том, что специалист, контролирующий обмены ушел в отпуск, а замещающий его - забыл контролировать. А фтп-сервер, через которые шел обмен - остановился.

Очень сложный и дорогой вариант!
А как же все таки универсальный обмен XML? Вернее так - выгружаем все доки из периферии за период когда не было обмена. Удаляем подразделение в главной базе. Загружаем недостающие доки и регистры. Восстанавливаем последовательности. Создаем периферийную базу заново и вуаля! Все будет по прежнему... нет? НЕ получится?

Я где то видел опцию - разбивать файл обмена на части... но где не помню)) показалось?

Рарус ПОМОГИТЕ!
Сотрудник 1С-Рарус
Цитата
Артём Бавенд пишет:
Я где то видел опцию - разбивать файл обмена на части... но где не помню))
В обработке обмена есть параметр количества элементов в транзакции.
Партнер
Цитата
Александр Яблочкин пишет:
Цитата
Артём Бавенд пишет:
Я где то видел опцию - разбивать файл обмена на части... но где не помню))
В обработке обмена есть параметр количества элементов в транзакции.

Он ни на что не влияет! Ставил и 1 и 10 и 50 и 1000 и 10 000 ... все тоже самое. Обмен висит трое суток и не доходит до конца!

Что делать??
Партнер
Цитата
Александр Яблочкин пишет:
Цитата
Артём Бавенд пишет:
Я где то видел опцию - разбивать файл обмена на части... но где не помню))
В обработке обмена есть параметр количества элементов в транзакции.

А что конкретно он подразумевает этот параметр?
Сотрудник 1С-Рарус
Да, это не совсем то. Этот параметр задает число элементов, записываемых в одной транзакции. Подробнее описание параметра в синтаксис-помощнике функций ЗаписатьИзменения/ПрочитатьИзменения менеджера планов обмена.

Что касается ошибки загрузки надо понять причину ошибки. Надо попробовать в функции одОбменДанными.ПрочитатьСообщениеСИзменениями после вызова ПрочитатьСообщениеОбменаНаКлиенте/пвПривилегированныйМодуль.ПрочитатьСообщениеОбмена получить ошибку методом ОписаниеОшибки(). Может что то более понятное будет.
Партнер
Цитата
Александр Яблочкин пишет:
Что касается ошибки загрузки надо понять причину ошибки. Надо попробовать в функции одОбменДанными.ПрочитатьСообщениеСИзменениями после вызова ПрочитатьСообщениеОбменаНаКлиенте/пвПривилегирован ­ныйМодуль.ПрочитатьСообщениеОбмена получить ошибку методом ОписаниеОшибки(). Может что то более понятное будет.

Ошибок никаких нет. Просто файл обмена стал невероятно большим и все. Нет возможности его сформировать, т.к. процедура обмена продолжается несколько суток. Сообщение обмена становится более 2х Гб.
Вопрос в том, можно ли разбить файл обмена?
Или же, возможно сначала загрузить все документы из периферии, а потом вновь создать периферийную базу?
Пожалуйста, читайте сообщение #1 от 07.05.2013 10:07:25
Сотрудник 1С-Рарус
У платформы такого функционала нет. А именно этими методами выгрузка/загрузка осуществляется.
Партнер
Мне никто не может помочь!? Я правильно понял?
Сотрудник 1С-Рарус
Можно попробовать такой вариант:

1) Очищаем регистрацию изменений в периферийной базе для центральной базы методом: "УдалитьРегистрациюИзменений". При этом сохраняем в каталоге на диске файлы XML, каждый из которых содержит 1000 объектов, для которых очистили изменения.

2) По очереди регистрируем изменения для объектов, содержащихся в каждом XML-файле, полученном на этапе 1 и прогоняем обмен между всеми базами распределенки (чтобы не перебрать с накоплением изменений в центральной базе). После обработки каждого XML файла - он удаляется из каталога

Метод на практике не проверен, нужно проверить реализуемость, программировать, тестировать.  Ну и если все нормально - разгребать 2 Гб.
Партнер
Цитата
Владимир Гаврилов пишет:
Можно попробовать такой вариант:

1) Очищаем регистрацию изменений в периферийной базе для центральной базы методом: "УдалитьРегистрациюИзменений". При этом сохраняем в каталоге на диске файлы XML, каждый из которых содержит 1000 объектов, для которых очистили изменения.

2) По очереди регистрируем изменения для объектов, содержащихся в каждом XML-файле, полученном на этапе 1 и прогоняем обмен между всеми базами распределенки (чтобы не перебрать с накоплением изменений в центральной базе). После обработки каждого XML файла - он удаляется из каталога

Метод на практике не проверен, нужно проверить реализуемость, программировать, тестировать.  Ну и если все нормально - разгребать 2 Гб.

Воспользовались советом и сделали так:

1. Удалили всю регистрацию изменений;
2. Зарегистрировали справочники в каждой базе по префиксам, прогнали по всем узлам, обменялись;
3. Зарегистрировали изменения по месяцу, начиная с дня когда остановился обмен, обменялись.

В итоге обмен восстановлен.

Минусы - некоторые справочники не зарегистрироли (как-то упустили их из виду), в результате в узлах теперь не видны к примеру пользователи-создатели, некоторая контактная информация и др. Пока других ошибок не замечено!

В итоге нескольких месяцев поиска, проблема решилась банально просто... если конечно не вылезут какие-то косяки в дальнейшем.
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С