一、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,执行命令:
- cpan
- get DBD::Oracle
- install 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命名文件的
原文链接:https://blog.csdn.net/weixin_36027342/article/details/126269538