暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

工欲善其事,必先利其器,用上AWS SCT迁移工具,其它的都是将就

前言

当我们把Oracle迁移到PostgreSQL时,通常都会选择使用ora2pg进行迁移,但是使用ora2pg时,对存储过程、函数、触发器的代码修改位置的显示效果并不好,今天我们介绍亚马逊的一个工具:AWS Schema Conversion Tool
。该软件可以帮助我们迁移数据库结构,并且在存储过程、函数、触发器等需要改造地方会高亮显示。

下载安装

AWS Schema Conversion Tool
从亚马逊的网站上直接下载,建议选择使用windows版本,也有mac版本和linux版可选。下载地址:https://aws.amazon.com/dms/schema-conversion-tool/

AWS  SCT软件支持的数据库种类还是很多的。包括Oracle、SQL Server、Teradata、Greenplum、PostgreSQL、DB2、Cassandra等等。

我们下载Windows版本直接安装后打开软件。

1. 选择新建工程

这里源库选择Oracle数据库,然后目标库选择Amazon RDS for PostgreSQL,基本和原版的PG一致。不要选择兼容性的Aurora。

2.配置源库TNS

选择Connect to Oracle,配置连接字符串,点击Test connection
。测试没问题后点击ok,然后就会分析你Oracle数据库中的源数据,把相关用户和结构列在左侧。

这里我们以HR用户为例。

3.配置目标库的tns

这里想连上PostgreSQL数据库,需要在pg_hba.conf
文件中设置让windows服务器的ip可以访问。

4.查看迁移报告

此时我们可以选择查看迁移报告,点击HR这个schema创建报告。

报告很直观的告诉你,表有7个,有6个能自动转换,1个需要简单处理。索引、约束、序列能全部自动转换。2个触发器无法完成转换。1个视图需要简单处理。4个存储过程2个需要简单处理,2个无法转换。

5.转换schema

选择转换schema,就会在右边pg侧看到转换后的代码了。

6.手工调整

这时,转换为pg的代码并没有立即写进数据库,而是暂时保存在工程文件中。可对有关问题进行修改。例如存储过程的代码。

打开一个存储过程,我就会看到相关的问题代码上面已经给出了指示,会对需要修改的代码进行标黄处理,很明显,这个 sysdate函数需要改造。这对于开发人员来说使用真的很方便。

7.应用配置

当你调整完所有需要改造的代码后,你可以在PostgreSQL侧点击右键Apply to database
。应用完成之后,所有的结构都会写入到PostgreSQL数据库中。

当然你也可以点击save sql,保存成sql文本,然后拿到pg上执行。

后记

今天就介绍到这里,不得不说,商业化工具比开源工具要傻瓜化很多。偶尔用用是可以提高效率的。同时对于开发人员来说比较友好。

励志成为PostgreSQL大神

长按关注吧

文章转载自励志成为postgresql大神,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论