SQLServer到Oracle的数据迁移.docx
《SQLServer到Oracle的数据迁移.docx》由会员分享,可在线阅读,更多相关《SQLServer到Oracle的数据迁移.docx(19页珍藏版)》请在冰豆网上搜索。
SQLServer到Oracle的数据迁移
《高级数据库应用》课程项目报告
《数据库迁移》
姓名:
组员:
班级学号:
指导教师:
完成报告时间:
数据库迁移
1.实验环境:
硬件环境:
⏹Intel(R)Core(TM)2DuoCPUP42002.13GHz
⏹2.00GHz2.00GB内存
软件环境:
⏹windowsXPProfessionalsp3
⏹oracle9i
⏹SQLserver2005
⏹OracleSQLDeveloper
2.前提:
是要在oracle中建立一个和SQLServer中名字一样的数据库,并创建新的用户名和密码
3迁移过程:
(1)一般情况:
只迁移表,而不是存储过程、函数等,可以使用SQLServer2005自带的导入导出工具。
1)迁移方法:
右键单击SQLServer中你要导出的数据库--》任务--》导出数据--》下一步--》添好各选项(SQLServer数据源的)下一步--》数据源等默认——》下一步,目标选择MicrosoftOLEDBProviderforOracle,属性中填入你要导入的oracle数据库的名字,用户名,密码------>下一步------>选中全部表,下一步------>下一步------>下一步.将会将表结构和表中的数据一同导入到oracle中去。
2)实例:
将SQLServer数据库aaa导出到Oracle中
<1>首先在Oracle中创建数据库aaa.:
图
(1):
在Oracle中创建数据库aaa.
<2>下一步:
选择创建数据库:
图
(2):
选择创建数据库
<3>创建数据库名称aaa:
图(3)创建数据库名称aaa
<4>右键单击SQLServer中的aaa数据库,选择任务,导出数据:
图(4)从SQL的aaa数据库中导出数据
<5>运行数据库导出向导:
图(5)运行数据库导出向导,数据库选择aaa
<6>选择目标MicrosoftOLEDBProviderforOracle:
图(6)选择将要迁移的目标MicrosoftOLEDBProviderforOracle
<7>数据库连接属性:
图(7)输入连接属性
图(8)选择要迁移的内容
<8>选择要复制的表或者视图:
图(9)选择要迁移的具体内容,这里选择的是奖惩信息
<9>是否保存SSIS包:
图(10)立即执行,未保存SSIS包
<10>完成该向导:
图(11)完成该向导
<11>执行成功:
图(12)执行成功界面
<12>具体表的迁移:
图(14)具体表的迁移,已经完成奖惩信息表的迁移。
(2).特殊情况:
如果要导出大部份对象,触发器,存储过程等,则可以使用OracleSQLDeveloper工具
1)准备工作:
首先在网站SQLDeveloper工具并下载JTDS附加到OracleSQLDeveloper里
2)操作实例:
<1>没加载JTDS前的OracleSQLDeveloper新建界面,只有Oracle和Access两个数据库:
图(15)没加载JTDS前的OracleSQLDeveloper新建界面
<2>点击OracleSQLDeveloper的菜单的工具(Tools)→首选项(Prefences)→数据库→第三方JDBC驱动程序,如下图,添加条目,选择jtds
图(16)加载下载好的jtds
<3>添加完成,多了两个数据库SQLServer和Sybase:
图(17)多了两个数据库,有了我们需要的SQLServer
<4>连接SQLServer和Oracle:
图(18)连接SQLServer,用户名用的system.检索数据库选择要迁移的数据库student,
然后点击测试、保存即可。
<5>接下来同上建立Oracel数据库的连接,用户名用system,SID选择数据库EnterDB,)测试保存。
图(19)建立Oracel数据库的连接
<6>创建资料档案库(此过程可以跳过)
资料档案库是用来储存其为移植进程所收集和转换的元数据。
不管你要进行多少次移植操作,建立
移植信息库只需要执行一次。
选择SQLDeveloper工具栏里的移植--资料档案库管理--创建资料档案库
图(20)创建资料档案库
<7>捕获数据:
右键单击源数据库student的用户dbo,选择捕获方案。
图(21)捕获数据完成时截图
<8>转换为Oracle模型:
在捕获的模型里,右键单击新生成的模型,选择“转换为Oracle模型”,如图:
图(22)选择转换为Oracle模型
<9>弹出如下图所示的映射关系,使用系统默认。
图(23)映射关系选择系统默认
<10>点击应用开始转换,完成后如图:
图(24)转换完成
<11>转换的模型里有多个条目,如图:
图(25)转换的模型里有多个条目
<11>生成Oracle对象
生成Oracle元素的SQL语句,在生成前,应当修改转换模型的方案名称。
修改为导入库的用户名称。
图(26)生成Oracle对象
<12>然后选择生成:
图(27)选择生成
<13>生成完成后的脚本编辑器,如下图所示:
图(28)生成完成后的脚本编辑器
删除一些不必要的脚本,
例如:
创建用户脚本、函数、包等。
还要修改执行过程中错误的语句,具体要看执行时的错误信息。
然后开始执行脚本。
<14>查看Oracle的用户dbo.如图:
图(29)查看Oracle的用户dbo
数据库迁移工作全部完成,成功的将SQLServer2005的数据库student的数据移到了Oracle9i的dbo用户下面。
4.参考文献:
任树华,《Oracle10g应用指导与案例精讲》,机械工业出版社,2007.2
XX文库:
《SQLServer到Oracle的数据迁移方法》广西大学计算机与电子信息学院。
5.心得体会:
通过本次的实验项目,加强了我们:
灵活运用所学知识的能力,实践软件应用能力,网上搜索资料的能力,询问相应的老师一些针对性的问题的能力和克服困难的能力。
感谢任老师给予我们这次锻炼的机会!