Как установить ora2pg на windows 7?

Я скачал zip-файл, который был доступен онлайн для бесплатной загрузки, но я не могу установить загруженный файл и запустить его, может кто-нибудь, пожалуйста, помогите мне установить ora2pg на моем компьютере с Windows, пожалуйста.

1 ответ

Резюме: мне пришлось перенести несколько таблиц из базы данных Oracle в PostgreSQL, чтобы моя местная команда разработчиков работала над несколькими модулями приложения.

Как? Чтобы сэкономить время, я провел небольшое исследование в блогах postgreSQL и нашел инструмент ora2pg. Этот инструмент лучше всего работает в UNIX, как описано в блоге. Но есть и хорошие проблемы, когда ваш PostgreSQL работает в системе Windows.

Вызов:

  • Установите Perl 5.0 на Windows
  • Установите библиотеки Oracle DBD для Perl на Windows
  • Структура таблиц должна существовать до запуска инструмента
  • Пакет Oracle "Администратор" для установки на Windows.

Действие:

Предпосылки:

Монтаж:

В cmd на ваших окнах. Убедитесь, что у вас есть подключение к интернету:

cd <un tarred location>\ora2pg-15.2
perl Makefile.PL

dmake && dmake install

Set the environment variables:
Set ORACLE_HOME=<ORACLE_CLIENT_SOFTWARE_LOCATION>

Set LD_LIBRARY_PATH=<ORACLE_CLIENT_HOME>/lib

Установите библиотеки DBD::Oracle - Интернет необходим

perl -MCPAN -e "install DBD::Oracle"
  • Файл конфигурации создается по умолчанию в C:\ora2pg
  • Скопируйте файл конфигурации шаблона в исходное имя файла и отредактируйте
  • Скопируйте ora2pg_dist.conf в ora2pg.conf

Отредактируйте файл конфигурации, как в примере, который я использовал для одной таблицы:

ORACLE_HOME          C:\oracle\app\yaddanap\product\11.2.0\client_1
ORACLE_DSN  dbi:Oracle:host=172.31.232.253;sid=SUPLINUX
ORACLE_USER            system
ORACLE_PWD 1qaz2wsx!
USER_GRANTS     0
DEBUG                        0
EXPORT_SCHEMA       0
SCHEMA                      DB000001
CREATE_SCHEMA       0
COMPILE_SCHEMA     0
EXPORT_INVALID        0
TYPE                TABLE
ALLOW                        SL_01_DEPOS
DATA_LIMIT    150000
PG_DSN                       dbi:Pg:dbname=Drive1;host=localhost;port=5432
PG_USER                     kcc
PG_PWD                      kcc123
PRESERVE_CASE         0
BZIP2
GEN_USER_PWD         0
FKEY_DEFERRABLE     0
DEFER_FKEY    0
DROP_FKEY     0
DROP_INDEXES           0
PG_NUMERIC_TYPE    1
PG_INTEGER_TYPE     1
DEFAULT_NUMERIC bigint
KEEP_PKEY_NAMES 0
DISABLE_TRIGGERS 0
NOESCAPE       0
DISABLE_SEQUENCE   0
PLSQL_PGSQL 1
ORA_RESERVED_WORDS       audit,comment
FILE_PER_CONSTRAINT          0
FILE_PER_INDEX                     0
FILE_PER_TABLE         0
TRANSACTION committed
PG_SUPPORTS_WHEN                        1
PG_SUPPORTS_INSTEADOF    1
FILE_PER_FUNCTION  0
TRUNCATE_TABLE      0
FORCE_OWNER          0
STANDARD_CONFORMING_STRINGS 1
JOBS                1
ORACLE_COPIES         1
PARALLEL_TABLES      1
ALLOW_CODE_BREAK            1
XML_PRETTY   0
DISABLE_COMMENT         0
USE_RESERVED_WORDS        0
PKEY_IN_CREATE                    0
NULL_EQUAL_EMPTY 1
EXTERNAL_TO_FDW               1
ESTIMATE_COST                     0
COST_UNIT_VALUE                 5
DUMP_AS_HTML                    0
STOP_ON_ERROR                   1
TOP_MAX                                10
ALLOW_PARTITION                PARTNAME
USE_TABLESPACE                   0
PG_SUPPORTS_MVIEW          1
REORDERING_COLUMNS       0
SYNCHRONOUS_COMMIT      0
PG_SUPPORTS_CHECKOPTION           0
AUTODETECT_SPATIAL_TYPE 1
CONVERT_SRID                       1
DEFAULT_SRID                        4326
GEOMETRY_EXTRACT_TYPE  WKT
PREFIX_PARTITION     0
LOG_ON_ERROR                    0
PG_SUPPORTS_IFEXISTS         1
WITH_OID                   0

запустите ora2pg сейчас:

c:\ora2pg>ora2pg -c ora2pg.conf

Запустите сгенерированный оператор DDL в PostgreSQL, чтобы создать структуру таблицы. Теперь отредактируйте файл ora2pg.conf в одном поле, как показано ниже, чтобы скопировать данные.

 TYPE                TABLE,INSERT

Перезапустите инструмент ora2pg, и вы увидите, что данные объединены.

c:\ora2pg>ora2pg -c ora2pg.conf

[========================>] 953/906 rows (105.2%) Table SL_01_DEPOS (952.9 recs/sec)

[========================>] 906/906 rows (100.0%) on total data (avg: 905.9 rec/sec

Я поделился пошаговой установкой LINUX, выполните только уважаемую команду Windows, она определенно сработает. Действия перед установкой:

  1. Клиент ORACLE должен быть установлен и ORACLE_HOME должен быть установлен.
  2. Установите perl (версия 5.6 и выше)

Шаги установки:

  1. Установить DBI (модуль интерфейса базы данных)

    apt-get install cpanminus (for ubuntu)
    yum install cpanminus (for Linux)
    cpanm DBI
    
  2. Установите DBD::Oracle и DBD::Pg

    cpanm DBD::Oracle
    cpanm DBD::Pg
    
  3. Загрузите последнюю версию ora2pg с http://sourceforge.net/projects/ora2pg/ и выполните следующие команды:

    tar -xvf ora2pg-18.0.tar
    cd ora2pg-18.0/
    perl Makefile.PL
    su root
    make
    make install
    
  4. Внесите изменения согласно требованиям. По умолчанию Ora2Pg будет искать файл конфигурации ora2pg.conf в каталоге /etc/ora2pg/.

    ORACLE_HOME /app/oracle/product/11.2.0
    ORACLE_DSN dbi:Oracle:host=[hostname];sid=[SID name]
    ORACLE_USER [SYSTEM]
    ORACLE_PWD [password]
    USER_GRANTS 1
    
  5. Проверьте версию pra2pg:

    ora2pg SHOW_VERSION
    
  6. Запустите команду ниже

    ora2pg -c /etc/ora2pg/ora2pg.conf
    ora2pg -c /etc/ora2pg/ora2pg.conf -p -P 10 -J 10 -L 1000000
    
  7. .sql файл будет создан в текущем каталоге, преобразовали данные в PostgreSql

Надеюсь, это сработает.

Другие вопросы по тегам