Требования

Список необходимого ПО

Подготовка окружения к миграции

1) Для начала необходимо провести апдейт Oracle Database до версии 12 Release 1 в том случае, если текущая версия БД Oracle ниже 12.

2) Также предварительно необходимо запросить у специалистов iSimpleLab утилиту Data Pump вместе с инструкцией(документацией) последней версии (на 21.08.2024 актуальная версия 0.11.0).

3)  Настроим Oracle Instant Client. Необходимо скачать версию basic 12.1.0.2. Далее распаковать папку instantclient_12_1 из архива, и положить на диск С. Сразу же необходимо копировать в буфер обмена абсолютный путь до папки (например C:/instantclient_12_1), и внести записи в переменные среды:

4) Далее загружаем IQChannels-4.1.5-5, с доработками для проведения миграции по ссылке.


4) Следующий этап - установка и подготовка PostgreSQL. Необходимо скачать установщик с официального сайта (https://www.postgresql.org/), версии 12 (актуальная 12.20 на 21.08.2024) для ОС Windows Server 2012 R2. После скачивания, установить, следуя подсказкам в установщике (особенности установки см. в ПРИМЕЧАНИИ).


ПРИМЕЧАНИЕ:   Важно, когда увидите список компонентов для установки, отмеченный галочками, рекомендуем не ставить pgAdmin из данного установщика, поэтому галочку с него необходимо снять, т.к. в данном установщике pgAdmin часто не запускается в системе корректно. Для решения данного вопроса, после установки рекомендуем скачать pgAdmin отдельно и установить, если необходим графический интерфейс при подключении и настройке БД Postgre (например, pgAdmin 4.26).

После установки делаем подготовку БД Postgre:

Чистая БД Postgre готова.

5) Далее нам необходимо проделать следующие действия с ранее подготовленной платформой iqchannels на C:/iqchannels:

  1. Переходим в проводнике в папку C:/iqchannels/config, делаем копию файла. У нас получится два файла config.yaml (назвать их необходимо так, чтобы в скрипте миграции платформы был задействован определенный конфиг, далее в шагах будет подробно описано об этом). В одном необходимо указать подключение к БД Oracle, в другом подключение к БД PostgreSQL (ниже примеры параметров):
    Для Oracle:

    db:
     type: oracle
     connect: iqchannels/secret@localhost:1521/xe
     max_idle: 4 # Max idle connections in a connection pool.
     max_open: 12 # Max open connections in a connection pool.


    Для PostgreSQL:

    db:
     type: postgres
     connect: host=localhost port=5432 dbname=iqchannels user=iqchannels password=secret sslmode=disable
     max_idle: 4 # Max idle connections in a connection pool.
     max_open: 12 # Max open connections in a connection pool.
  2. В данном шаге подготавливаются БД Oracle и PostgreSQL к переносу в утилите Data Pump. Необходимо сделать следующее:

    1. В папке C:/iqchannels/config/ выбираем конфиг с указанной в параметрах БД Oracle (проверяем, что этот файл называется config.yaml). Второй конфиг с PostgreSQL переименовываем в _config.yaml (или любой другой, чтобы не был задействован в скрипте миграции ниже).

    2. Открываем командную строку от имени Администратора.

    3. Переходим в папку C:/iqchannels

      cd C:/iqchannels
    4. Далее запускаем скрипты миграции базы данных (Oracle) в командной строке (после данного шага командную строку закрывать не нужно, еще понадобится): 

      .\bin\iqchanneld.bat migrate
      2017/11/15 15:46:45 	WARN	migrations	Migrating...
      2017/11/15 15:46:45 	WARN	migrations	Reading migrations from "migrations/oracle"
      ...
      2017/11/15 15:46:45 	WARN	migrations	Applied 0 migration(s) in 64ms
    5. Не запускаем платформу на данном этапе, теперь сразу же делаем следующие действия:
      Также, как и в шаге a. данного пункта, переименовываем конфиги (но теперь наоборот):
      В папке C:/iqchannels/config/ выбираем конфиг с указанной в параметрах БД PostgreSQL (проверяем, что этот файл называется config.yaml). Второй конфиг с Oracle переименовываем в _config.yaml (или любой другой, чтобы не был задействован в скрипте миграции ниже).
    6. Снова переходим в командную строку, в папке C:/iqchannels снова запускаем скрипты миграции базы данных (PostgreSQL):

      .\bin\iqchanneld.bat migrate
      2017/11/15 15:46:45 	WARN	migrations	Migrating...
      2017/11/15 15:46:45 	WARN	migrations	Reading migrations from "migrations/postgres"
      ...
      2017/11/15 15:46:45 	WARN	migrations	Applied 0 migration(s) in 64ms

      Платформу также после данного шага запускать/проверять не нужно.

6) Следующим шагом самый главный этап - конвертирование и миграция данных через утилиту Data Pump (ранее её необходимо было запросить в шаге 2) инструкции). Для подготовки к её использованию необходимо:

           

7) Все готово, теперь необходимо проверить данные, для этого запустим платформу IQChannels:


8) Если в предыдущем пункте результаты проверки успешные, то миграция завершена, далее можно обновлять платформу на более свежие версии с PostgreSQL.