Centos7 被停用!如何利用 Ora2Pg 将 Oracle 迁移至 IvorySQL?

Windows下Ora2Pg(Oracle到PostgreSQL迁移工具)的安装配置及使用教程 Ora2Pg是用Perl语言编写的Oracle到PostgreSQL数据库迁移工具,借助Ora2Pg,我们能够轻松的完成通常繁琐的数据库迁移工作,大大提高我们开发生产效率 阅读详情

在过去的社区讨论中,想要使用或正在使用IvorySQL的社区用户,经常问到Oracle 如何迁移到 IvorySQL 中,而且近期随着 Centos7 官方已经停止维护,这一变动促使了很多将 Oracle 部署在 Centos7 上的 Oracle 用户,开始准备 Oracle 数据库的迁移工作。本文将通过介绍 Ora2Pg 工具的安装步骤及使用方法,为 Oracle 数据库迁移到IvorySQL提供一套清晰、可行的操作指南。

1 Ora2Pg 简介

Ora2Pg 是一款专门用于将 Oracle 数据库迁移到 PostgreSQL上的开源工具。而IvorySQL基于PostgreSQL开发,也同样适配Ora2Pg。

Ora2Pg由一个Perl 脚本(ora2pg)以及一个Perl 模块组成。https://github.com/darold/ora2pg/blob/master/lib/Ora2Pg.pm[Ora2Pg.pm]

使用Ora2Pg时唯一需要做的事情就是修改它的配置文件 ora2pg.conf,设置连接 Oracle 数据库的 DSN 和一个可选的 SCHEMA 名称。

完成之后,只需要设置导出的类型:TABLE(包括约束和索引)、VIEW、MVIEW、TABLESPACE、SEQUENCE、INDEXES、TRIGGER、GRANT、FUNCTION、PROCEDURE、PACKAGE、PARTITION、TYPE、INSERT 或 COPY、FDW、QUERY、KETTLE 以及 SYNONYM。

默认情况下,Ora2Pg 会导出一个 SQL语句的 文件,可以通过 IvorySQL 客户端工具 psql 执行导出SQL文件。当进行数据迁移时,可以在配置文件中设置一个目标数据库的 DSN,直接将数据从Oracle导入到 IvorySQL 数据库中。

2 Ora2Pg 安装

数据库部署环境:

Linux环境

Oracle版本

IvorySQL版本

Centos 7.9

19.0.0.0

\

Ubuntu 24.04(Docker25.0.4)

\

3.2

2.1 yum安装perl、perl相关模块及其他工具

yum install -y perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker bzip2

2.2 下载编译安装DBI

wget 

https://mirrors.sjtug.sjtu.edu.cn/cpan/modules/by-module/Plack/TIMB/DBI-1.643.tar.gz

tar zxvf DBI-1.643.tar.gz

cd DBI-1.643/

perl Makefile.PL

make && make install

2.3 下载编译安装 DBD-Oracle

wget --no-check-certificate 

https://www.cpan.org/modules/by-module/DBD/DBD-Oracle-1.76.tar.gz

export LD_LIBRARY_PATH=/opt/oracle/product/19c/dbhome_1/lib:$LD_LIBRARY_PATH

export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1

tar -zxvf DBD-Oracle-1.76.tar.gz

cd DBD-Oracle-1.76

perl Makefile.PL

make && make install

2.4 下载编译安装 Ora2Pg

进入 

https://sourceforge.net/projects/ora2pg/ 

下载ora2pg-24.0.tar.bz2

tar -xjf ora2pg-24.0.tar.bz2

cd ora2pg-24.0

perl Makefile.PL

make && make install

3 Ora2Pg 工具使用

3.1 修改ora2pg.conf

cat /etc/ora2pg/ora2pg.conf.dist | grep -v ^# |grep -v ^$ >ora2pg.conf

vim ora2pg.conf

根据自己Oracle数据库信息,在ora2pg.conf修改信息,包括host,sid,port,用户名、密码,SCHEMA等,如下图所示。

图片

3.2 确认信息填写正确

信息修改完成后,通过查看oracle数据库版本号,确认ora2pg.conf可以使用

ora2pg -t SHOW_VERSION -c ora2pg.conf

图片

3.3 评估迁移成本

在数据库迁移过程中,评估迁移成本非常重要,而Ora2Pg拥有评估迁移成本的功能。

在评估过程中,Ora2Pg会检查所有数据库对象,所有函数和存储过程,以检测是否仍有一些对象和PL / SQL代码无法由Ora2Pg自动转换,最终,通过内容分析模式,生成有关Oracle数据库包含的内容和无法导出的内容的文本报告。

导出数据评估报告命令如下:

ora2pg -t SHOW_REPORT --estimate_cost -c ora2pg.conf

图片

3.4 查询源端对象类型,修改ora2pg.conf

select distinct OBJECT_TYPE from dba_objects where OWNER = 'BALINOR';

图片

通过Ora2Pg导出类型文档 

https://ora2pg.darold.net/documentation.html#Oracle-schema-to-export

修改ora2pg.conf

图片

3.5 开始数据库导出

使用导出命令,对数据库进行导出操作,命令如下:

ora2pg -c ora2pg.conf

导出成功后,将产生如下文件。

图片

之后,我们还需要对表中数据进行导出

vim ora2pg.conf

按下图标记处内容进行修改即可

图片

执行导出命令

ora2pg -c ora2pg.conf

图片

至此,所有数据均已导出,导出文件为:DATA_output.sql,FUNCTION_output.sql, PROCEDURE_output.sql,TABLE_output.sql,VIEW_output.sql

4

完成数据库迁移

在已经安装IvorySQL数据库的服务器上,对导出文件进行解压。

图片

4.1 迁移前准备

连接IvorySQL数据库,创建一个orcl数据库,并创建一个balinor的用户。

图片

4.2 导入表结构

psql orcl -U ivorysql -h 127.0.0.1 -p 1524

-f ./TABLE_output.sql

图片

4.3 导入数据

psql orcl -U ivorysql -h 127.0.0.1 -p 1524 -f ./DATA_output.sql

图片

4.4 导入存储过程

psql orcl -U ivorysql -h 127.0.0.1 -p 1524 -f ./PROCEDURE_output.sql

图片

4.5 导入函数

psql orcl -U ivorysql -h 127.0.0.1 -p 1524 -f ./FUNCTION_output.sql

图片

4.6 导入视图

psql orcl -U ivorysql -h 127.0.0.1 -p 1524 -f ./VIEW_output.sql

图片

4.7 检查迁移结果

在IvorySQL中,查看迁移的Table,View并测试Procedure,Function,均获得到正确结果。

图片

图片

图片

图片

至此,利用Ora2Pg工具将Oracle迁移到IvorySQL工作已经完成。

使用ora2pg 迁移oracle12.2到postgresql14.6 导入数据的sql默认是最后提交commit,如果前面的事务INSERT失败,后面的都会失败,所以可以在每个insert事务后面添加commit,这样保证每个事务的提交是独立的,即使报错也不影响其他事务数据的提交。默认情况下,Ora2Pg会查找/etc/ora2pg/ora2pg.conf配置文件,如果文件存在,只需执行:/usr/local/bin/ora2pg,也可以通过-c选项指定配置文件路径,如:ora2pg -c ~/ora2pg/config/ora2pg.conf。 阅读详情

相关推荐

ora2pg使用指南1

1、导出整个数据库模式(表、视图、序列、索引),以及唯一性,主键、外键和检查约束 2、导出用户和组的授权/权限 3、导出筛选的表(通过制定表明) 5、导出预定义

Oracle转Poatgresql,ora2pg工具安装使用

​ 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 安装完后会有提示执行命令: ​

yeliner的博客 3084

【图形学】Loop细分算法及半边结构实现(C++)

文章目录Loop 细分算法介绍增加新顶点更新旧顶点算法实现半边结构半边结构的表示方法半边结构的构造方法创建所有顶点创建所有面及半边半边结构的使用 Loop 细分 顾名思义,网格细分是将粗糙网格精细化的过程,如下动图。Loop细分是众多网格细分算法的一种,Loop细分仅仅对三角形网格模型有效。值得注意的是,虽然叫Loop细分,但是不能理解为“循环”细分,叫这个名字是因为作者的名字是这个而已。 下面是一个粗糙的兔子模型1000个面,进行3次细分 算法介绍 Loop细分算法主要分两步进行 增加新顶点:增加

wk_119的博客 8067

postgresql|数据库|数据迁移神器ora2pg的安装部署和初步使用

有的时候有需求需要迁移Oracle数据库的数据到postgresql,那么,其实可供选择的工具是比较多的,但从迁移效率,准确度这些角度来选择的话,无疑还是GitHub上的开源免费工具ora2pg比较合适的。 ora2pg的优点是免费,迁移速度快,迁移数据准确,部署简单,快速 下面将介绍如何在A服务器 centos7下面部署安装ora2pg,在另一台服务器B上通过docker安装部署一个Oracle,并简单的写一些数据

zsk_john的技术分享专用博客 6350

git连接华为软件开发云

我用的是github客户端的git shell 连接。用git bash也可以github客户端下载地址:https://desktop.github.com/1.在华为软件开发云上创建代码仓库2.在本地创建密钥SSH密钥帮助文档公钥是代码托管服务(CodeHub)识别您的用户身份的一种认证方式,通过公钥,您可以将本地git项目与代码托管服务(CodeHub)建立联系, 然后您就可以很方便的将本地...

sigmeta的博客 2114

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 415

ora2pg安装和使用

文章目录官方文档特性安装(ubuntu18.04/Redhat7.5)安装说明依赖安装安装Ora2pgOracle迁移导出SQL文件修正SQL文件附录:类型转换记录MySQL迁移修改配置文件导出SQL文件修正SQL文件附录amend_mysql2pg_sql.py官方文档学习笔记帮助文档CONF文件连接配置相关兼容类参数导出类型导出文件配置其他一些有用的参数数据类型转换相关 官方文档 http://ora2pg.darold.net/ http://ora2pg.darold.net/documentati

失语者的专栏 6302

【tio-websocket】15、学习tio的第1步—tio-study

tio-study 是用于学习 t-io 的示范工程,tio-study 是入门 t-io 最好的方式!tio-study 工程演示的是一个典型的 TCP 长连接应用工程,分为 server(服务端) 和 client(客户端) 工程,server 和 client 共用 common(公共模块) 工程

JACKAL 1万+

迁移数据库 oracle到PG之ora2pg的使用

oracle 迁移数据库到postgresql, ora2pg 的安装和使用

qq_43763262的博客 2986

Dify 第 10 篇 Dify 知识库手把手案例

本文介绍了如何利用Dify平台构建《阿里巴巴Java开发手册》智能助手。首先详细讲解了知识库创建的完整流程,包括文档上传、分段设置(推荐父子分段+段落上下文)、索引方式选择(高质量+混合检索)等关键步骤。随后指导用户进行分段质量检查和召回测试,强调TopK和Score参数的调优策略。接着演示了Chatflow应用开发过程,通过知识检索节点和LLM节点的配置,实现从知识库智能获取答案的功能。最后展示了应用发布和实际使用效果,成功实现了基于知识库的问答交互。案例采用DeepSeek-R1大模型,并支持答案引用显

甘蓝的专栏 1718

Eclipse邂逅Deepseek:本地化部署全攻略

通过前面一系列的步骤,我们成功地在 Eclipse 中完成了 Deepseek 的本地化部署,并且对部署后的功能进行了测试和优化,还解决了可能遇到的一些常见问题。这一过程不仅让我们体验到了将强大的大语言模型与高效的开发环境相结合的魅力,也为我们在软件开发过程中带来了诸多便利。本地化部署 Deepseek 到 Eclipse,使得我们在代码编写过程中能够获得智能的代码补全和精准的问答支持,大大提高了开发效率。同时,本地化部署保障了数据的安全性和隐私性,避免了数据在传输过程中可能面临的风险。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4523

ora2pg使用

本文介绍ora2pg迁移到pg12的用法。

w345731923的专栏 1841

发那科机器人karel程序

备份和查看发那科机器人中的 Karel 程序的过程主要包括从示教器中备份程序,并通过 RoboGuide 等仿真软件查看和运行程序。步骤相对简单,但需要确保你的设备和软件已经设置好,可以通过 FTP 或直接从示教器的外部存储设备进行操作。如果你在操作过程中遇到问题,建议查阅相关的用户手册或联系发那科的技术支持,确保设备设置正确。如果你有更具体的问题或需要进一步帮助,欢迎继续提问!希望如上措施及解决方案能够帮到有需要的你。

**My Coding Family** 1604

Ora2pg安装与使用

目录安装oracle客户端安装依赖在root下配置环境变量安装 DBD-Oracleora2pg安装检查是否安装成功配置配置文件oracle导表gp创建测试表导出ORACLE表结构和数据将导出的表结构和数据导入GP参考文章 安装oracle客户端 在gp数据库的master节点安装oracle客户端,安装过程如下。 linux(CentOS7.6)安装ORACLE客户端 安装依赖 [root@mdw admin]# yum install perl-DBI perl-DBD-Pg perl-ExtUti

qq_33445829的博客 2161

加密算法:深度解析Ed25519原理

在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。

盹猫的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【亲测免费】 Ora2Pg安装与配置完全指南

**Ora2Pg** 是一款高效的开源工具,专门用于将Oracle数据库迁移至PostgreSQL兼容模式。这款神器以Perl语言编撰,无需深入理解Oracle的复杂性,仅需基本的配置就能实现从Oracle向PostgreSQL的数据和结构迁移。它自动连接Oracle数据库,扫描并抽取其结构和数据,进而生成能够在PostgreSQL中导入的SQL脚本。 ## 关键技术和框架 - **核心语言*...

gitblog_09570的博客 1096

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Ora2pg 把oracle数据导入到postgres

如果已经安装了oracle的,直接用root设定Oracle_Home。创建迁移模板需要 --project_base and --init_project 这两个参数。oracle官网下载basic、devel、sqlplus三个rpm包。提取oracle用户自定义的格式。OUTPUT output.sql #导出的文件名。OUTPUT data.sql #导出的数据文件名。提取所有包括索引、主键、唯一键、外键和检查约束的表。提取在所有对象中转换为pg组、用户和权限的用户。

jnrjian的博客 2529

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

使用ora2pg工具迁移数据库

ora2pg本地部署导出导入数据

weixin_43925148的博客 739

使用Ora2Pg迁移Oracle数据到openGauss

设置与 Oracle 数据库的连接后,可以执行脚本export_schema.sh 该脚本将从 Oracle 数据库导出所有对象类型,并将 DDL 文件输出到架构的子目录中。这将把Ora2Pg.pm安装到站点Perl存储库中,Ora2Pg安装到/usr/local/bin/中,Ora2Pg.conf安装到/etc/Ora2Pg/中。或者只需从 Oracle 下载中心下载相应的 ZIP 存档并将它们安装在您想要的位置,例如:/opt/oracle/instantclient_12_2/该选项支持多次设置。

yzq280736579的博客 786

数据大挪移之ora2pg使用指南

ora2pg是一款免费的小工具,用于将Oracle数据库迁移到PostgreSQL。ora2pg通过自动扫描oracle数据库获取表结构以及数据,然后生成PostgreSQL数据库的SQL脚本或者直接在PostgreSQL上创建表并插入数据。而且它还支持视图、序列以及分区表,其功能非常强大。这里有一个120G左右的oracle 11g测试库,因业务需求将其迁移至PostgreSQL 10.6。 一...

weixin_34220834的博客 3243

ora2pg使用教程

简 介公众号 BigDataTechnology 后台回复: ora2pg 赠送ora2pg参数解释中文版以及安装集成包。 在现在开源工具中、去O化最好的工具就是ora2pg了,在当下的去O环境中,使用面也是比较广泛。 其功能性也很全面。支持oracle多种object的迁移如:TABLE with constraints...

Java_fenxiang的博客 1265

Ora2Pg简介和安装

ora2pg的简介和安装内容简介ora2pg是什么安装所需的准备安装步骤 内容简介 本文将介绍一款从oracle数据库迁移数据至postgres、greenplum数据库的工具的简介和安装。 ora2pg是什么 Ora2Pg是一个免费工具,用于将Oracle或MySQL数据库中数据迁移到PostgreSQL。它连接Oracle数据库,自动扫描并提取其结构或数据,然后生成可以加载到PostgreSQ...

dayeren02的博客 2514

Win10 64位ora2pg的安装配置和使用

1、首先下载最新ora2pg的安装包,地址http://sourceforge.net/projects/ora2pg/ 2、在windows10上安装perl,下载地址https://strawberryperl.com/ 3、解压缩下载的ora2pg压缩包; 4、在cmd中切换到解压目录; 5、执行perl Makefile.PL 6、安装完后会有提示执行命令:gmake && gmake install 7、安装oracle驱动DBD::Oracle,执行命令:cpan

fsj的专栏 5123

Ora2Pg安装配置

 说明 该文档为简单的Ora2Pg安装配置使用说明文档,主要涵盖安装前其它组件的安装、Ora2Pg安装、配置以及利用Ora2Pg从Oracle生成sql脚本,利用sql脚本导入PostgreSQL数据库中。 Ora2Pg是以perl开发的perl模块工具,为使安装能够顺利通过,在安装Ora2Pg之前必须先确保系统已经安装了perl模块以及DBI、DBD::Oracle模块。若需要直接导入

连顺科 7760

ORACLE 迁移到 PG 之 ora2pg

1 ORACLE 迁移到 PG 1.1 使用ora2pg 工具 1.1.1 ora2pg简介 Ora2Pg是一个免费的工具,用于将Oracle数据库迁移到PostgreSQL兼容的模式。它连接您的Oracle数据库,自动扫描并提取它的结构或数据,然后生成可以装载到PostgreSQL数据库的SQL脚本。Ora2Pg可以从逆向工程Oracle数据库到大型...

weixin_30404405的博客 1403
上一篇: 了解 PostgerSQL 的门户 – Executor vs Process Utility
下一篇: 版本发布 | IvorySQL 3.3 发版
IvorySQL
博客等级 码龄5年 745粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值