首页 > 数据库 >Oracle转Poatgresql,ora2pg工具安装使用

Oracle转Poatgresql,ora2pg工具安装使用

时间:2022-10-09 20:46:49浏览次数:40  
标签:ora2pg 导出 视图 TEST Poatgresql Oracle 安装

一、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

标签:ora2pg,导出,视图,TEST,Poatgresql,Oracle,安装
From: https://www.cnblogs.com/yyl001/p/16773594.html

相关文章

  • oracle内存管理
    关于内存管理必须管理的内存结构是系统全局区(SGA)和实例程序全局区(instancePGA)。Oracle数据库支持各种内存管理方法,这些方法由初始化参数设置选择。 自动内存管理Or......
  • 分享一个查看分析Oracle表空间使用情况的脚本
    个人一直使用下面这个脚本查看、分析Oracle数据库表空间的使用情况,这个脚本经过我不断的调整、完善,已经接近完美了。已经很长时间没有改动过了,个人累积的脚本名为get_table......
  • oracle---exp/imp
    exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBKexp'test/"test@#1234"@orcl'file=/home/oracle/bak/data.dmpowner=testlog=/home/oracle/bak/exp.logbuffer=1024000......
  • camunda_15_oracle
    按照Camunda官方文档,生产环境优先推荐Oracle和Postgresql,当然MySQL和SQLServer也是支持的.官方参考架构文档前面博文已经介绍了使用Postgresql作为数据库,camund......
  • 【转载】分享一个查看分析Oracle表空间使用情况的脚本
    该脚本来自潇湘隐者的公众号,虽然目前不管理oracle数据库了,但是可以用作学习使用。 个人一直使用下面这个脚本查看、分析Oracle数据库表空间的使用情况,这个脚本经过我不......
  • oracle语句的执行顺序
    查询语句的执行顺序:1、FROM子句:执行顺序为从后往前、从右到左。数据量较少的表尽量放在后面。2、WHERE子句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条......
  • 使用OPatch给Oracle打补丁
    查看数据库版本方法如下:以oracle用户登录数据库,查看数据库版本。$sqlplus/assysdbaSQL>select*fromv$version;输出信息包含如下类似信息。BANNER------------------......
  • oracle 用户权限
    使用sys用户登录select*fromdba_users;查询数据库中的所有用户select*fromdba_roles;查询数据库中的所有角色select*fromdba_sys_privs;查询数据库中的所有用......
  • docker/docker-compose安装Oracle11gr2
    docker/docker-compose安装Oracle11gr2使用镜像wnameless/oracle-xe-11g-r2(Oracle12c使用absolutapps/oracle-12c-ee)登录用户密码sys/oracle实例信息XE查询镜像:dock......
  • Oracle 查询及删除重复数据
    文章转自:划边逅SQL重复记录查询1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpeopleIdfromp......