一、ora2pg:
ora2pg工具可以将oracle的结构转为postgresql格式,可以配置Oracle的模式导出、客户端编码、导出类型、ora2pg中使用的数据类型转换等,最终输出为sql文件,在postgresql中运行即可。
二、安装依赖
1、在windows10上安装perl,下载地址Strawberry Perl for Windows
2、下载最新ora2pg的安装包,地址ora2pg download | SourceForge.net
3、安装oracle instantclient,Instant Client for Microsoft Windows (x64) 64-bit
三、安装步骤
1、解压缩下载的ora2pg压缩包;
2、在cmd中切换到解压目录;
执行perl Makefile.PL
安装完后会有提示执行命令:dmake && dmake install
然后再执行命令:gmake && gmake install

3、安装Oracle 【网上有很多教程啦】
4、驱动DBD::Oracle,执行命令:
5、修改配置文件c:\ora2pg\ora2pg_conf.dist
- # 设置Oracle主目录:Oracle的安装目录
- ORACLE_HOME c:\instantclient_11_2
-
- # 设置Oracle数据库连接(数据源、用户、密码)
- ORACLE_DSN dbi:Oracle:host=192.168.140.23;sid=orcl;port=1521
- ORACLE_USER test
- ORACLE_PWD testpwd
-
- # 要使用的 Oracle 模式/所有者
- #SCHEMA TEST
-
- # EXPORT SECTION(导出类型和过滤器)
- # 导出类型。值可以是以下关键字:
- # TABLE 导出表、约束、索引...
- #PACKAGE 导出包
- # INSERT 从表中导出数据作为 INSERT 语句
- # COPY 将表中的数据导出为 COPY 语句
- # VIEW 导出视图
- # GRANT 导出授权
- # SEQUENCE 导出序列
- # TRIGGER 导出触发器
- # FUNCTION 导出函数
- # PROCEDURE 导出程序
- # TABLESPACE 导出表空间(仅限 PostgreSQL >= 8)
- # TYPE 导出用户定义的 Oracle 类型
- # PARTITION 导出范围或列表分区 (PostgreSQL >= v8.4)
- # FDW 导出表作为外部数据包装表
- # MVIEW 将物化视图导出为快照刷新视图
- # QUERY 从文件转换 Oracle SQL 查询。
- # KETTLE 生成 Kettle 使用的 XML ktr 模板文件。
- # DBLINK 生成 oracle 外部数据包装服务器以用作 dblink。
- # SYNONYM 将 Oracle 的同义词导出为其他模式对象的视图。
- # DIRECTORY 将 Oracle 的目录导出为 external_file 扩展对象。
- # LOAD 通过多个 PostgreSQl 连接调度查询列表。
- # TEST 执行 Oracle 和 PostgreSQL 数据库之间的差异。
- # TEST_COUNT 只在 Oracle 和 PostgreSQL 表之间执行行计数。
- # TEST_VIEW 对视图返回的行数两边进行计数
- # TEST_DATA 对两边的行进行数据验证检查。
- TYPE TABLE,VIEW,SEQUENCE,TRIGGER,FUNCTION,PROCEDURE
-
-
- #设置从哪个对象导出
- #ALLOW TABLE_TEST
-
-
- # 导出文件存储位置
- OUTPUT C:\output.sql
-
- # 必须写入所有转储文件的基本目录
- # OUTPUT_DIR /var/tmp
6、执行导出语句: ora2pg -c c:\ora2pg\ora2pg_conf.dist
注意:如果type设置为多个时,output不能写具体的是哪个目录,因为导出多个type时,是以type_output.sql命名文件的