В процессе работы возникает необходимость перевести пользователей на работу с другой информационной базой, например при переходе на другую версию платформы (например, перейти с версии 1С:Предприятие 8.1 на версию 1С:Предприятие 8.2) или при переходе на другую СУБД (например, переход с файлового варианта на клиент-серверный вариант).
Это можно сделать двумя способами:
Данный метод обеспечит минимальное время простоя существующей системы, идентичность данных в двух информационных базы, возможность в любой момент времени безболезненно перейти к использованию исходной информационной базе без потери данных.
Данная статья посвящена описанию второго способа миграции между информационными базами.
Весь процесс миграции состоит из нескольких шагов, описание которых приведено ниже. В описании этих шагов будут использованы следующие термины:
Внимание!
Перед любыми доработками исходной конфигурации или информационной базы – выполните резервное копирование информационной базы, а все эксперименты выполняйте на копии реальной информационной базы.
Данный раздел содержит подробное описание методики миграции между различными информационными базами с помощью создания новой информационной базы.
Доработки можно разделить на две группы:
Доработки прикладного решения могут потребоваться, например, в случае перехода на другую СУБД. Определить необходимость доработок можно после ознакомления с приложением 8. Особенности работы с различными СУБД книги 1С:Предприятие 8.2. Руководство разработчика.
Все изменения следует выполнять так, чтобы минимально затрагивать структуру метаданных, т.к. такое изменение может потребовать существенное время на операцию реструктуризации информационной базы.
Для того чтобы данные обеих информационных баз были идентичными (это необходимо для того, чтобы можно было в любой момент времени выполнить переход на использование исходной информационной базы без потери данных), необходимо настроить обмен данными между информационными базами. Описание механизмов обмена данными приводится в главе 15. Механизмы обмена данными книги 1С:Предприятие 8.2. Руководство разработчика, а рекомендации по работу с этими механизмами можно получить на диске ИТС в разделе Методические рекомендации по конфигурированию – Механизм обмена данными.
Для регистрации измененных объектов следует использовать специальный объект метаданных - ПланОбмена. Состав плана обмена в исходной и новой информационных базах должен включать все объекты конфигурации. При этом не следует устанавливать у используемого плана обмена флажок Распределенная информационная база, т.к. в решаемой задаче нельзя выделить главный узел (на разных этапах работа ведется в разных информационных базах). Кроме того, использование распределенной информационной базы невозможно в случае перехода с 1С:Предприятия версии 8.1 на 1С:Предприятие версии 8.2. Рекомендуется на время перехода не выполнять изменений в конфигурации, а при необходимости внесения таких изменений выполнять синхронизацию конфигураций другими способами.
Необходимо реализовать механизмы выгрузки/загрузки данных в файлы обмена (или любой другой механизм взаимодействия между двумя информационными базами).
Если обмен должен выполняться в автоматическом режиме, следует использовать регламентные задания, подробнее о которых можно прочитать в главе 18. Механизм заданий книги 1С:Предприятие 8.2. Руководство разработчика.
После того, как исходная информационная база подготовлена к переходу (включая создание плана обмена), необходимо выполнить резервную копию исходной базы и из этой копии выполнить создание новой информационной базы.
Затем в обеих информационных базах следует настроить механизм автоматического двустороннего обмена данными (механизмы которого были созданы во время подготовки информационной базы к переходу) и проверить его работоспособность.
При использовании автоматического обмена необходимо выполнить настройку расписания работы регламентного задания так, чтобы обмен проходил максимально быстро и не препятствовал работе пользователей.
Весь процесс миграции можно разделить на несколько этапов:
Механизм автоматической передачи данных позволит поддерживать данные информационных баз в синхронном состоянии для того, чтобы в любой момент времени можно выполнить переход на исходную информационную базу без потери данных.
После того, как станет понятно, что возврат в исходную информационную базу больше не актуален, можно отключить механизм обмена. После этого исходная и новая информационные базы перестанут выполнять синхронизацию данных, и возврат к исходной информационной базе станет невозможен.
Для перехода на 1С:Предприятия версии 8.2, следует ознакомиться с разделом Переход на версию 8.2 с версий 8.1 и 8.0 файла V8Update.htm, идущего в составе дистрибутива версии 1С:Предприятие 8.2.
Внимание!
Если для доработки конфигурации необходимо вносить изменения в метаданные, влияющих на структуру таблиц базы данных, то это следует делать в версии исходной конфигурации. В противном случае будет невозможно выполнять обмен данными с помощью планов обмена.
Для обеспечения возможности синхронизации данных между разными версиями информационной системы, в исходной и новой информационных базах организуется обмен данными с помощью планов обмена. Для этого следует объединить исходную конфигурацию с конфигурацией, прилагаемой к данной статье (вспомогательная конфигурация).
Для этого следует выполнить следующее:
Перед созданием копии информационной базы следует выполнить ряд подготовительных операций:
Удалите регистрацию изменений для новой информационной базы – для этого встаньте курсором на элемент плана обмена с кодом Приемник и нажмите кнопку Удалить регистрацию.
Сформируйте копию исходной информационной базы. Сделать это можно как средствами СУБД (если используется клиент-серверный вариант), так и скопировав файл 1Cv8.1CD (если используется файловый вариант). При этом необходимо помнить, что для создания копии информационной базы в файловом варианте всем пользователям следует завершить работу с этой базой.
Подготовьте инфраструктуру к развертыванию новой информационной базы:
В процессе эксплуатации исходной и новой информационной базы необходимо синхронизировать данные, вводимые в различных информационных базах. Для этого необходимо в плане обмена Миграция регулярно выполнять процедуры загрузки и выгрузки данных, например с помощью команд формы списка плана обмена. Если механизм ручного обмена не устраивает, следует настроить автоматический обмен данными с помощью регламентных заданий.
Во время эксплуатации двух систем следует помнить, что в процедурах загрузки/выгрузки данных не предусмотрено механизма разрешения коллизий, т.е. данные всегда принимаются, вне зависимости от того, есть изменение этих данных в текущей информационной базе или нет (другими словами – не следует допускать одновременной работы пользователей в обеих информационных базах). Это связано с тем, что в общем случае непонятно, какая из двух информационных баз является главной, а какая – вспомогательной. Однако если в базе-приемнике данных для принимаемого объекта зарегистрировано изменение, об этом выполняется запись в журнале регистрации следующего содержания: Данные были изменены, но произошло замещение данными из информационной базы ИмяБазыИсточника.
Для того чтобы перевести всех пользователей на новую версию информационный базы, следует изменить местоположение информационной базы в записи, описывающей информационную базы, которая находится в списке общих информационных баз.
В случае если необходимо прекратить синхронизацию данных с предыдущей версией информационной базы, следует выполнить следующее: