Требования

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

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

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-6 с доработками для проведения миграции.


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


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

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

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

6) Далее нам необходимо проделать следующие действия с ранее подготовленной платформой 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

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

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

           

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


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