墨墨导读:众所周知,数据库升级、转换、迁移是数据库运维必备的日常技能,本文详细介绍一则将DB2数据库转换成Oracle数据库的案例,希望对大家有帮助。

1. 前言

记录一则使用sql developer工具,将DB2数据库迁移到ORACLE数据库的案例。

2. 环境准备

  • 安装ORACLE数据库并创建实例

  • 安装DB2软件

  • 安装SQL DEVELOPER 软件

3. 备份生产环境DB2数据库

#! /bin/bash
source /home/db2/.bash_profile
TODAY=`date +%Y%m%d%H%M%S`
db2 backup db db2 online to /home/db2 compress include logs

4. 将备份传到新的DB2环境(在新环境进行数据转换最大可能地保护生产数据)

5. 在新环境恢复DB2数据库

db2 'RESTORE DB  db2  FROM "/home/db2/" TAKEN AT 20200729053002 LOGTARGET /home/db2arclog'
db2 'ROLLFORWARD DB db2 to end of backup and stop OVERFLOW LOG PATH (/home/db2/arclog)'
db2 update dbm cfg using   SYSMAINT_GROUP db2
db2 list applications
db2stop force
db2start
db2 connect to db2 user db2 using db2
db2 "grant dbadm on database to user db2"
db2 "grant dbadm on database to user db2"
db2look -d  db2 -l -e -x -o db2.sql

6.ORACLE环境创建用户

create user mig identified by "mig"default tablespace DATAtemporary tablespace tempquota unlimited on DATA;
GRANT RESOURCE TO MIG WITH ADMIN OPTION;
GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW,CREATE PUBLIC SYNONYM TO MIG WITH ADMIN OPTION;

7. 使用SQL developer进行数据转换

7.1创建一个连接到目标ORACLE数据库

7.2 创建一个连接到源端DB2数据库

7.3 ORALCE数据库创建一个迁移存储库

7.4 DB2数据库关联到需要迁移的ORACLE

7.5 正式进行迁移

7.6 连接到源端数据库

7.7 创建迁移名称

7.8 连接源端

7.9 选择需要迁移的数据库

7.10 自定义转换数据类型规则,比如说调整数据类型,数据库类型精度等等,按需调整

7.11 选择需要转换的对象

7.12 选择目标端

7.13 选择移动数据



8. 数据对比

8.1 收集DB2统计信息并查询出每张表的数据

db2 connect to db2
---连接到DB2数据库runstats on table DB2.XXXX(表名) and indexes all;
---收集每张表的信息db2 -x "select tabschema,tabname,card from syscat.tables where tabschema='DB2' order by tabname"
---查询出需要迁移表的数据量

8.2 收集ORACLE数据库统计信息并查询出每张表的数据

exec DBMS_STATS.unlock_schema_statS('MIG');
---解锁MIG用户的统计信息BEGINSYS.DBMS_STATS.GATHER_database_STATS (estimate_percent =>100,Degree            => 4,Cascade           => true,No_Invalidate  => FALSE);
END;
/
---收集全库的统计信息selct table_name,NUM_ROWS from dba_tables where owner='MIG'
---查询MIG用户表的数据量


用UE对比8.1与8.2的结果集

9. 注意事项

9.1 两种类型的数据库对表和字段的长度限制不一样,可能会导致转换失败;
9.2 注意空值和NULL处理;在工具转换过程中,NULL会转换成空,而空值则会转换成空格 建议在转换前,将空值替换的;
9.3 数据类型转换,比如double转换number时的精度;
9.4 两种数据库转换最重要的环节是需要应用人员和开发人员的全力配合。

墨天轮原文链接:https://www.modb.pro/db/28448(复制到浏览器中打开或者点击“阅读原文”)

推荐阅读:144页!分享珍藏已久的数据库技术年刊


视频号,新的分享时代,关注我们,看看有什么新发现?

数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!

点击下图查看更多 ↓

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

如何将DB2数据库转换成Oracle数据库,这一篇告诉你相关推荐

  1. ACCESS数据库转换成SQL数据库

    将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的: 二,转换的方法 1,打 ...

  2. sqlserver2000换成mysql_将Microsoft SQL Server 2000数据库转换成MySQL数据库

    1. 下载并安装MyODBC.(如果是XP请下载5.3的旧版本,8.x的新版本运行有问题) 2. 创建一个空的MySQL数据库. 3. 在Windows >> 控制面板 >> ...

  3. Java框架抽离的一些经历1:MYSQL数据库安装和 Oracle转换成Mysql数据库

    本篇记录独自抽离部署一个java项目,方便以后查阅参考. 开发语言:JSP 部署项目环境:JDK1.8 + Mysql8.023 开发工具:IDEA 代码同步工具:SVN 一.数据库 之前数据库使用的 ...

  4. MYSQL数据库迁移到ORACLE数据库

    一.环境和需求 1.环境 MySQL数据库服务器: OS version:Linux 5.3 for 64 bit mysql Server version: 5.0.45 Oracle数据库服务器: ...

  5. mysql gbk编码 字节数,mysql中utf-8编码数据库转换成GBK编码的问题

    摘要 腾兴网为您分享:mysql中utf-8编码数据库转换成GBK编码的问题,之了课堂,易信,一折包邮,星球联盟等软件知识,以及七日杀,草莓软件,装修施工站,桔子会,桌面切换,看小说神器,酷派应用商店 ...

  6. Javamysql语法转化oracle_MyBatis项目实战 快速将MySQL转换成Oracle语句

    一.前言 因项目需求,小编要将项目从mysql迁移到oracle中 ~ 现在将完成 基于MyBatis-Plus将项目中的MySQL语句全部转换成Oracle语句 大概实现步骤: 将项目改成支持双库配 ...

  7. oracle数据库的并发控制,Oracle数据库—— 事务处理与并发控制

    一.涉及内容 1.理解事务的概念和几个特性. 2.熟练掌握事务管理命令的使用. 3.理解并发操作的概念和数据库锁的类型. 二.具体操作 (12.5 实验) 1. 分析以下代码,说出代码中的哪些部分体现 ...

  8. oracle数据库物理结构包含,Oracle - 数据库物理结构

    ● 一个数据文件只能属于一个数据库 ● 当数据库空间用完时,数据文件可以按照预定的设置自动扩展. ● 一个或多个数据文件形成了数据库中的一种逻辑结构-表空间. 当需要时,数据文件中的数据通过数据库操作 ...

  9. Jsp之使用纯Java数据库驱动程序(sqlserver,Oracle数据库为例)

    1.首先,先下载sqlserver数据库驱动程序和Oracle数据库驱动程序,下面我将用到sqljdbc.jar和ojdbc6.jar,这里的sqljdbc.jar是属于SQL Server 2005 ...

最新文章

  1. 【练习】OC语法的简单复习
  2. 设置UTL_FILE_DIR参数 使得数据库使用OS文件
  3. python入门编程题库-Python随笔30:Python基础编程练习题25~26
  4. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)...
  5. php图片上传在哪个文件夹,php删除上传的图片及文件夹
  6. Java selenium操作下拉滚动条的几种方法
  7. Android add external jar
  8. 利用mysql数据库中_利用mysql和mysqli取得mysql的所有数据库和库中的所有表
  9. 《用户故事与敏捷方法》读书笔记 04 客户团队
  10. @软考考生,你要的软考论文写作技巧和论文范文来啦~
  11. Matlab 符号函数
  12. 阿里云主要产品有哪些?有什么用?
  13. PS · class 1
  14. Win系统svchost进程流量偷跑,如何永久杜绝?
  15. 30系列NVIDIA显卡安装tensorflow 极简
  16. linux 查看当前状态_Linux视频编辑的当前状态2018
  17. 怎样使用Outlook连接Hotmail
  18. 如何下载 TI 公司的官方例程以及为用户写好的标准头/源文件
  19. 青少年学习机器人教育的收获
  20. H3C防火墙与华为交换机链路聚合配置方法

热门文章

  1. oracle 编程必读_现在学习的编程语言,网络监视工具,备份解决方案以及更多必读内容
  2. 55种数据可视化开源工具_通过开源工具增强学生能力的15种方法
  3. 汇编edx_开源社区开始热议edX
  4. Bootstrap 分页导航
  5. es6 Node加载
  6. Git笔记(30) 重写历史
  7. linux 设置java内存大小_Linux 下修改Tomcat使用的JVM内存大小
  8. z变换解差分方程例题_某些常见微分方程的一般解法(工具向)
  9. 同级中断可以嵌套吗_这可能是最通俗易懂的方式讲解ARM中断原理以及中断嵌套...
  10. MyBatis拦截器实现分页