Ora2Pg 工具介绍

文章目录

官方地址: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 中的配置选项,可以控制导出的内容和方式。

该工具支持以下功能:

  • 导出完整的数据库模式(表、视图、序列、索引),包括唯一建、主键、外键以及检查约束。
  • 导入用户/用户组的授权/权限。
  • 导出范围/列表/哈希分区以及它们的子分区。
  • 导出指定的表(通过指定表名)。
  • 将 Oracle 模式导出为 PostgreSQL 8.4+ 模式。
  • 导出预定义的函数、触发器、过程、包以及包体。
  • 导出表中的数据,支持添加 WHERE 条件导出指定数据。
  • 支持将 Oracle BLOB 对象导出为 PG BYTEA 数据。
  • 将 Oracle 视图导出为 PG 中的表。
  • 导出 Oracle 用户定义类型。
  • 提供一些基本的 PLSQL 代码到 PLPGSQL 代码的转换。
  • 支持各种平台。
  • 将 Oracle 数据表导出为 FDW 外部表。
  • 导出物化视图。
  • 显示关于 Oracle 数据库的详细报告。
  • Oracle 数据库迁移成本评估。
  • Oracle 数据库迁移难度评估。
  • 从文件中迁移 PL/SQL 代码的成本评估。
  • 从文件中迁移 Oracle SQL 查询的成本评估。
  • 生成用于 Pentaho Data Integrator(Kettle)的 XML 格式的 ktr 文件。
  • 将 Oracle Locator 和空间几何图形数据导入 PostGIS。
  • 将 DBLINK 导出为 Oracle FDW。
  • 将 SYNONYMS 导出为视图。
  • 将 DIRECTORY 导出为外部表或者 external_file 插件的目录。
  • 与 Oracle 数据库类似的完整 MySQL 导出。
  • 通过多个 PostgreSQL 连接并发处理多个 SQL 命令。
  • 执行 Oracle 与 PostgreSQL 数据库之间的差异测试。

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 数据库迁移报告示例。

人生本来短暂,你又何必匆匆!点个赞再走吧!

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...