Repl - "Репликация данных"
Поток "репликация" (тип Repl) выполняет анализ журнала изменений целевой БД (только по таблицам, входящим в группу рекпликации, указанную в параметре group) и передачу измененных записей в целевую БД.
| replmode | repl | Тип задачи |
|---|---|---|
| source | [ident] | Исходная группа баз данных |
| target | [ident] | Целевая группа баз данных |
| group | [ident] | all | Группа таблиц репликации |
| commitinterval | число | Число записей, обработка изменений по которым происходит в одной транзакции. |
| maxcommit | число | Максимальное число повторений цикла commitinterval за сеанс выполнения задачи. |
| correct | не требуется | Включает режим коррекции записей в случае, если изменяемые/добавляемые записи вызывают системные исключения из-за невыполнения определенных в реплицируемой таблице ограничений целостности (чаще всего – UNIQUE). |
По завершении обработки указанного в параметре числа записей журнала производится подтверждение транзакции и начало передачи изменений по следующим записям. Цикл подтверждения может повториться многократно в соответствии со значением параметра MaxCommit.
CommitInterval должен находиться в диапазоне [1, 1250]. Уменьшение CommitInterval снижает производительность репликации, но повышает надежность. Рекомендованное значение: от 30 до 200. На плохих каналах связи рекомендуется снизить CommitInterval.
За один сеанс обмена не передается более CommitInterval*MaxCommit записей.
При обновлении целевой таблицы (вставкой или модификацией записей, пришедших из базы-источника) может возникнуть системное исключение, вызванное нарушением ограничения целостности (чаще всего – UNIQUE). Это возможно из-за наличия в большинстве реплицируемых таблиц БД МИС "Инфоклиника" помимо суррогатного ключа репликации других уникальных ключей (во всех таблицах есть, как минимум, первичный ключ).
Если режим коррекции включен (параметром Correct), то запись из целевой БД, обуславливающая нарушение целостности при попытке добавления данных из исходной БД, удаляется, и репликация продолжается. Если режим коррекции отключен (параметр Correct не указан), выполнение задачи приостанавливается до устранения противоречия в целевой и исходной записях администратором БД.