
前言
当我们把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大神
长按关注吧




