从PostgreSQL到Oracle:2个简单的步骤

672 阅读14分钟

从PostgreSQL到Oracle:2个简单的步骤

Amit Phaujdar关于数据库管理系统,Oracle,PostgreSQL- 2022年6月7日 -Write for Hevo

PostgreSQL是一个对象关系型数据库管理系统,专注于SQL兼容性和可扩展性。这个开源关系型数据库同时支持JSON和SQL查询,是众多移动、网络、地理空间和分析应用的主要数据源。甲骨文公司自成立以来,已经成为IT市场上最大的RDBMS(关系型数据库管理系统)供应商之一。可用于访问甲骨文关系数据库中的数据的查询语言是SQL。

本文讲述了建立从PostgreSQL到Oracle的无缝连接可以遵循的步骤。在深入探讨建立连接的步骤之前,它还对PostgreSQL和Oracle做了一个简要介绍。

目录

什么是PostgreSQL?

PostgreSQL to Oracle: PostgreSQL logo

图片来源

PostgreSQL因其开源平台而广为人知,它支持RDBMS的所有功能。它还在RDBMS的基础上提供了一系列的功能,如索引、存储过程、视图、触发器和原子性功能,仅举几例。

PostgreSQL在各种主要平台上运行,如Windows、Linux、macOS和UNIX等等。PostgreSQL通过多版本并发控制(MVCC)来管理并发性。MVCC为每个事务提供一个 "数据库快照",允许在不影响其他事务的情况下进行修改。这确保了对ACID原则的维护,同时消除了对读锁的需求。

PostgreSQL的主要特点

  • 可定制。PostgreSQL可以通过开发插件来定制,使数据库管理系统符合你的要求。PostgreSQL也允许你加入用其他编程语言(如Java、C、C++等)制作的自定义函数。
  • 悠久的历史。PostgreSQL已经有30多年的历史,最初于1988年发布。
  • 频繁的更新。最新的PostgreSQL更新是2020年11月12日的13.1版。
  • MVCC功能。PostgreSQL恰好是第一个实现多版本并发控制(MVCC)功能的数据库管理系统。
  • 一个支持性的社区。一个专门的社区一直在为你服务。也有私人的、第三方的支持服务。该社区通过PostgreSQL全球开发小组更新PostgreSQL平台。
  • 开源的。这是一个对象-关系数据库管理系统(ORDBMS)。这使得PostgreSQL可以提供面向对象和关系型数据库的功能。PostgreSQL是一个免费和开放源码的ORDBMS。
  • 用户。PostgreSQL的用户包括苹果、思科、Etsy、Facebook、Instagram、Red Hat、Skype、Spotify和Yahoo等等。

使用Hevo的无代码数据管道在几分钟内复制数据

Hevo数据,一个完全管理的数据管道平台,可以帮助你在几次点击中自动化,简化和丰富你的数据复制过程。通过Hevo的各种连接器和快速的数据管道,你可以从100多个数据源中提取和加载数据,如**PostgreSQLOracle**直接进入你的数据仓库或任何数据库。为了进一步简化和准备你的数据分析,你可以使用Hevo强大的内置转换层来处理和丰富原始颗粒数据,而不需要写一行代码。

免费开始使用HEV

Hevo是最快,最简单,最可靠的数据复制平台,将为你的工程带宽和时间节省数倍。今天就来试试我们的14天免费试用版,体验一下完全自动化的无障碍数据复制。

什么是Oracle?

PostgreSQL to Oracle: Oracle Logo

图片来源

甲骨文公司提供了一个多模式的数据库管理系统,普遍用于数据仓库、在线交易处理和混合数据库工作负载。甲骨文数据库在各种主要平台上运行,如Linux、UNIX、Windows和MacOS。甲骨文数据库是第一个为企业网格计算设计的数据库,它是管理信息和应用程序的最经济、最灵活的方式。

企业网格计算开发大型的行业标准服务器池和模块化存储。这种类型的架构允许从组件池中迅速配置一个新的系统。由于容量可以根据需要很容易地从资源池中转移或增加,所以不需要峰值工作负载。它通过配置和虚拟化与其他类型的计算不同。

网格计算旨在通过生产更有弹性、成本更低的操作系统来解决企业IT所面临的一些常见问题。这种架构风格使甲骨文公司能够以更低的成本提供全面的数据库,具有更大的灵活性和更高的服务质量。甲骨文公司提供在网计算功能,专注于为其用户提供集中管理、强大的安全基础设施、通用访问和强大的开发工具。

甲骨文的主要特点

以下是甲骨文大受欢迎的一些关键特征。

  • 跨平台整合。甲骨文支持所有的操作系统(OS),包括Windows、macOS、Linux和其他。
  • 符合ACID属性。Oracle DB提供ACID(原子性、一致性、隔离性和持久性)属性,以确保数据库在交易处理过程中的完整性。
  • 简单的通信。不同平台上的应用程序之间的通信很简单。Oracle的本地网络堆栈允许您将数据库与各种平台上的应用程序无缝对接。例如,你可以简单地将基于Unix的应用程序与你的Oracle数据库(在Windows上运行)进行链接和互动。
  • 备份和恢复。甲骨文的备份和恢复能力使其能够从任何事故或技术故障中检索到数据。甲骨文的RAC架构确保所有的数据和进程都得到了备份。
  • 分析解决方案。你可以使用Oracle高级分析和OLAP(Oracle分析处理)来快速对业务数据进行分析计算。

了解PostgreSQL向Oracle迁移的步骤

下面是将数据从PostgreSQL迁移到Oracle的步骤。

PostgreSQL到Oracle的迁移。PostgreSQL导出到CSV

  • 你可以通过使用COPY语句将PostgreSQL表中的数据导出到CSV文件中。例如,如果你想把'persons'表的数据导出到C:tmp文件夹下一个叫做persons_db.csv的CSV文件,你可以利用下面的语句。
COPY persons TO 'C:tmppersons_db.csv' DELIMITER ',' CSV HEADER;
  • PostgreSQL将把'persons'表中所有列的数据都导出到persons_db.csv文件中。
  • 在一些情况下,你可能想从一个表中的几列导出数据到CSV文件。要执行这个操作,你需要指定列名和表名,后面加上COPY关键字。例如,下面的语句将从'persons'表中的last_name、first_name和email列导出数据到person_partial_db.csv。
COPY persons(first_name,last_name,email)
TO 'C:tmppersons_partial_db.csv' DELIMITER ',' CSV HEADER;
  • 如果你不想导出包含表的列名的标题,你可以简单地删除COPY语句中的HEADER标志。下面的语句将只把'persons'表中的email列的数据导出到CSV文件中。
COPY persons(email)
TO 'C:tmppersons_email_db.csv' DELIMITER ',' CSV;
  • 对于PostgreSQL到Oracle的迁移,需要注意的一点是,你在COPY命令中提到的CSV文件名需要直接写到服务器上。这意味着CSV文件需要驻留在数据库服务器机器上,而不是你的本地机器。CSV文件也需要由PostgreSQL服务器运行的用户来写。

是什么让Hevo的ETL流程成为同类中最好的?

如果你有大量的数据,提供一个高质量的ETL解决方案可能是一个困难的任务。Hevo的自动化,无代码平台使你拥有顺利的数据复制经验所需的一切。

看看是什么让Hevo如此神奇。

  • 完全管理。Hevo不需要管理和维护,因为它是一个完全自动化的平台。
  • 数据转换。Hevo提供了一个简单的界面来完善、修改和充实你要传输的数据。
  • 更快的洞察力生成。Hevo提供近乎实时的数据复制,所以你可以获得实时的洞察力生成和更快的决策。
  • 模式管理。Hevo可以自动检测传入数据的模式,并将其映射到目标模式。
  • 可扩展的基础设施。Hevo有内置的100多个来源的集成,如**PostgreSQLOracle**(有40多个免费来源),可以帮助你根据需要扩展你的数据基础设施。
  • 实时支持。Hevo团队全天候通过聊天,电子邮件和支持电话向客户提供特殊支持。

在这里注册以获得14天的免费试用期

PostgreSQL到Oracle的迁移。将CSV数据导出到Oracle

  • 首先,你需要决定你希望在PostgreSQL到Oracle的迁移中使用的Oracle表。如果PostgreSQL到Oracle的迁移是在一个新的表中进行的,你可以滚动到数据库菜单,然后点击导入数据。另一方面,对于一个现有的表,你可以滚动到数据库资源管理器,右击一个表,然后在PostgreSQL到Oracle迁移的快捷菜单中选择导入数据
  • 数据导入向导将以预定义的参数打开:一个Oracle连接,一个要导入数据的表,以及一个数据库。
  • 接下来,在数据导入向导中,你可以选择一种CSV导入格式,提到数据的位置,然后点击下一步。一旦你进入数据导入窗口,进入目的地标签,提到Oracle连接,选择要导入数据的数据库和表,然后点击下一步
  • 数据导入 > 选项标签,你可以为你选择的文件格式设置PostgreSQL到Oracle的迁移选项,然后点击下一步来执行。
    • 你可以选择表头所在的行号。这将在预览部分内以蓝色突出显示。如果你不提表头的位置,导入的列会得到默认的名字--column1, column2, 等等。
    • 你也可以设置在PostgreSQL向Oracle迁移过程中要跳过的行数。这些行将从顶部开始计算。
    • 你甚至可以指定一个列分隔符,其结果可以在预览部分查看。

PostgreSQL to Oracle: Data Import Options

图片来源

  • 接下来,你需要滚动到数据导入 > 数据格式标签,在这里你可以指定数据的数据格式,然后点击下一步
  • 然后你可以在 "**数据导入">"**映射 "选项卡中把这些列映射到目标表的列。
  • 如果你想取消所有列的映射,你可以直接点击工具栏上的 "清除映射"。要恢复列的映射,你只需要点击填充映射。

PostgreSQL to Oracle: Data Import Mapping

图片来源

  • 如果你正在向一个新的表格导入数据,你可以通过双击顶部网格中的目标列属性来修改它们。接下来,你需要为包含主键的列选择密钥复选框,然后点击下一步
  • 接下来,你可以从 "数据导入">"模式"选项卡中为数据挑选一个导入模式,然后点击 "下一步"。
  • 你可以在数据导入 > 输出选项卡中选择以下PostgreSQL到Oracle的迁移选项之一,以管理数据导入脚本,然后点击下一步
    • 在内部编辑器中打开数据导入脚本
    • 然后你可以把数据导入脚本保存到一个文件中
    • 最后,你可以直接将数据导入到数据库中
  • 你需要在数据导入 > 错误处理选项卡上决定如何处理导入过程中的错误,并提到你是否想得到一个包含导入会话细节的日志文件。
  • 要开始PostgreSQL到Oracle的迁移,你只需要点击导入并查看导入的进度。最后,你可以点击完成来关闭导入向导并完成PostgreSQL到Oracle的迁移。

了解在Oracle云基础设施上部署PostgreSQL集群的架构

这个架构显示了在Oracle云基础设施计算实例上部署一个三节点的PostgreSQL集群。在这里,服务器被配置为主备配置,并使用基于文件的日志传输的流式复制。

PostgreSQL to Oracle: Cluster Architecture

图片来源

建议

你的需求可能与上面描述的架构不同。你可以利用以下建议作为你配置的起点。

  • VCN:当你生成一个VCN时,你可以根据你想附加到VCN内的子网的资源数量来确定需要的CIDR块的数量和每个块的大小。你也可以利用标准私有IP地址空间中存在的CIDR块。选择一个不与企业内部网络重叠的地址范围,这样你就可以在企业内部网络和VCN之间建立连接,如果需要的话。一旦创建了VCN,你就可以添加、改变和删除其CDR块。当你设计你的子网时,你需要牢记你的安全要求和功能。将同一角色或层级内的所有计算实例保持在同一子网中。
  • 计算形状。这个架构利用了Oracle Linux 7.7操作系统镜像和VM.Standard2.1形状。如果你的应用程序的资源需求不同,你可以选择一个不同的形状。

需要考虑的问题

在处理这个集群时,你需要记住以下几件事。

  • 应用可用性。故障域在一个单独的可用性域内提供了最好的恢复能力。这种架构使用了一种不同的方法来实现高可用性:部署可以在不同故障域中执行相同任务的计算实例。这种设计通过引入冗余摆脱了单点故障。架构部署后,你可以通过利用Git Bash或PuTTY等SSH工具连接到PostgreSQL节点的公共IP地址。你可以使用psql对PostgreSQL数据库进行DML和DDL操作。PgAdmin工具可以用来执行管理操作。
  • 成本。根据你的数据库所需的核心、网络带宽和内存选择一个虚拟机(VM)的形状。你可以从一个核心形状开始,如果你的数据库节点需要更多的性能、网络带宽或内存,你可以随时修改虚拟机形状。
  • 可扩展性。这种架构将在一个故障域中部署PostgreSQL主节点,在其他故障域中部署备用节点。你可以通过修改每个计算节点的虚拟机形状来垂直地扩展PostgreSQL集群。通过利用具有更高核心数的形状,你可以增加分配给网络带宽和计算实例的内存。

总结

这篇文章说明了你可以遵循的步骤,以无缝的方式建立从PostgreSQL到Oracle的连接。对于这种方法,你首先要把你的数据从PostgreSQL的表中移到CSV文件中,然后再导出到Oracle。在深入了解建立连接的步骤之前,它还对Oracle和PostgreSQL进行了简要介绍。

访问我们的网站,探索HEV

Hevo Data,一个无代码的数据管道为你提供了一个一致和可靠的解决方案,只需点击几下,就可以管理各种来源和各种期望目的地之间的数据传输。Hevo Data与 100多个数据源如**PostgreSQLOracle****(包括40多个免费的数据源**)的强大集成,使你不仅可以从你想要的数据源导出数据并加载到你选择的目的地,而且还可以转换和丰富你的数据,使其可以分析,以便你可以专注于你的关键业务需求,并使用BI工具进行深入的分析。

Hevo还支持PostgreSQL作为各种使用案例的目标。

想体验一下Hevo吗?注册一个14天的免费试用,亲身体验功能丰富的Hevo套件。你也可以看一下 价格,这将有助于你选择适合你的业务需求的计划。

用于PostgreSQL和Oracle的无代码数据管线

免费试用