官方地址:http://ora2pg.darold.net
Ora2Pg 是一个免费工具,用于将 Oracle 或者 MySQL 数据库迁移到 PostgreSQL。它通过连接 Oracle 数据库,执行自动扫描并且提取数据库的结构和数据,然后生成相应的 SQL 脚本。这些脚本可以用于将数据库结构和数据导入 PostgreSQL 之中。
Ora2Pg 可以用于各种场景,小到 Oracle 数据库的反向工程,大到大型企业数据库迁移,或者简单地将一些 Oracle 数据复制到 PostgreSQL 数据库。它非常简单易用,甚至不需要任何 Oracle 数据库的相关知识,只需要提供连接到 Oracle 数据库的配置参数。
Ora2Pg 由一个 Perl 脚本(ora2pg)以及一个 Perl 模块(Ora2Pg.pm)组成,唯一需要做的事情就是修改它的配置文件 ora2pg.conf,设置连接 Oracle 数据库的 DSN 和一个可选的模式名称。完成之后,只需要设置导出的类型:TABLE(包括约束)、VIEW、MVIEW、TABLESPACE、SEQUENCE、INDEXES、TRIGGER、GRANT、FUNCTION、PROCEDURE、PACKAGE、PARTITION、TYPE、INSERT 或 COPY、FDW、QUERY、KETTLE 以及 SYNONYM。
默认情况下,Ora2Pg 导出一个文件,可以通过 psql 客户端将文件加载到 PostgreSQL 数据库;但是也可以在配置文件中设置一个数据库的 DSN,直接导入 PostgreSQL 数据库。通过 ora2pg.conf 中的配置选项,可以控制导出的内容和方式。
该工具支持以下功能:
Ora2Pg 尽量自动将 Oracle 数据库转换为 PostgreSQL 数据库,但是仍然需要手动完成某些工作。 Oracle 特定的 PL/SQL 代码,包括函数、过程、包和触发器都需要进行检查,确认转换之后能够符合 PostgreSQL 语法标准。在"Converting from other Databases to PostgreSQL" 页面中的 Oracle 部分可以找到关于将 Oracle PL/SQL 代码移植到 PostgreSQL PL/PGSQL 代码的一些有用信息。
http://ora2pg.darold.net/report.html 页面给出了一个 Oracle 数据库迁移报告示例。
人生本来短暂,你又何必匆匆!点个赞再走吧!