公司项目的需要,要求将oracle数据库迁移到sql server 2005中,之前也做过但具体步骤没写,现在只能自己一步一步完成。
经验总结如下:
1.配置oracle数据库服务名。刚开始做迁移还是碰到好多困难,首先oracle登录搞了好久,最后在pigyy同学的帮忙下完成,非常感谢piggy。比如用toad登录,经常遇到“ORA-12154 TNS无法处理服务名(PLAN)”,研究好久才问了piggy才知道,oracle是要通过Net Configuration Assistant里面配置,比如oracle安装了数据库plan,在默认情况下在Net Configuration Assistant里面配置也是plan这个名,用plan来访问有时会出现以上错误,所以,最好在Net Configuration Assistant里面配置将服务名改一下,如plan1106等。
2.使用Microsoft SQL Server Migration Assistant for Oracle(我用的时SSMA for Oracle.3.1.992,记得一定要将扩展包)工具使用provider oledb驱动方式mode用TNSName或connection string 方式。用connection string连接字符串示例如下:
Provider=OraOLEDB.Oracle;Data Source=PLAN1106;User Id=aa;Password=aa;Persist Security Info=true;
3.在Migration 数据之前要先登录oracle数据库和sql server数据库。登录后
在数据库中已有数据库中更换Target Schema对象。
4.在oracle数据库中,选中要迁移的表。并执行Convert Schema操作。
5.同步Schema到目标数据库。在sql server表中选中数据库下面的Schema节点右击,如下图:
6.回到oracle数据库,在数据库节点右击,如下图:
点击以上操作后,如果输出页面没有出现“不能访问目标表...”的错误,即可正常迁迁移数据。若出现错误,请重复操作以上步骤,直至没有错误为止。