Oracle 迁移至MSSQL2008R2操作手册-仅供参考

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 总是在客户现场遇到一些小众化的迁移需求,客户以前为了追求高大上,选择的Oralce,但是缺乏专业维护人员,希望迁移到类似界面比较友好MSSQLServer上的需求,整理一份迁移操作手册供大家参考。

1      迁移须知

此迁移操作手册适用于ORACLE到MSSQL2008R2的表和数据迁移。

迁移使用微软提供的SSMA工具。

供有类似需求的您作为参考。

2      迁移步骤

2.1      第一步: 下载并安装SSMA软件和ORACLE客户端

 

从微软官方网站下载SSMA 5.3软件

SSMA for Oracle.5.3.0.exe 安装在WINDOWS平台上

SSMA for Oracle.5.3.0.ExtPack.exe 安装在SQL SERVRE 2008 R2上(即需要迁移到目的端的SQL SERVER上,功能是创建一些辅助运行需要的数据库表和存储过程等)

下载并安装ORACLE CLIENT

从ORACLE官网下载与操作系统匹配的ORALCE客户端软件

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

 

2.2      第二步:新建迁移项目

 

打开软件,建立迁移项目,fileànew project如图,这里选择迁移到SQL SERVER 2008

 

119f6c5c69cd225196fe52d12e723df37cf98286

 

 

a37d84b8ffe21ea40ed19d5a2144ac3362395b83

 

2.3      第三步:连接到ORACLE源服务器

 

连接源数据库oracle如图, 点击 connect, 将会加载ORACLE的对象,时间较长,需耐心等待

 

eab83bdc34bc019cf5b8fbcbca0bf5cb2ecd19af

 

4f96437992dce52a17f94d6215a32f92f5b3c586

 

 

 

2.4      第四步:连接目标数据库SQL SERVER目的端


a2d370817a8d862abca51b717f462b073c85ebea

 

点击连接,如果你没有安装SSMA for Oracle.5.3.0.ExtPack.exe,会有下图提示,即使没有安装,对于只迁移数据和表结构而言,经测试未产生影响。

 

07ba544aacff099814f4d1029b9f8430a97e394c

 

f9b2df504d348aa923eb050721d595ff245deb50

 

 

 

2.5      第五步:在SQL SERVER目的端创建对应的数据库名

 

例如:

 

USE master

GO

CREATE DATABASE ORA2SQLT01

GO

 

6de7d2019beaf756b08fbfdcee02fa617a5e40b6

l  这里特别要注意,只选择(Tables)

l  评估迁移对象的成功率(Create Report)

 

如图,先点击Tables,再点击Create Report

4fdae5a6eb90a16234771605de706c336f0c2051

 

d7fa3b20d85649f7566a216cbde26492c2aa7b9f

 

 

这里有个警告,是从NUMBER的转换,需要验证数据才能知晓 另外,可能有索引、外键、主键和触发器迁移评估失败,这个请直接忽略掉。原因请看后面的注意事项。同时遇到这样的错误需要用户自己调整修改。

 

 

2.8      第七步:结构转换

 

验证没有问题对象,把结构转换后,写入SQL SERVER MEATDATA中(不是SQL SERVER R2中,是创建的项目中,这个一定要注意),同时可以看到转换的信息,如图:

点击Tables,然后点击Convert Schema

c0454e6abb1ca353566d9efa4b123baefe9ba757

 

 

5b6dc7c8291026f1170daf31cc45176bc70dd7e9

 

 

如果目标库存在该对象,就会提示:

c05adebe678062fd702fc764e7c5bfe04fd2e838

 

如果目标数据库中不存在该对象,就会创建该对象,如果不存在数据库,同样也会在目标实例生成数据库

 

 

2.9      第八步: 将SQL SERVER MEATADATA 同步到SQL SERVER 2008 R2服务中

如图:

先点击Tables,再点击Synchronize with Database

dc74259703aa5cd8f6fef2697f8d401501ad2ae5

 

d42e352a1d8ba1764fb428706ecf289114adaa5f


 

点击OK,结构就在SQL SERVER数据库服务中,你就可以看对象了, 这里可以看出来,主键、外键信息都导入过去了。

 


 

6baab1e705e10b45babd21136003dbc1635c3ade

 

 

选择Oracle Metadata Explore,然后再点击Tables,接着点击Migrate Data

 


 

9be0821a978c76100ddd1897aae1094609c31cf3

 

填写ORALCE的连接

d64f40c5b1526cd162de4bd9d95b304983f869a8

 

 

填写SQL SERVER的连接

30ad6d6caaa08fb3dbb6838ae6f775bb8053d1db

 

等待数据转换结束,验证一下,时间较长,需耐心等待。

数据库迁移成功后会显示如下信息,这个是微软给的评估,应该说是比较准确的了,不过自己可以选择性验证下,比如:


COUNT(*)验证一下数据的条数

 

76be940523eda6544e8af7c754eac2ffb36893c1

 

 

对比差异

从目前来看NUMBER和时间显示的确有点差异,不过应该问题不大

 

时间格式

ORACLE

b1d18ff43baa7891c22d1f04cc25e61b510b234f

 

SQL SERVER:

a7f56d3c1386bfcfcaed3a4e994cb5db5ea7e690

 

 

[POINTS] [numeric](20, 15)

 

ORACLE:

4bfed936a4c658b23535c87cc72a4178e94e2282

 

SQL SERVER

f6df229a8922d05a45cd368b39e20bae1e0e4882

 

暂时没有其他发现有差异的地方,这些差异,用户需要调整程序显示,同时要通过回归测试进行业务订正。

 

3    参考文档

4      注意事项


(1)只能全量,没有增量
(2)适合表数据和表结构的转换,触发器、存储过程、函数、试图等转化率还是比较低,需人工干预
(3)特别要注意大小写。Oracle区分大小写,所以SSMA也区分大小写,而SQL SERVER默认设置是不区分
(4)时间类型的字段转化后格式会发生变化、显示样式不一样
(5)NUMBER的小数点精度填充不一样,SQL SERVER会填充到指定的精度
(6)SSMA应用到迁移中的话,还是需要事先做一次迁移演练,测试数据的可用性、确定不能转换的对象,提前建立对应的对象,然后再实施迁移
(7)INDEX包含函数不会成功
(8)ORACLE主键DISABLE后,并且数据产生了重复不会成功
(9)触发器转换成功率很低,一般不会成功,需要人工处理

 

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
72 0
|
6月前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
110 0
|
Oracle 关系型数据库 分布式数据库
如何从Oracle迁移到PolarDB(ADAM)(二)
如何从Oracle迁移到PolarDB(ADAM)(二)
198 0
|
Oracle 关系型数据库 数据库
Oracle实例迁移_真实场景实操
Oracle实例迁移_真实场景实操
109 0
|
数据采集 Oracle 关系型数据库
同步链路手册-Oracle链路限制、数据库配置和账号授权
DTS链路手册-Oracle篇-Oracle链路限制、数据库配置和账号授权
同步链路手册-Oracle链路限制、数据库配置和账号授权
|
Oracle 关系型数据库 数据库
《ORACLE数据库和应用异构 迁移最佳实践》电子版地址
ORACLE数据库和应用异构 迁移最佳实践
77 0
《ORACLE数据库和应用异构 迁移最佳实践》电子版地址
|
存储 Oracle 关系型数据库
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(三)
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS
186 0
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(三)
|
SQL Oracle 关系型数据库
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(二)
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS
224 0
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(二)
|
SQL 弹性计算 Oracle
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(一)
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS
286 0
异构迁移Oracle的前世今生——HuaweiCloud+UGO+DRS(一)
|
6月前
|
Oracle 关系型数据库 分布式数据库
Oracle迁移PolarDB遇到的中文排序兼容
本文介绍从Oracle迁移到PolarDB过程中常遇到的中文排序问题的解决方案。
149 0
Oracle迁移PolarDB遇到的中文排序兼容

推荐镜像

更多
下一篇
无影云桌面