通过Navicat Premium迁移Oracle到EDB迁移实战

1.1 DB migration analysis

  在从Oracle向EDB迁移数据之前,需要做很多准备工作,比如需要分析源数据库数据量大小、数据是否稳定、异构数据库兼容、编码方式、业务逻辑(存储过程、函数、触发器)等迁移情况,最好在迁移实施之前出一个迁移方案;选择迁移工具实施数据迁移,保存迁移日志;迁移完成后还需要验证数据的完整性、一致性等,记录条数检查,检查新旧数据库对应的记录条数是否一致;特殊样本数据的检查,检查同一样本在新旧数据库中是否一致。
  迁移数据库源为ORACLE,目标数据库为EDB;迁移工具:navicat premium11;源数据库共149张表,本次迁移只迁移64张表,由于本次迁移数据量不大,采取一次迁移(结构和数据)方式;使用Postgres Enterprise Manager工具创建EDB目标数据库;迁移完成后随机抽取2个样本进行迁移结果校验。

1.2 DB migration preparation

创建目标数据库:
打开Postgres Enterprise Manager工具,如下图1.1所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第1张图片
1
图1.1
打开刚添加的server,创建目标数据库登陆用户test,如下图1.2和1.3所示。 2


图1.2

通过Navicat Premium迁移Oracle到EDB迁移实战_第2张图片
3
图1.3
对着Databases右键打开创建数据库对话框,如下图1.4所示,在Properties选项卡中填入目标数据库名test并选择上一步创建的登陆用户test;然后切换到Definition选项卡,填写数据库相关属性,其中“connection limit”默认即可,最后点击OK,如下图1.5所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第3张图片
4
图1.4

通过Navicat Premium迁移Oracle到EDB迁移实战_第4张图片
5
图1.5
在目标数据库中创建SCHEMA,打开上一步建好的数据库test(同源数据库schema),然后右键Schemas选择New Schema,填写schema name并选择owner,如下图1.6和图1.7所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第5张图片
6
图1.6

通过Navicat Premium迁移Oracle到EDB迁移实战_第6张图片
7
图1.7
到此,目标数据库已经创建好。

1.3 DB migration Implementation

本次迁移工具选择navicat premium,打开navicat premium,然后分别连接迁移源数据库和目标数据库。
Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL、SQLite、Oracle 及 PostgreSQL数据库,让管理不同类型的数据库更加方便。最重要的是它不用装Oracle客户端。
如果不是必要,无需安装 Oracle 客户端,占用空间大,有500M左右,装完后很难卸载干净。根据 Navicat 官方的文档,其实只需要下载 Oracle 的 Instance Client即可,详细方案可以在百度中搜索“Navicat Premium oci”。
连接源数据库,如下图1.8所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第7张图片
8
图1.8
连接目标数据库,如下图1.9所示,打开目标数据库test,然后打开schema,刷新一下表、视图等,确认表、视图等下面的对象为空,如下图1.10所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第8张图片
9
图1.9

通过Navicat Premium迁移Oracle到EDB迁移实战_第9张图片
10
图1.10
在navicat premium的菜单栏中点击工具,选择数据传输,打开数据传输对话框,在常规选项卡中填写迁移数据库信息并选择迁移对象,如下图1.11所示;然后打开高级选项卡设置迁移详情(迁移数据/迁移表结构/同时迁移数据和结构),如下图1.12所示;设置完后点击“开始”即可。


11
图1.11


12
图1.12
迁移完成后,信息日志中的时间不再发生变化,可以看到本次迁移共花费时间237.914s,如下图1.13所示。

通过Navicat Premium迁移Oracle到EDB迁移实战_第10张图片
13
图1.13

1.4 DB migration verification

本次迁移验证选取首尾两张表做为样本,进行正确性、完整性验证。源数据库中的RI_ABANDON_INFO表概要信息如下图1.14所示,迁移目标数据库中的ri_abandon_info表表概要信息如下图1.15所示,经过对比可以认为该表数据迁移没有问题。


14
图1.14

通过Navicat Premium迁移Oracle到EDB迁移实战_第11张图片
15
图1.15
在源数据库中对表RI_ABANDON_INFO右键,选择设计表,如下图1.16所示,同样操作目标数据库中的ri_abandon_info表,如下图1.17所示,通过对比两个表对象的约束(主、外键)、索引等信息,确定该表表结构迁移没有问题。

通过Navicat Premium迁移Oracle到EDB迁移实战_第12张图片
16
图1.16

通过Navicat Premium迁移Oracle到EDB迁移实战_第13张图片
17
图1.17
用同样的方式验证源数据库中的RI_TKSU_WHITE_LIST_HIS表和目标数据库中的ri_tksu_white_list_his表,确定被验证表的表结构和数据迁移没有问题。

1.5 DB migration results

经过对样本的验证对比,基本确认本次数据库迁移成功。

你可能感兴趣的:(oracle,数据库迁移,premium,navicat,edb,enterpsedb)