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所看到的。





图1.1

打开刚加入的server。创建目标数据库登陆用户test。例如以下图1.2和1.3所看到的。 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

图1.2

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.3

对着Databases右键打开创建数据库对话框,例如以下图1.4所看到的,在Properties选项卡中填入目标数据库名test并选择上一步创建的登陆用户test;然后切换到Definition选项卡。填写数据库相关属性,当中“connection limit”默认就可以,最后点击OK,例如以下图1.5所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.4





图1.5

在目标数据库中创建SCHEMA。打开上一步建好的数据库test(同源数据库schema)。然后右键Schemas选择New Schema,填写schema name并选择owner。例如以下图1.6和图1.7所看到的。





图1.6

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.7

到此。目标数据库已经创建好。

1.3 DB migration Implementation

本次迁移工具选择navicat premium。打开navicat premium。然后分别连接迁移源数据库和目标数据库。

Navicat Premium 是一个可多重连接的数据库管理工具。它可让你以单一程序同時连接到 MySQL、SQLite、Oracle 及 PostgreSQL数据库,让管理不同类型的数据库更加方便。最重要的是它不用装Oracleclient。

假设不是必要,无需安装 Oracle client。占用空间大。有500M左右。装完后非常难卸载干净。依据 Navicat 官方的文档。事实上仅仅须要下载 Oracle 的 Instance Client就可以,具体方案能够在百度中搜索“Navicat Premium oci”。

连接源数据库,例如以下图1.8所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.8

连接目标数据库,例如以下图1.9所看到的,打开目标数据库test,然后打开schema。刷新一下表、视图等,确认表、视图等以下的对象为空,例如以下图1.10所看到的。





图1.9

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.10

在navicat premium的菜单条中点击工具,选择传输数据。打开传输数据对话框,在常规选项卡中填写迁移数据库信息并选择迁移对象,例如以下图1.11所看到的;然后打开高级选项卡设置迁移详情(迁移数据/迁移表结构/同一时候迁移数据和结构),例如以下图1.12所看到的。设置完后点击“開始”就可以。





图1.11





图1.12

迁移完毕后。信息日志中的时间不再发生变化。能够看到本次迁移共花费时间237.914s,例如以下图1.13所看到的。





图1.13

1.4 DB migration verification

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





图1.14





图1.15

在源数据库中对表RI_ABANDON_INFO右键,选择设计表。例如以下图1.16所看到的,相同操作目标数据库中的ri_abandon_info表。例如以下图1.17所看到的,通过对照两个表对象的约束(主、外键)、索引等信息,确定该表表结构迁移没有问题。





图1.16

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



图1.17

用相同的方式验证源数据库中的RI_TKSU_WHITE_LIST_HIS表和目标数据库中的ri_tksu_white_list_his表,确定被验证表的表结构和数据迁移没有问题。

1.5 DB migration results

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

通过Navicat Premium迁移Oracle到EDB迁移实战的更多相关文章

  1. Navicat Premium 连接Oracle 数据库(图文教程)

    一.需要准备的软件 Navicat premium 32位 官方下载地址:http://www.navicat.com.cn/products/navicat-premium Instant Clie ...

  2. ORA-28547:(Navicat Premium连接oracle报错)

    1.背景 Navicat Premium连接oracle报 ORA-28547:connection to server failed, probable Oracle Net admin errro ...

  3. Navicat Premium 连接Oracle 数据库

    昨天开始工作的时候听同事说:Navicat可以连各种数据库,包括Oracle,头一次听说!!!很是尴尬.现在记录一下怎么用Navicat连接Oracle.最重要的是,Navicat只支持32的Orac ...

  4. Navicat Premium 链接 ORACLE

    http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载地址 Navicat Pr ...

  5. Navicat Premium 连接Oracle 数据库之配置

    Navicat Premium连接Oracle 数据库之配置 1.Oracle数据库服务器下载 Oracle官方网站下载数据库最新版本:http://www.oracle.com/technetwor ...

  6. Navicat Premium 连接 Oracle 数据库

    Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL.SQLite.Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便 ...

  7. Navicat Premium 连接oracle 提示ORA-01017:用户名/口令无效;登陆被拒绝

    Navicat Premium 连接oracle,密码明明是对的,还是提示 ORA-01017:用户名/口令无效:登陆被拒绝.而用Pl/SQL 连接没有问题. 其实用户名和密码是对的,但还是会报错,这 ...

  8. 利用Navicat Premium连接Oracle数据库

    利用Navicat Premium连接Oracle数据库 Navicat premium是一款数据库管理工具,支持多种数据库,也非常轻量: 安装包准备:Navicat Premium_11.1.8简体 ...

  9. (转)Navicat Premium 连接Oracle 数据库(图文教程)

    Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到MySQL.SQLite.Oracle及PostgreSQL 资料库,让管理不同类型 ...

随机推荐

  1. 《HTML5与CSS3基础教程(第8版)》

    <HTML5与CSS3基础教程(第8版)> 基本信息 原书名:HTML and CSS:visual quickstart guide 作者: (美)Elizabeth Castro    ...

  2. Kubernetes基础

    Kubernetes是什么 Kubernetes是当今最流行的开源容器管理平台,它就是大名鼎鼎的Google Borg的开源版本.Google在2014年推出了Kubernetes,本文发布时最新的版 ...

  3. Orchard之生成新模板

    一:启用 Code Generation 进入后台, Modules –>  Developer Enable 之.   二:生成模版 首先,进入 Orchard 命令行 在 CMD 下到达解决 ...

  4. Kendall Rank(肯德尔等级)相关系数

    1.简介在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值.肯德尔相关系数是一个用来测量两个随机变量相关性的统计值.一个肯德尔检验是一个无参数假设 ...

  5. pkg-config原理及用法

    原文  https://blog.csdn.net/luotuo44/article/details/24836901 我们在用第三方库的时候,经常会用到pkg-config这个东西来编译程序.那pk ...

  6. 【BZOJ】【3339】Rmq Problem

    离线+线段树 Orz Hzwer,引用题解: 这一题在线似乎比较麻烦 至于离线.. 首先按照左端点将询问排序 然后一般可以这样考虑 首先如何得到1-i的sg值呢 这个可以一开始扫一遍完成 接着考虑l- ...

  7. 网络编程之webclient和httpwebrequest的使用

    (1)Lambda表达式 “Lambda表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型. 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符 ...

  8. iOS开发-UITapGestureRecognizer手势

    手势在iOS开发中是一个比较常用的功能,不过相对来说大家用的比较少,经常刷网易新闻,上次用了一下捏合手势才发现可以调整字体大小.昨天看到一个介绍摇一摇这个功能的,没看到之前一直都觉得摇一摇是微信的专有 ...

  9. vue嵌套路由总结

    嵌套路由就是在一个被路由过来的页面下可以继续使用路由,嵌套也就是路由中的路由的意思. 比如在vue中,我们如果不使用嵌套路由,那么只有一个<router-view>,但是如果使用,那么在一 ...

  10. 浅析 @PathVariable 和 @RequestParam

    一.代码实例 首先,上两个地址: 地址1:http://localhost:8989/SSSP/emps?pageNo=2 地址2:http://localhost:8989/SSSP/emp/7 如 ...