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

Compare with Current View Page History

« Previous Version 6 Next »

Требования

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

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

  • Последняя версия платформы, собранная под задачу миграции: IQChannels-4.1.5-6.
  • Версия 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-6 доработками для проведения миграции.

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


5) Следующий этап - установка и подготовка 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 готова.

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

  • Для запуска утилиты Data pump понадобится Java(openjdk) версии не ниже 1.8 (jdk-8u202).
    Скачиваем установщик, устанавливаем. В процессе установки особенностей нет, все стандартно.
  • После необходимо создать в корне диска 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).
  • После настройки, прокручиваем веб-страницу вниз, нажимаем кнопку Начать проверку. Пойдет процесс подготовки и проверки, после окончания будет выведена подробная информация об ошибках/несоответствиях. Если ошибки критичные, дальнейший этап будет недоступен. Пример на скриншоте ниже:


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

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

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

    cd C:/iqchannels
  • Далее запускаем демон приложения:

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


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

  • No labels