SSMA For Oracle简明使用说明
Microsoft SQL Server Migration Assistant(SSMA)是一种将Oracle数据库数据迁移到Sql Server数据库中的工具。其基本过程是将Oracle数据库对象转换为SQL Server为数据库对象,在中SQL Server创建这些对象,然后将数据从Oracle迁移得到SQL Server中。下面是如何使用该软件的简明过程和步骤。
在Sql Server 2012中创建一个数据库Test_Db_Orcl,排序规则为Chinese_PRC_CS_AS(注意不要使用大小写不敏感的Chinese_PRC_CI_AS),主要原因是Oracle的主键列是大小写敏感的,大小写不敏感的排序规则会因为主键插入重复数据而导致插入数据失败。如下图:
安装Ssma For Oracle,新版本是8.0,支持Oracle9.0和Sql Server 2012及以上版本的数据库,下载地址是:Https://Www.Microsoft.Com/En-Us/Download/Details.Aspx?Id=54258,更详细的要求见网页下方的System Requirements。从实践的角度看,使用64位的操作系统和64位的数据库是少走弯路的有效方法。
安装完成后,界面如下图:
点击New Project,新建一个工程,设置好Name(工程名称),Location(工程保存的文件夹),Migrate To(目标数据库类型)三个参数。
新建工程完毕后,点击Connect To Oracle按钮,并设置好各项连接Oracle的参数。
选择要转换的Oracle对象,本示例是Plfasp2019和Xzzc
点击Ok后,程序会对所要转换对象进行加载。加载完成后会在Oracle Metadata Explorer中出现Oracle的部分数据库对象,如下图:
点击Connect To Sql Server按钮,设置好连接Sql Server的各项参数,在Database中输入前面所建立的Sql Server数据库名Test_Db_Orcl,如下图:
点击Connect按钮,连接成功后会在Sql Server Metadata Explorer中出现所建立的Test_Db_Orcl数据库。
在Oracle Metadata Explorer勾选要转换的Schemas(可以只选择部分数据库对象,实践中建议只选择Tables和Views两类对象,其他对象因为数据库的不同而会出现转换不成功的问题)及Sql Server Metadata Explorer的状态下,右键点击Schemas,选择Create Report,或者点击工具栏的Create Report。
如果不习惯Oracle的架构名称,可以在Schema Mapping中将目标架构修改为Dbo(不太赞成这样)
在漫长的等待后,创建报告完成。点击Convert Schemas按钮,完成后,在Sql Server Metadata Explorer窗口中右键点击目标数据库,选择Synchronize With Database其作用是在Sql Server中创建Oracle中的数据库对象定义。
完成后在Sql Server中可以看到迁移过来的数据库定义(表、视图、存储过程、触发器等等),此时的表仅仅是一个空表,没有任何数据记录。
点击Oracle Metadata Explorer窗口,点击Migrate Data,输入Oracle参数和Sql Server参数。
点击Connect开始执行数据迁移,在下面的窗口中会出现数据迁移的信息。
迁移完成后,会生成一个迁移数据报告,按照Success Rate升序排列,可以看到成功率低的表格,结合左下角的Error List分析迁移失败的原因。
下图是迁移成功后sql server 中的情况。
至此,数据迁移完成。更多细节问题请参考帮助文档。