关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »使用SSMA将Oracle数据库转成SQL Server 2008(1)

    使用SSMA将Oracle数据库转成SQL Server 2008(1)

    2011-07-25 12:56:00 出处:ITJS
    分享

    本文我们主要介绍SSMA的安装和授权以及使用SSMA将Oracle数据库转成SQL Server 2008的过程,接下来我们开始介绍。

    SSMA的安装与授权

    步骤1: 先安装Oracle 11g  和Sql  Server 2008。

    步骤2:下载SSMA,或者向我勒索,然后安装……。

    步骤3: 打开各种所需的服务(怎么打 Win+R-------->>>services.msc---------->>>Enter)。

    步骤4: 假如你有一个  dmp 文件(这是从Oracle导出来的一个 备份的文件) ,先将他导入到Oracle中。

    怎么导入呢

    先创建一个用户Create user  用户名 identified by  密码。

    2.授权

    使用SSMA将Oracle数据库转成SQL Server 2008

    接着,可以打开命令行,可不是打开Sqlplus 哦。

    如图imp userid=(上面创建的)用户名/ 密码 full=y file=文件路径

    使用SSMA将Oracle数据库转成SQL Server 2008

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤5:你导入完成了没   不知道你数据量多少哦!   反正我话个把小时转完了……

    步骤6:打开SSMA

    使用SSMA将Oracle数据库转成SQL Server 2008

    使用SSMA将Oracle数据库转成SQL Server 2008

    新建一个项目

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤7:就此,基本完成了,然后就是 Click  Connect to Oracle。

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤8:接下来看看SQL中国研发中心的Blog:http://blogs.msdn.com/b/sqlcrd/ 你会懂的;

    数据库的转化

    这里我们选择SSMA for Oracle 5.0为例介绍一下SSMA如何帮助您从Oracle迁移到SQL Server 2008 R2。首先我们从这里下载SSMA for Oracle 5.0的压缩包,解压缩后有两个exe文件,SSMA for Oracle 5.0.exe是工具的安装包,SSMA for Oracle 5.0 Extension Pack.exe必须安装在SQL Server 2008 R2所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。

    首次运行SSMA for Oracle需要一个License,如图1所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存License的目录然后点击Refresh License按钮即可运行SSMA for Oracle了。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图1  License Management对话框

    在主窗口File菜单中选择New Project…菜单项将显示图2所示的对话框,输入项目的名字,选择SQL Server 2008作为迁移的目标数据库版本。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图2  New Project对话框

    我们将使用Oracle XE的HR schema为例(下文称之为HR数据库以避免歧义,但其实Oracle并没有SQL Server数据库类似的概念)。SSMA为提高性能,缺省情况下不加载某些示例数据库(包括HR数据库),这个缺省设置可以通过Project Settings来修改,选择Tools菜单的Project Settings菜单项,在弹出的对话框里点击General再选择Loading System Objects,然后勾选HR,如图3所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图3 Project Settings对话框

    然后我们连接Oracle服务器,点击工具条上的Connect to Oracle,输入Server名称、SID和用户名/密码,如图4所示。连接后会有个警告对话框告诉你hr用户没有足够的权限。由于我们只需要迁移HR数据库,这里可以点击Continue忽略它。假如你的Oracle服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待

    使用SSMA将Oracle数据库转成SQL Server 2008

    图4 连接到Oracle服务器

    连接上Oracle后我们首先评估一下迁移HR数据库会不会碰到问题,假如碰到问题大约需要多长时间来解决。评估并不需要连接目标SQL Server,只需要在左上方的树里展开Oracle服务器名称,然后展开Schemas,右键点击HR并选择Create Report,如图5所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图5 评估HR数据库

    SSMA运行一段时间后会打开一个评估报告的对话框,如图6所示。这个评估报告很有用,里面会列出HR数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较Oracle的PL/SQL语法和迁移后的TSQL语法。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图6 评估报告

    图7是一个包含有错误的评估报告,当包含错误时,SSMA会估算手工做转换大约需要多少时间,这样你就可以使用评估报告来帮助你做数据库迁移的时间规划。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图7 一个包含错误的评估报告

    首先我们需要连接目标数据库,点击工具条上的Connect to SQL Server,输入Server name,在Database里输入HR,如图1所示。假如你的SQL Server里不存在HR数据库,点击Connect后SSMA会提示错误,问你是否创建HR数据库,选择Yes。HR数据库创建后SSMA可能会提示SQL Server Agent未运行,这仅在使用服务器端数据迁移时才会用到,默认情况下我们使用的是客户端数据迁移,所以可以点击Continue忽略。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图1 连接到SQL Server服务器

    连接上SQL Server服务器后我们就可以迁移Schema了,这里的Schema指数据以外的数据库定义,比如表结构、视图定义、存储过程等等。右键单击Oracle Metadata Explorer里的HR数据库,选择Convert Schema,如图2所示。SSMA运行一段时间后会在最下方的Output栏里显示转换是否有错误、警告或信息。这时你可以展开SQL Server Metadata Explorer里HR数据库的dbo schema,在Procedures文件夹下会发现ADD_JOB_HISTORY等存储过程,Tables文件夹下会发现COUNTRIES等表,说明Schema的迁移已经成功。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图2 转换Schema

    假如这时你使用SQL Server客户端工具SQL Server Management Studio或者Visual Studio的Server Explorer查看SQL Server上的HR数据库,你会发现找不到前面所说的存储过程、表或者视图。这是因为Convert Schema菜单项只是在SSMA的Project里进行了转换,并未转换到数据库。这么设计为了让你可以在同步到SQL Server之前再做些其他修改,比如REGIONS表里的REGION_ID列在Oracle里是NUMBER类型,它被SSMA转换成了最安全的float(53)类型,假如你知道REGION_ID就是个整形,你可以把它修改为int类型,当然你最好对COUNTRIES表的REGION列也做同样的修改。

    在确认Schema迁移没有问题后,你可以同步到SQL Server数据库了,在SQL Server Metadata Explorer里右键点击HR数据库,选择Synchronize with Database,如图3所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图3 同步HR数据库到SQL Server

    这时可能会再次弹出SQL Server连接对话框和SQL Server Agent未运行的警告,确认后会显示Synchronize with the Database对话框,如图4所示。对话框里列出了SQL Server数据库和SSMA的树结构的差别,可以选择Hide Equal Objects来过滤掉两边相同的对象。由于我们连接的是新创建的HR数据库,所以左侧显示的都是 [Not Found] 状态,假如你之前做过同步这里会显示不同的状态,这里我们点击OK继续。等待右下角的进度条走完,留意主窗口Output栏是否报错,没有报错的话SQL Server里的对象应该已经创建好了。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图4 Synchronize with the Database对话框

    再次使用SQL Server Management Studio或者Visual Studio来查看HR数据库中的对象,会发现一些$SSMA打头的表或者存储过程等,这些是迁移一些特殊对象(比如Oracle的Sequence对象)所创建出来的辅助对象。

    在成功迁移了Schema之后,我们就可以来进行迁移的最后一步:数据迁移。有了SSMA的帮助数据迁移也非常简单,右键点击Oracle Metadata Explorer里的HR数据库,选择Migrate Data,如图5所示。SSMA会再次提示Oracle和SQL Server的连接信息,假如之前做过数据迁移可能会有数据覆盖的警告信息,假如有点击Continue继续。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图5 数据迁移

    假如你的数据库数据比较多,SSMA会运行较长一段时间,在这过程中你可以随时点击工具栏上的Stop按钮来停止数据迁移。迁移结束后,SSMA会有一个数据迁移报告,如图6所示。该报告描述了迁移过程中那些表的数据被成功迁移,多少行数据被迁移以及耗时多少等等。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图6 数据迁移报告

    本文简单介绍了如何使用SSMA for Oracle 5.0来帮助我们把一个Oracle数据库迁移到SQL Server数据库,包括迁移评估、Schema迁移以及数据迁移。

    关于使用SSMA将Oracle数据库转换成SQL Server 2008的操作就介绍完毕了,希望通过本文的介绍能够带给您一些收获。

    本文我们主要介绍SSMA的安装和授权以及使用SSMA将Oracle数据库转成SQL Server 2008的过程,接下来我们开始介绍。

    SSMA的安装与授权

    步骤1: 先安装Oracle 11g  和Sql  Server 2008。

    步骤2:下载SSMA,或者向我勒索,然后安装……。

    步骤3: 打开各种所需的服务(怎么打 Win+R-------->>>services.msc---------->>>Enter)。

    步骤4: 假如你有一个  dmp 文件(这是从Oracle导出来的一个 备份的文件) ,先将他导入到Oracle中。

    怎么导入呢

    先创建一个用户Create user  用户名 identified by  密码。

    2.授权

    使用SSMA将Oracle数据库转成SQL Server 2008

    接着,可以打开命令行,可不是打开Sqlplus 哦。

    如图imp userid=(上面创建的)用户名/ 密码 full=y file=文件路径

    使用SSMA将Oracle数据库转成SQL Server 2008

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤5:你导入完成了没   不知道你数据量多少哦!   反正我话个把小时转完了……

    步骤6:打开SSMA

    使用SSMA将Oracle数据库转成SQL Server 2008

    使用SSMA将Oracle数据库转成SQL Server 2008

    新建一个项目

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤7:就此,基本完成了,然后就是 Click  Connect to Oracle。

    使用SSMA将Oracle数据库转成SQL Server 2008

    步骤8:接下来看看SQL中国研发中心的Blog:http://blogs.msdn.com/b/sqlcrd/ 你会懂的;

    数据库的转化

    这里我们选择SSMA for Oracle 5.0为例介绍一下SSMA如何帮助您从Oracle迁移到SQL Server 2008 R2。首先我们从这里下载SSMA for Oracle 5.0的压缩包,解压缩后有两个exe文件,SSMA for Oracle 5.0.exe是工具的安装包,SSMA for Oracle 5.0 Extension Pack.exe必须安装在SQL Server 2008 R2所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。

    首次运行SSMA for Oracle需要一个License,如图1所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存License的目录然后点击Refresh License按钮即可运行SSMA for Oracle了。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图1  License Management对话框

    在主窗口File菜单中选择New Project…菜单项将显示图2所示的对话框,输入项目的名字,选择SQL Server 2008作为迁移的目标数据库版本。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图2  New Project对话框

    我们将使用Oracle XE的HR schema为例(下文称之为HR数据库以避免歧义,但其实Oracle并没有SQL Server数据库类似的概念)。SSMA为提高性能,缺省情况下不加载某些示例数据库(包括HR数据库),这个缺省设置可以通过Project Settings来修改,选择Tools菜单的Project Settings菜单项,在弹出的对话框里点击General再选择Loading System Objects,然后勾选HR,如图3所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图3 Project Settings对话框

    然后我们连接Oracle服务器,点击工具条上的Connect to Oracle,输入Server名称、SID和用户名/密码,如图4所示。连接后会有个警告对话框告诉你hr用户没有足够的权限。由于我们只需要迁移HR数据库,这里可以点击Continue忽略它。假如你的Oracle服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待

    使用SSMA将Oracle数据库转成SQL Server 2008

    图4 连接到Oracle服务器

    连接上Oracle后我们首先评估一下迁移HR数据库会不会碰到问题,假如碰到问题大约需要多长时间来解决。评估并不需要连接目标SQL Server,只需要在左上方的树里展开Oracle服务器名称,然后展开Schemas,右键点击HR并选择Create Report,如图5所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图5 评估HR数据库

    SSMA运行一段时间后会打开一个评估报告的对话框,如图6所示。这个评估报告很有用,里面会列出HR数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较Oracle的PL/SQL语法和迁移后的TSQL语法。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图6 评估报告

    图7是一个包含有错误的评估报告,当包含错误时,SSMA会估算手工做转换大约需要多少时间,这样你就可以使用评估报告来帮助你做数据库迁移的时间规划。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图7 一个包含错误的评估报告

    首先我们需要连接目标数据库,点击工具条上的Connect to SQL Server,输入Server name,在Database里输入HR,如图1所示。假如你的SQL Server里不存在HR数据库,点击Connect后SSMA会提示错误,问你是否创建HR数据库,选择Yes。HR数据库创建后SSMA可能会提示SQL Server Agent未运行,这仅在使用服务器端数据迁移时才会用到,默认情况下我们使用的是客户端数据迁移,所以可以点击Continue忽略。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图1 连接到SQL Server服务器

    连接上SQL Server服务器后我们就可以迁移Schema了,这里的Schema指数据以外的数据库定义,比如表结构、视图定义、存储过程等等。右键单击Oracle Metadata Explorer里的HR数据库,选择Convert Schema,如图2所示。SSMA运行一段时间后会在最下方的Output栏里显示转换是否有错误、警告或信息。这时你可以展开SQL Server Metadata Explorer里HR数据库的dbo schema,在Procedures文件夹下会发现ADD_JOB_HISTORY等存储过程,Tables文件夹下会发现COUNTRIES等表,说明Schema的迁移已经成功。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图2 转换Schema

    假如这时你使用SQL Server客户端工具SQL Server Management Studio或者Visual Studio的Server Explorer查看SQL Server上的HR数据库,你会发现找不到前面所说的存储过程、表或者视图。这是因为Convert Schema菜单项只是在SSMA的Project里进行了转换,并未转换到数据库。这么设计为了让你可以在同步到SQL Server之前再做些其他修改,比如REGIONS表里的REGION_ID列在Oracle里是NUMBER类型,它被SSMA转换成了最安全的float(53)类型,假如你知道REGION_ID就是个整形,你可以把它修改为int类型,当然你最好对COUNTRIES表的REGION列也做同样的修改。

    在确认Schema迁移没有问题后,你可以同步到SQL Server数据库了,在SQL Server Metadata Explorer里右键点击HR数据库,选择Synchronize with Database,如图3所示。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图3 同步HR数据库到SQL Server

    这时可能会再次弹出SQL Server连接对话框和SQL Server Agent未运行的警告,确认后会显示Synchronize with the Database对话框,如图4所示。对话框里列出了SQL Server数据库和SSMA的树结构的差别,可以选择Hide Equal Objects来过滤掉两边相同的对象。由于我们连接的是新创建的HR数据库,所以左侧显示的都是 [Not Found] 状态,假如你之前做过同步这里会显示不同的状态,这里我们点击OK继续。等待右下角的进度条走完,留意主窗口Output栏是否报错,没有报错的话SQL Server里的对象应该已经创建好了。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图4 Synchronize with the Database对话框

    再次使用SQL Server Management Studio或者Visual Studio来查看HR数据库中的对象,会发现一些$SSMA打头的表或者存储过程等,这些是迁移一些特殊对象(比如Oracle的Sequence对象)所创建出来的辅助对象。

    在成功迁移了Schema之后,我们就可以来进行迁移的最后一步:数据迁移。有了SSMA的帮助数据迁移也非常简单,右键点击Oracle Metadata Explorer里的HR数据库,选择Migrate Data,如图5所示。SSMA会再次提示Oracle和SQL Server的连接信息,假如之前做过数据迁移可能会有数据覆盖的警告信息,假如有点击Continue继续。

    使用SSMA将Oracle数据库转成SQL Server 2008

    图5 数据迁移

    假如你的数据库数据比较多,SSMA会运行较长一段时间,在这过程中你可以随时点击工具栏上的Stop按钮来停止数据迁移。迁移结束后,SSMA会有一个数据迁移报告,如图6所示。该报告描述了迁移过程中那些表的数据被成功迁移,多少行数据被迁移以及耗时多少等等。 

    使用SSMA将Oracle数据库转成SQL Server 2008

    图6 数据迁移报告

    本文简单介绍了如何使用SSMA for Oracle 5.0来帮助我们把一个Oracle数据库迁移到SQL Server数据库,包括迁移评估、Schema迁移以及数据迁移。

    关于使用SSMA将Oracle数据库转换成SQL Server 2008的操作就介绍完毕了,希望通过本文的介绍能够带给您一些收获。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。