Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Последняя версия платформы, в которой поддерживается БД 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.

...

3)  Настроим Oracle Instant Client (Если ранее не было настроено на текущей ОС, иначе пропускаем данный пункт).

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

...

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


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

...

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

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

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

    Code Block
    languageyml
    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:

    Code Block
    languageyml
    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

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

      Code Block
      languagepowershell
      themeEmacs
      .\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):

      Code Block
      languagepowershell
      themeEmacs
      .\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

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

67) Следующим шагом самый главный этап - конвертирование и миграция данных через утилиту 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):

    Code Block
    languagepowershell
    themeEmacs
    cd C:/datapump

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

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

...

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


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

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

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

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

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

...