使用SSMA将Oracle数据库转成SQL Server.docx
- 文档编号:18208453
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:13
- 大小:1.49MB
使用SSMA将Oracle数据库转成SQL Server.docx
《使用SSMA将Oracle数据库转成SQL Server.docx》由会员分享,可在线阅读,更多相关《使用SSMA将Oracle数据库转成SQL Server.docx(13页珍藏版)》请在冰点文库上搜索。
使用SSMA将Oracle数据库转成SQLServer
使用SSMA将Oracle数据库转成SQLServer2008
SSMA的安装与授权
步骤1:
先安装Oracle11g和SqlServer2008。
步骤2:
下载SSMA,或者向我勒索,然后安装……。
步骤3:
打开各种所需的服务(怎么打?
?
?
?
?
?
Win+R-------->>>services.msc---------->>>Enter)。
步骤4:
如果你有一个dmp文件(这是从Oracle导出来的一个备份的文件),先将他导入到Oracle中。
怎么导入呢?
?
?
?
先创建一个用户Createuser用户名 identifiedby密码。
2.授权
接着,可以打开命令行,可不是打开Sqlplus哦。
如图impuserid=(上面创建的)用户名/密码full=yfile=文件路径
步骤5:
你导入完成了没?
不知道你数据量多少哦!
反正我话个把小时转完了……
步骤6:
打开SSMA
新建一个项目
步骤7:
就此,基本完成了,然后就是ClickConnecttoOracle。
步骤8:
接下来看看SQL中国研发中心的Blog:
你会懂的;
数据库的转化
这里我们选择SSMAforOracle5.0为例介绍一下SSMA如何帮助您从Oracle迁移到SQLServer2008R2。
首先我们从这里下载SSMAforOracle5.0的压缩包,解压缩后有两个exe文件,SSMAforOracle5.0.exe是工具的安装包,SSMAforOracle5.0ExtensionPack.exe必须安装在SQLServer2008R2所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。
首次运行SSMAforOracle需要一个License,如图1所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存License的目录然后点击RefreshLicense按钮即可运行SSMAforOracle了。
图1LicenseManagement对话框
在主窗口File菜单中选择NewProject…菜单项将显示图2所示的对话框,输入项目的名字,选择SQLServer2008作为迁移的目标数据库版本。
图2NewProject对话框
我们将使用OracleXE的HRschema为例(下文称之为HR数据库以避免歧义,但其实Oracle并没有SQLServer数据库类似的概念)。
SSMA为提高性能,缺省情况下不加载某些示例数据库(包括HR数据库),这个缺省设置可以通过ProjectSettings来修改,选择Tools菜单的ProjectSettings菜单项,在弹出的对话框里点击General再选择LoadingSystemObjects,然后勾选HR,如图3所示。
图3ProjectSettings对话框
然后我们连接Oracle服务器,点击工具条上的ConnecttoOracle,输入Server名称、SID和用户名/密码,如图4所示。
连接后会有个警告对话框告诉你hr用户没有足够的权限。
由于我们只需要迁移HR数据库,这里可以点击Continue忽略它。
如果你的Oracle服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待
图4连接到Oracle服务器
连接上Oracle后我们首先评估一下迁移HR数据库会不会碰到问题,如果碰到问题大约需要多长时间来解决。
评估并不需要连接目标SQLServer,只需要在左上方的树里展开Oracle服务器名称,然后展开Schemas,右键点击HR并选择CreateReport,如图5所示。
图5评估HR数据库
SSMA运行一段时间后会打开一个评估报告的对话框,如图6所示。
这个评估报告很有用,里面会列出HR数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较Oracle的PL/SQL语法和迁移后的TSQL语法。
图6评估报告
图7是一个包含有错误的评估报告,当包含错误时,SSMA会估算手工做转换大约需要多少时间,这样你就可以使用评估报告来帮助你做数据库迁移的时间规划。
图7一个包含错误的评估报告
首先我们需要连接目标数据库,点击工具条上的ConnecttoSQLServer,输入Servername,在Database里输入HR,如图1所示。
如果你的SQLServer里不存在HR数据库,点击Connect后SSMA会提示错误,问你是否创建HR数据库,选择Yes。
HR数据库创建后SSMA可能会提示SQLServerAgent未运行,这仅在使用服务器端数据迁移时才会用到,默认情况下我们使用的是客户端数据迁移,所以可以点击Continue忽略。
图1连接到SQLServer服务器
连接上SQLServer服务器后我们就可以迁移Schema了,这里的Schema指数据以外的数据库定义,比如表结构、视图定义、存储过程等等。
右键单击OracleMetadataExplorer里的HR数据库,选择ConvertSchema,如图2所示。
SSMA运行一段时间后会在最下方的Output栏里显示转换是否有错误、警告或信息。
这时你可以展开SQLServerMetadataExplorer里HR数据库的dboschema,在Procedures文件夹下会发现ADD_JOB_HISTORY等存储过程,Tables文件夹下会发现COUNTRIES等表,说明Schema的迁移已经成功。
图2转换Schema
如果这时你使用SQLServer客户端工具SQLServerManagementStudio或者VisualStudio的ServerExplorer查看SQLServer上的HR数据库,你会发现找不到前面所说的存储过程、表或者视图。
这是因为ConvertSchema菜单项只是在SSMA的Project里进行了转换,并未转换到数据库。
这么设计为了让你可以在同步到SQLServer之前再做些其他修改,比如REGIONS表里的REGION_ID列在Oracle里是NUMBER类型,它被SSMA转换成了最安全的float(53)类型,如果你知道REGION_ID就是个整形,你可以把它修改为int类型,当然你最好对COUNTRIES表的REGION列也做同样的修改。
在确认Schema迁移没有问题后,你可以同步到SQLServer数据库了,在SQLServerMetadataExplorer里右键点击HR数据库,选择SynchronizewithDatabase,如图3所示。
图3同步HR数据库到SQLServer
这时可能会再次弹出SQLServer连接对话框和SQLServerAgent未运行的警告,确认后会显示SynchronizewiththeDatabase对话框,如图4所示。
对话框里列出了SQLServer数据库和SSMA的树结构的差别,可以选择HideEqualObjects来过滤掉两边相同的对象。
由于我们连接的是新创建的HR数据库,所以左侧显示的都是[NotFound]状态,如果你之前做过同步这里会显示不同的状态,这里我们点击OK继续。
等待右下角的进度条走完,留意主窗口Output栏是否报错,没有报错的话SQLServer里的对象应该已经创建好了。
图4SynchronizewiththeDatabase对话框
再次使用SQLServerManagementStudio或者VisualStudio来查看HR数据库中的对象,会发现一些$SSMA打头的表或者存储过程等,这些是迁移一些特殊对象(比如Oracle的Sequence对象)所创建出来的辅助对象。
在成功迁移了Schema之后,我们就可以来进行迁移的最后一步:
数据迁移。
有了SSMA的帮助数据迁移也非常简单,右键点击OracleMetadataExplorer里的HR数据库,选择MigrateData,如图5所示。
SSMA会再次提示Oracle和SQLServer的连接信息,如果之前做过数据迁移可能会有数据覆盖的警告信息,如果有点击Continue继续。
图5数据迁移
如果你的数据库数据比较多,SSMA会运行较长一段时间,在这过程中你可以随时点击工具栏上的Stop按钮来停止数据迁移。
迁移结束后,SSMA会有一个数据迁移报告,如图6所示。
该报告描述了迁移过程中那些表的数据被成功迁移,多少行数据被迁移以及耗时多少等等。
图6数据迁移报告
本文简单介绍了如何使用SSMAforOracle5.0来帮助我们把一个Oracle数据库迁移到SQLServer数据库,包括迁移评估、Schema迁移以及数据迁移。
关于使用SSMA将Oracle数据库转换成SQLServer2008的操作就介绍完毕了,希望通过本文的介绍能够带给您一些收获。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用SSMA将Oracle数据库转成SQL Server 使用 SSMA Oracle 数据库 转成 SQL