You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Требования

  • Операционная система: Windows x64.
  • Свободное место на диске для апдейта Oracle Database до версии 12 Release 1 (в случае, если текущая версия БД Oracle ниже 12 версии)
  • Наличие тестовой среды для проверки миграции с текущей копией БД Oracle.

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

  • Последняя версия платформы, в которой поддерживается БД Oracle: IQChannels-4.1.5-5 (версия с доработками для миграции).
  • Версия Oracle Database: 12c Enterprise Edition Release 12.1.0.X.0 (где X - любая версия)
  • Oracle Instant client basic windows 12.1.0.2 версии
  • Postgresql 12 версии (на момент написания инструкции актуальная версия 12.20 для ОС Windows Server 2012 R2)
  • Утилита для миграции Data pump (на момент написания инструкции актуальная версия 0.11.0), которую необходимо запросить вместе с инструкцией(документацией) у специалистов iSimpleLab.
  • Для запуска утилиты Data pump также понадобится Java(openjdk) версии не ниже 1.8 (jdk-8u202).

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

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), и внести записи в переменные среды:

  • Открываем Панель управления → Система и безопасность → Система → Дополнительные параметры системы → Переменные среды...
  • В окне внизу есть системные переменные, необходимо добавить полный путь до instantclient_12_1 в переменную Path. От других записей отделяем точкой с запятой <;>
  • Также создаем новую системную переменную, в Значение также пишем полный путь до instantclient_12_1 (если ранее не была добавлена):
    • Имя переменной OCI_LIB64
  • Перезагрузить ОС для того, чтобы изменения вступили в силу.

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

  • Распаковываем архив, папку iqchannels-windows переименуйте в iqchannels.
  • Далее если в корне диска c:/ уже имеется ранее установленная платформа (папка iqchannels), то из неё необходимо взять свой конфиг по пути c:/iqchannels/config/config.yaml, копировать в другое место, а папку по пути C:/iqchannels можно удалить
  • После переносим на C:/ распакованных архив, а также помещаем ранее копированный конфиг config.yaml в папку по пути c:/iqchannels/config/


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


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

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

  • Открываем pgAdmin, подключаемся к БД (пароль тот же, который был указан в процессе установки)
  • Далее создаем пользователя iqchannels, предоставляем ему все необходимые права.
  • После создаем новую БД, называем iqchannels, указываем для неё пользователя iqchannels.

Чистая БД 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) инструкции). Для подготовки к её использованию необходимо:

  • Создать в корне диска C:/ папку (например C:/datapump), в которую необходимо поместить необходимые файлы, а именно (для версии Data Pump 0.11.0 версии):
    • data-pump-0.11.0.jar
    • start.bat
  • Далее необходимо прописать настройки подключения к БД Oracle и PostgreSQL. Сделать это можно двумя способами:
    • Отредактировать файл start.bat в текстовом редакторе
    • Редактировать параметры после запуска веб-интерфейса
  • Рассмотрим второй способ, чтобы было более наглядно. Открываем командную строку от имени Администратора, и переходим в папку, в которую поместили файлы Data pump (ниже пример для пути C:/datapump):

    cd C:/datapump

    и далее запускаем start.bat

    start.bat
  • Открываем браузер, переходим в веб-интерфейс по адресу localhost:8080 (данный адрес и порт можно изменить в файле start.bat):
  • Ниже на примере скришота выделены поля, в которых указывается подключение к БД, а также логин и пароль (указывать такие же, как и в файле C:/iqchannels/config/config.yaml).
    Важное замечание, что в поле JDBC URL для БД Оракл и БД PostgreSQL отличаются, менять знаки, разделяющие localhost, порт и имя базы не нужно.

           

  • Далее необходимо настроить число одновременных потоков и таблиц, а также максимальное число и размер (более подробно о расчете в документации Data pump).
  • После настройки, прокручиваем веб-страницу вниз, нажимаем кнопку Начать проверку. Пойдет процесс подготовки и проверки, после окончания будет выведена подробная информация об ошибках/несоответствиях. Если ошибки критичные, дальнейший этап будет недоступен. Пример на скриншоте ниже:


  • Если все в порядке, нажимаем кнопку Начать копирование. По итогу будет выведена информация и статус (пример ниже):

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

  • Открываем командную строку от имени Администратора, и переходим в папку C:/iqchannels

    cd C:/iqchannels
  • Далее запускаем демон приложения:
    .\bin\iqchanneld.bat run


  • На данном этапе необходимо проверить корректность и наличие данных в разных настройках (вкладках).


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

  • No labels