彩票走势图

Devart数据库工具【教程】:将数据从Oracle迁移到PostgreSQL数据库(上)

翻译|使用教程|编辑:吴园园|2020-04-14 10:40:02.993|阅读 797 次

概述:将数据从Oracle迁移到PostgreSQL数据库。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

dbForge Studio for PostgreSQL是一个用于开发和管理PostgreSQL数据库的GUI工具。PostgreSQL的IDE允许用户创建、开发和执行查询、编辑和调整代码,设计数据感知报告和图表,在方便和用户友好的界面中导入和导出数据。

点击下载dbForge Studio for PostgreSQL最新版

您可能出于以下几个原因将数据库从Oracle迁移到PostgreSQL:

  1. Oracle可能非常昂贵,其中一些重要功能需要在此之上进行额外投资。
  2. PostgreSQL提供了方便而强大的开源许可,包括各种免费的附加组件,可以帮助提高性能并扩展数据库的功能。
  3. PostgreSQL的语言可能更易于使用(例如,它处理数据类型的方式),或者您发现它比Oracle的语言更受欢迎。

许多其他方面也可以帮助您做出决定。但是,如果您已经确定必须迁移到PostgreSQL,则需要牢记一些注意事项。

要了解的最重要的一点是,没有任何工具可以帮助您完全自动化迁移过程。由于两种环境的工作方式存在许多差异,因此必须手动执行其中的某些部分。

 其次,虽然较小的数据库(大小不超过100GB)可以相对轻松地迁移,但是如果要确保大型数据库在迁移过程中不会花费大量时间和资源,则将需要使用其他方法。具体来说,在这种情况下,最好使用基于日期的分区–这将大大有助于数据处理。

有了这些信息,下面是描述在迁移数据之前需要检查的内容的步骤:

1、初步检查

找出确切需要迁移的内容–找到并排除所有不必要复制的数据,例如旧备份和过时的临时表。

2、评估迁移

分析应用程序和数据库中的对象,查找数据库之间的差异,并将数据导出到迁移报告中,以了解迁移过程的估计时间和资源使用量。像Ora2pg这样的工具将极大地帮助这一步。

3、映射数据类型

与Oracle数据类型相比,PostgreSQL中的数据类型具有一些差异。因此,在大多数情况下,需要进行一些转换。这是这两种环境中使用的一些数据类型的比较表:

4.交易

Oracle和PostgreSQL中的事务以略有不同的方式实现。任何执行的语句将触发Oracle中的事务,而COMMIT语句将结束事务。在PostgreSQL中,在激活事务之前需要一个BEGIN语句。

在环境之间移植代码时,这可能会导致其他工作。

5.其他技术差异

在迁移过程中需要考虑的一些最重要的差异是:

  • È MPTY字符串和NULL -在PostgreSQL,在IS上一个空字符串一起使用时,而在甲骨文它产生TRUE在这种情况下操作者NULL产生一个FALSE。
  • 双表– Oracle数据库的每个SELECT语句都需要FROM子句,因此将DUAL表用于此类语句。另一方面,在PostgreSQL中,不需要FROM子句(以及扩展的DUAL表)。
  • DELETE语句–与Oracle中不同,PostgreSQL中的DELETE语句仅与FROM子句一起使用。
  • SUBSTR –此函数在Oracle和PostgreSQL中产生不同的结果,这可能会导致问题。
  • SYSDATE – PostgreSQL不具有与Oracle的SSYSDATE函数等效的功能,该函数提供执行日期和时间。应根据您的需要使用以下方法:
所需时间信息 对应 功能
SQL开始时间 Statement_timestamp()
交易开始时间 Transaction_timestamp()
功能实施时间 Clock_timestamp()
6. 语言 转换


PL / pgSQL和PL / SQL语言非常相似,但是应该牢记一些重要的区别:

  • 如前所述,在这两种语言中数据类型的实现方式有所不同,因此需要进行一些工作才能正确转换它们。
  • PostgreSQL没有软件包,因此架构用于根据需要对功能进行分组。这也意味着不能使用包级变量。
  • 光标变量在这两种语言中的表示方式不同
  • 因为需要在PostgreSQL中将函数体写为字符串文字,所以应使用美元符号引号,或者,应在函数体中转义单引号。

如您所见,在迁移过程之前和期间,您需要记住很多事情。因此,为确保数据库成功迁移,应在迁移后对其进行全面测试。

现在,利用所有这些信息,让我们看看如何在dbForge Studio for PostgreSQL的帮助下将数据库从Oracle迁移到PostgreSQL

如何将数据从Oracle迁移到PostgreSQL数据库?

前提条件是,您正在使用的计算机应安装PostgreSQL服务器(我们正在使用v.12)和Oracle客户端。

首先,我们需要oracle_fdw。它是PostgreSQL的扩展,提供了外部数据包装器,可简单有效地访问Oracle数据库,并支持EXPLAIN和WHERE。

oracle_fdw可以在这里下载: :

对于不同的PostgreSQL服务器版本和OS位深度,有不同的包装器版本。

让我们看一下oracle_fdw v.2.2.0 win64的过程:

  • 下载oracle_fdw-2.2.0-pg12-win64.zip存档并解压缩。


Devart数据库工具【教程】:将数据从Oracle迁移到PostgreSQL数据库

将oracle_fdw.dll从lib文件夹移至C:\ Program Files \ PostgreSQL \ 12 \ lib \文件夹(或基于您的计算机上PostgreSQL服务器安装位置的相应文件夹)

 将oracle_fdw.control和两个SQL脚本从share \ extension \ 文件夹移至C:\ Program Files \ PostgreSQL \ 12 \ share \ extension \

启动dbForge Studio for PostgreSQL并创建超级用户连接:

Devart数据库工具【教程】:将数据从Oracle迁移到PostgreSQL数据库

关于迁移的具体过程要求,点击查看下一篇


了解更多产品信息或想要购买产品正版授权请点击

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP