对于Oracle数据库迁移到SQL Server一般有三种方法:
1、使用迁移助手软件。
2、写程序进行转换。
3、使用链接服务器进行迁移。
迁移数据库的软件有以下两个:
1、SQL Server Migration Assistant for Oracle --微软自己开发
特点:免费、可以数据并行传输,在数据量大时迁移速度快,不容易出错,适合
大数据量。
2、Navicat Premium --卓软开发
特点:收费、操作比SSMA更加简单,但单表顺序传输速度较慢,且经常有数据
传输不完整的情况出现,适合小数据量。
这里使用的是SSMA,最新下载地址如下:
https://www.microsoft.com/en-us/download/details.aspx?id=54258
这里选择的是SSMA for Oracle 6来实现Oracle迁移到SQL Server 2008 R2。首先解压下载好的SSMA for Oracle 6的压缩包,解压后有两个exe文件,SSMA for Oracle.6.0.0.exe是工具的安装包;SSMA for Oracle.6.0.0.ExtPack.exe必须安装在SQL Server 2008 R2所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。
第一步:安装SSMA。
第二步:配置SSMA软件。
1、点击“File”选择“New Project”。

2、这里设置项目的名称,以及存放位置,需要选择迁移到对应的数据库版本。

3、首先单击“Connect to Oracle”连接到Oracle数据库,在连接Oracle数据库界面填写需
要连接的数据库。
Server Name:127.0.0.1 ---Oracle数据库的IP地址
Server Port:1521 ---Oracle数据库的端口号
Oracle SID:aml ---Oracle的服务名
Use name:system ---Oracle数据库账户名
Password:123456 ----Oracle数据库账号密码

4、连接上Oracle数据库后可以先评估下迁移对应数据库会不会碰到问题,如果碰到问题
大约需要多长时间来解决。评估并不需要连接SQL Server目标数据库,只需要在
Oracle服务器连接中展开Schemas,勾选对应的数据库,然后右击选择“Create
Report”。

5、SSMA运行一段时间后会打开一个评估报告的对话框。里面会列出勾选数据库里各种
对象(包含函数、包、存储过程、表和视图等)能够成功迁移的比例。

6、点击“Connect to SQL Server”,输入需要连接的SQL Server数据库服务器信息。
Server Name:. --需要连接的服务器IP或者实例名
Server Port:default ---数据库的端口号
Database:ReportServer --这里需要选择数据库中存在的库名
Authentication:Windows Authentication --数据库的认证方式

注意:填写的数据库名不存在,会出现下面的警告,单击“YES”会进行创建。

7、连接上SQL Server服务器后就可以迁移Schema,这里的Schema指数据以外的数据
库定义,比如表结构、视图定义、存储过程等等。在Schemas中勾选对应的数据库,
右击选择“Convert Schema”。

8、转换完成后,SQL Server数据库中就会看到相应的信息,在Output栏里面会显示是否
有错误、警告或信息。此时通过SSMS管理工具连接数据库时还不能看到任何信息。

9、在确认Schema迁移没问题后,就可以同步到SQL Server数据库了。在“SQL Server
Metadata Explorer”里面勾选对应的数据库,然后右击选择“Synchronize with
Database”。

10、这时会弹出同步信息的对话框或者包含SQL Server Agent未运行的警告。检查同步
信息没有什么问题的话,单击“OK”继续。等待右下角的进度条完成后,需要留意下
Output栏中的输出是否有什么错误,如果没有报错的话SQL Server里面的对象就应
该创建好了。

11、所有准备工作做好以后就可以进行最后一步数据迁移了。在“Oracle Metadata
Explorer”中选择需要同步的数据库右击,然后选择“Migrate Data”。

12、再跳出来的对话中输出Oracle数据库账号的密码,单击“Connect”。

13、在连接SQL Server数据库的对话框中单击“Connect”。如果之前做过数据库迁移可能
会有数据覆盖的警告信息,如果有点击Continue继续。

14、上面的步骤操作完后就会开始进行迁移,在Output中可以看到迁移的信息,右下角
的进度条可以看到迁移的进度信息。

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




