4.1. Использование #
Сначала необходимо убедиться, что пути ко всем библиотекам и двоичным файлам включают каталог установки Oracle Instant Client:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export PATH="/usr/lib/oracle/11.2/client64/bin:$PATH"
По умолчанию ora2pgpro выполняет поиск файла конфигурации /etc/ora2pgpro/ora2pgpro.conf, и если этот файл существует, достаточно выполнить команду:
/usr/local/bin/ora2pgpro
Если необходимо вызвать другой файл конфигурации, задайте путь в командной строке:
/usr/local/bin/ora2pgpro -c /etc/ora2pgpro/new_ora2pgpro.conf
Чтобы посмотреть все параметры командной строки, поддерживаемые ora2pgpro, обратитесь к ora2pgpro.
В случае успеха ora2pgpro возвращает 0, а в случае ошибки 1. Если дочерний процесс прерывается, возвращается 2 и выводится следующее предупреждение: «WARNING: an error occurs during data export. Please check what's happen.» (ПРЕДУПРЕЖДЕНИЕ: Во время экспорта данных произошла ошибка. Обратите внимание.) В большинстве случаев ошибка вызвана нехваткой памяти — попробуйте уменьшить значение DATA_LIMIT.
Обратите внимание, что производительность можно увеличить, обновив статистику в Oracle:
DBMS_STATS.GATHER_SCHEMA_STATS DBMS_STATS.GATHER_DATABASE_STATS DBMS_STATS.GATHER_DICTIONARY_STATS
Если заданы параметры --project_base и --init_project, ora2pgpro создаёт шаблон проекта, содержащий дерево проекта, файл конфигурации и скрипт для экспорта всех объектов из БД Oracle. Пример использования команды:
ora2pgpro --project_base /app/migration/ --init_project test_project Creating project test_project. /app/migration/test_project/ schema/ dblinks/ directories/ functions/ grants/ mviews/ packages/ partitions/ procedures/ sequences/ synonyms/ tables/ tablespaces/ triggers/ types/ views/ sources/ functions/ mviews/ packages/ partitions/ procedures/ triggers/ types/ views/ data/ config/ reports/ Generating generic configuration file Creating script export_schema.sh to automate all exports. Creating script import_all.sh to automate all imports.
При этом создаётся стандартный файл конфигурации, в котором можно задать параметры подключения к БД Oracle, и скрипт оболочки export_schema.sh. Каталог sources/ будет содержать код Oracle, каталог schema/ — код для портирования в Postgres Pro. Каталог reports/ будет содержать HTML-отчёты, которые помогают оценить стоимость миграции.
Если вы хотите использовать собственный файл конфигурации, укажите путь к нему в параметре -c. Допишите к имени файла суффикс .dist, чтобы добавить в него стандартные параметры конфигурации ora2pgpro, в противном случае файл будет копирован в исходном состоянии.
После установки подключения к БД Oracle можно выполнить скрипт export_schema.sh, чтобы экспортировать все типы объектов из БД Oracle и вывести файлы DDL в подкаталоги схемы. По завершении процесса, когда импортируемая схема будет проверена, будет выдана команда для последующего экспорта данных.
Можно загрузить созданные файлы DDL вручную или воспользоваться скриптом import_all.sh, чтобы импортировать файлы интерактивно. Если миграция не выполняется сразу, рекомендуется использовать эти скрипты.