10.1. Настройка источника #

10.1.1. Источник Oracle #

Для настройки работы с источником Oracle необходимо выполнить следующие действия:

  • Чтобы запустить prosync, включите на стороне источника расширенные журналы (SUPPLEMENTAL LOGS) на уровне PRIMARY KEY:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
  • Назначьте пользователю, под которым будет выполняться миграция, следующие права:

    GRANT CONNECT, RESOURCE TO PROGATE_USER;
    
    GRANT EXECUTE ON DBMS_LOGMNR TO PROGATE_USER;
    GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PROGATE_USER;  -- для procheck для сравнивания LOB объектов
    
    GRANT EXECUTE_CATALOG_ROLE TO PROGATE_USER;
    GRANT LOGMINING TO PROGATE_USER;
    
    GRANT SELECT ON V_$LOG TO PROGATE_USER;
    GRANT SELECT ON V_$LOGFILE TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_LOGS TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_CONTENTS TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_PARAMETERS TO PROGATE_USER;
    GRANT SELECT ON V_$ARCHIVED_LOG TO PROGATE_USER;
    GRANT SELECT ON V_$TRANSACTION TO PROGATE_USER;
    GRANT SELECT ON V_$DATABASE TO PROGATE_USER;
  • Для работы prosync с источником Oracle назначьте пользователю, под которым будет выполняться миграция, дополнительные права:

    GRANT CONNECT, RESOURCE TO PROGATE_USER;
    
    GRANT EXECUTE ON DBMS_LOGMNR TO PROGATE_USER;
    
    GRANT EXECUTE_CATALOG_ROLE TO PROGATE_USER;
    GRANT LOGMINING TO PROGATE_USER;
    
    GRANT SELECT ON V_$LOG TO PROGATE_USER;
    GRANT SELECT ON V_$LOGFILE TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_LOGS TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_CONTENTS TO PROGATE_USER;
    GRANT SELECT ON V_$LOGMNR_PARAMETERS TO PROGATE_USER;
    GRANT SELECT ON V_$ARCHIVED_LOG TO PROGATE_USER;
    GRANT SELECT ON V_$TRANSACTION TO PROGATE_USER;
    GRANT SELECT ON V_$DATABASE TO PROGATE_USER;
  • Для работы procheck с источником Oracle поддерживаются следующие драйверы:

    • oracle — не требует установки дополнительного программного обеспечения.

    • godror —требует установки Oracle Instant Client. После распаковки загруженного архива добавьте путь к каталогу в переменную окружения LD_LIBRARY_PATH:

      LD_LIBRARY_PATH=<путь_к_клиенту_oracle>

10.1.2. Источник Postgres Pro/PostgreSQL #

Предоставьте пользователю, под которым будет выполняться подключение к базе данных, права CONNECT, SELECT и EXECUTE:

GRANT SELECT ON ALL TABLES IN SCHEMA public TO PROGATE_USER;

GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO PROGATE_USER;

GRANT CONNECT ON DATABASE имя_бд TO PROGATE_USER;

Если в базе данных-источнике содержатся большие объекты, предоставьте пользователю дополнительные права для доступа к ним.

Для чтения изменений установите следующий параметр конфигурации сервера базы данных:

wal_level = logical

Для корректной работы prosync для параметра max_slot_wal_keep_size установите значение, которое превышает объём изменений за время, необходимое для начальной загрузки данных. Если значение недостаточно большое, при запуске prosync могут возникнуть ошибки базы данных: ERROR: can no longer get changes from replication slot (ОШИБКА: из слота репликации больше нельзя получать изменения). В этом случае корректный перенос изменений с помощью prosync становится невозможным. Для миграции данных рекомендуется устанавливать для параметра max_slot_wal_keep_size значение -1.