繁体   English   中英

如何在 Windows 7 上安装 ora2pg?

[英]how to install ora2pg on windows 7?

我下载了可在线免费下载的 zip 文件,但我无法安装下载的文件并运行该文件,请任何人帮我在我的 Windows 机器上安装 ora2pg。

简介: 我不得不将几个表从 Oracle 数据库迁移到 PostgreSQL,以便我的本地开发团队处理应用程序的几个模块。

如何? 为了节省时间,我在 postgreSQL 博客上做了一些研究,找到了一个工具 ora2pg 工具。 如博客中所述,此工具在 UNIX 上效果最佳。 但是当你的 PostgreSQL 在 windows 系统上时,会有相当大的挑战。

挑战:

  • 在 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 库 - Internet 是必须的

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

在 PostgreSQL 中运行生成的 DDL 语句来创建表的结构 现在再次编辑 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. http://sourceforge.net/projects/ora2pg/下载最新版本的 ora2pg 并运行以下命令:

     tar -xvf ora2pg-18.0.tar cd ora2pg-18.0/ perl Makefile.PL su root make make install
  4. 按照 req 进行更改默认情况下,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

希望这会奏效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM