Migration OraToPG » История » Редакция 2
« Предыдущее |
Редакция 2/5
(Разница(diff))
| Следующее »
BEA, 06.06.2025 07:36
Миграция с Oracle на PostgreSQL¶
Миграция на операционной системе Windows¶
- Установка Perl
Скачайте и установите Strawberry Perl. После установки убедитесь, что Perl добавлен в переменную средыPATH
.
Проверьте установку выполнив команду:perl -v
- Установка Oracle Client. Уже описан процесс в нашей инструкции: ссылка
(Опционально) Создайте переменную среды TNS_ADMIN и укажите путь к файлу tnsnames.ora, если он используется. - Установка зависимостей Perl
Откройте командную строку (cmd.exe) от имени администратора и выполните:cpan DBI cpan DBD::Oracle cpan DBD::Pg cpan XML::Simple cpan DateTime cpan JSON cpan Term::ReadKey cpan Test::Simple
Для установки модулей может потребоваться доступ в интернет и права администратора. - Установка ora2pg
- 2 варианта для скачивания
- Перейдите на их оффициальный сайт. Найдите на сайте и перейлите по ссылке "GitHub Download v<version>". Скачиваем архив с исходниками:
- Если у вас установлен git то откройте консоль и перейдите в то местоположение куда хотите скачать. Выполните команду:
git clone https://github.com/darold/ora2pg.git
- Перейдите на их оффициальный сайт. Найдите на сайте и перейлите по ссылке "GitHub Download v<version>". Скачиваем архив с исходниками:
- Перейдите в папку с исходниками:
cd ora2pg
Установите:perl Makefile.PL dmake dmake install
Примечание: Если dmake не найден, используйте gmake или nmake (входит в Strawberry Perl). - Проверка установки
ora2pg --version
Если команда возвращает версию — установка прошла успешно.
- 2 варианта для скачивания
- Скопируйте
tnsnames.ora
из вашего рабочего клиента или сервера базы данных Oracle. Подробнее что за файл и откуда брать: ссылка - Проверка подключения к Oracle
- Создайте конфигурационный файл ora2pg.conf или возьмите в шаблон из файлов где установлен ora2pg.
Пример минимальной конфигурации:# Set the Oracle home directory ORACLE_HOME <путь куда установлен Oracle клиент (к примеру @C:\app\product\12.1.0\dbhome_1@)> # Set Oracle database connection (datasource, user, password) ORACLE_DSN dbi:Oracle:host=<имя ПК в сети или его IP адрес>;service_name=<TNS имя вашего сервера>;port=<порт> ORACLE_USER omsk_adm ORACLE_PWD omsk_adm
- Создайте конфигурационный файл ora2pg.conf или возьмите в шаблон из файлов где установлен ora2pg.
- Конфигурация для подключения к Oracle
ORACLE_DSN = dbi:Oracle:host=oracle_host;sid=ORCL;port=1521
ORACLE_USER = your_oracle_username
ORACLE_PWD = your_oracle_password
2.2. Проверьте соединение с помощью команды:
bash
Копировать код
ora2pg -t SHOW_VERSION -c /путь/к/вашему/ora2pg.conf
или
bash
Копировать код
ora2pg -c /путь/к/вашему/ora2pg.conf -e "SELECT * FROM dual;"
Если соединение успешно, вы увидите ответ или версию базы данных.
2.3. Логика проверки:
Отсутствие ошибок в выводе.
Получение ожидаемых данных.
3. Проверка подключения к PostgreSQL
3.1. Создайте конфигурационный файл ora2pg.conf или используйте параметры командной строки.
Пример минимальной конфигурации:
Копировать код
- Конфигурация для подключения к PostgreSQL
PG_DSN = dbi:Pg:dbname=your_db;host=postgres_host;port=5432
PG_USER = your_postgres_username
PG_PWD = your_postgres_password
3.2. Проверьте соединение командой:
bash
Копировать код
ora2pg -t SHOW_VERSION -c /путь/к/вашему/ora2pg.conf
или выполните простую команду:
bash
Копировать код
ora2pg -c /путь/к/вашему/ora2pg.conf -e "SELECT version();"
Если соединение успешно, вы увидите версию PostgreSQL.
4. Общие рекомендации
Убедитесь, что драйверы установлены и доступны.
Проверьте сетевое подключение (ping, telnet) до серверов.
Внимательно изучите вывод ошибок — они подскажут причину проблем.
Для диагностики можно включить подробный лог:
ini
Копировать код
LOG_LEVEL = DEBUG
или добавить флаг -v при запуске.
Итог:
Если команды возвращают ожидаемые результаты без ошибок, значит подключение настроено правильно.
Если возникнут сложности — предоставьте вывод ошибок, я помогу их интерпретировать!
Обновлено BEA 1 день назад · 2 изменени(я, ий)