怎么将sqlserver数据库迁移从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

关键词搜索
热门推荐:
PHP将数据从Oracle向Mysql数据迁移的技术要领
由于Mysql可以节约费用,并且其稳定性和功能也在提高,所以部分用户希望从Oracle迁移到Mysql上。本文就介绍了一下用PHP将Oracle迁移到Mysql的过程中用到的技术要领及一些注意事项。
技术分类:
行业属性:
相关厂商:暂无机构
文档大小:44 KB
文档类型:doc
日期: 13:57:38
关键字:无关键字
会计凭证管理是公司财务部门的一项重要工作。企业使用ORACLE ERP系统后,再使用传统凭证管理方式将会极其不适应,新的ORACLE ERP系统必然要有新的解决方案。 
分享人:&&文件:82 KB
本白皮书将详细探讨使用 SOA 降低应用程序升级的成本与风险的原因及方法。这将有助于准确理解现在通过“类似”升级投资于 SOA 技术的生命周期价值。
分享人:&&文件:623.1 KB
东汽在推行了Oracle ERP后,虽然\\\\\\\"通过计划平台下达的生产计划有700条,生产业务活动有4500条,生产计划时间的准确率达到了70%,数量准确率达到了92%以上\\\\\\\"这一指标和汽车、冰箱这类BOM相对固定的典型离散制造企业有一定的差距,但是对于这种边设计边生产、单件制造的大型装备制造型企业来说,上述指标已属遥遥领先。而待东汽新厂房建好后,设备布局优化后,这个指标会有一个较大的提升。
分享人:&&文件:164 KB
Oracle与SAP两种ERP在软件产品的成熟度;技术的先进性;创新性、生命力、在新兴应用领域的发展;业务数据的共享和分析;软件功能的比较;软件的开放性和集成性等方面均有差别。
分享人:&&文件:42 KB
在Debian Etch Linux上成功安装了MySQL 5.0.27 icc版本,并使用JDBC测试中文成功的案例,供大家参考!
分享人:&&文件:33.5 KB
MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、/var/tmp或/usr/tmp。MySQL会以隐含方式创建所有的临时文件。这样,就能确保中止mysqld时会删除所有临时文件。
分享人:&&文件:28 KB
无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。
分享人:&&文件:33 KB
Oracle数据库的迁移流程为:在迁移之前,写好方案,特别是实施的方案步骤一定要写清楚,然后进行完整的测试。针对物理迁移,也即通过RMAN备份来进行还原并应用归档的方式(这里不讨论通过dd方式进行的冷迁移),虽然注意的是要将数据库设为force logging的方式,在用RMAN做全备之前,一定要执行一些程序,否则可能会产生坏块。
分享人:&&文件:36.5 KB
Oracle数据仓库的体系结构可以分成三个层次:数据获取层,数据存储层,数据展现层。
分享人:&&文件:28 KB
设想您将领会全部数据的意义,从中提取重要的洞察信息,然后及时将其交给正确的人员以产生积极的影响。这就是Oracle BI解决方案的精髓。Oracle BI为您提供一组常用的BI工具以及Oracle企业绩效管理(EPM)系统的共享服务。该技术支持多种多样的业务和财务绩效管理应用程序、BI 应用程序和预测分析应用程序。
分享人:&&文件:1.2 MB
最近笔者学了一些PHP和Ruby的东西,就将Java、.Net、PHP、Ruby的应用做个比较。
分享人:&&文件:32 KB
ORACLE实现异种数据库连接服务的技术叫做透明网关(Transparent Gateway)。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种主流数据库的互联。现在通过oracle访问sybase数据库,把配置oracle9i TRANSPARENT GATEWAY FOR SYBASE的步骤写成文档,供需要的网友参考!
分享人:&&文件:39 KB
在默认情况下,MySQL搜索不区分大小写(但某些字符集始终区分大小写,如czech)。这意味着,如果你使用col_name LIKE \\\'a%\\\'进行搜索,你将获得以A或a开始的所有列。
分享人:&&文件:24.5 KB
经常使用Oracle10g,我们可以发现以前删除的表在数据库中出现了特别多的垃圾表,如何快速掌握删除Oracle 10g垃圾表呢?
分享人:&&文件:26.5 KB
控制文件把Oracle引导到数据库文件的其它部分。启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle 打开控制文件。最终打开数据库时,Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。
分享人:&&文件:35 KB
在最新的版本中,windows环境与linux环境下使用一套代码。本文以mysql-5.1.7作为分析的对象,详细讲解编译MySQL内核的方法。
分享人:&&文件:140 KB
数据复制技术可以通过将这些共享数据复制到位于不同地点的多个数据库中,从而实现数据的本地访问,减少了网络负荷,并提高了数据访问的性能,而且通过对数据库中的数据定期同步(通常是每天晚上),从而确保了所有的用户使用同样的、最新的数据。该技术适用于用户数量较大、地理分布较广、而且需要实时地访问相同数据的应用模式。
分享人:&&文件:46 KB
本文我们对PHP编译器可报出的一些看起来可能没有什么意义的错误有了一定的了解。我们需要将所学的知识应用到如何避免错误以及错误出现时如何纠正错 误。调试是一个开发人员所有工作中的最重要的部分之一。提高调试效率可大大加快整个工作的进度,缩短完成一项工程所需花费的时间,同时还可以明显减轻代码 失败所带来的精神压力。
分享人:&&文件:N/A
康盛创想推出的Manyou开放平台与第三方开发者为所有的UCenter Home网站上的网民提供个性化的互联网应用。站长开通和支持Manyou开放平台,可免费使用极其丰富的各种功能应用,以增强用户对网站的粘性。本文笔者就为大家详细的介绍下此功能的设置。
分享人:&&文件:320.5 KB
Sun基于X64服务器平台打造系统优化的MySQL捆绑解决方案,提供了易于安装、配置、管理和优化的MySQL数据库系统,以满足更多中小企业、业务部门及Web 2.0客户的应用需求。采用高性能和功能强大的 Sun Fire X4140 or X4240 服务器和 Sun StorageTek 2530 存储阵列,打造出系统优化、易于管理和部署的MySQL数据库系统整体捆绑式解决方案,此解决方案构建和运行 MySQL数据库应用系统的所有硬件、存储和软件系统组件。
分享人:&&文件:27.5 KB
1 2 3 4 5 6 7 8 9 10
Ignite 2017大会定于9月25日至29日在美国佛罗里达州中部奥兰多举行。这场为期5天的大会主要针对商业应用开发商、企业级应用以及各种微软工具,从而为企业用户提供更完善的服务不断提升他们的生产力。....
最新白皮书
1 2 3 4 5 6 7 8 9 10
整体竞争力榜
云计算能力榜
最具人气榜
&北京第二十六维信息技术有限公司版权所有.京ICP备号-7 京ICP证161336号 京公网安备 00号用户名:Kevin_ora
文章数:16
访问量:6257
注册日期:
阅读量:1297
阅读量:3317
阅读量:581948
阅读量:466518
51CTO推荐博文
业务需求,需要将MySQL数据库内容迁移至Oracle数据库中,数据量在300g左右,为了方便,通过Oracle自己的工具SQLDeveloper迁移,步骤如下:下载mysql-connector-java-5.1.24驱动,存放在C:\sqldeveloper\jlib目录下配置mysql-connector第三方驱动链接MySQL及Oracle数据库&& 创建MySQL移植资料库创建ORACLE migration usercreate user migrater identified by ******* defualt 如果不知道具体需要赋予哪些权限的话,可以直接赋予DBA权限grant dba to migrater;SQLDeveloper链接用migrater用户5.按照如图步骤操作,在转换项选择各个字段由MySQL转换成Oracle的转换规则,配置完成后在oracle库中会生成一个和MySQL数据库名字一样的schema,里面就是要转换的数据。最后使用数据泵多出导入,将schema类型设计为你需要的结构!本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL - OneOfJavaFan - 博客园
随笔 - 36, 文章 - 0, 评论 - 0, 引用 - 0
有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle。 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面。 当然,Navicat的数据库迁移无法做到完美,一些依赖数据库特征,人无我有的内容是无法迁移的,例如Oracle的存储过程、序列、MySQL的自增字段等。 木头大哥做过测试,Oracle的Date字段也是在一定条件下才能迁移成功的。 以下是从Oracle迁移到SQL Server的步骤: 1.首先安装Oracle和SQL Server 此处忽略安装步骤 2.安装Navicat 此处忽略安装步骤 3.建好Oracle数据库名为framework的Schema,并建好表录入好数据;在SQL Server里新建数据库framework。然后在Navicat里面配置好Oracle连接和SQL Server连接,例如:
& 4.点击工具-&数据传输
5.选择数据源和目标,注意其中数据库和模式的选择,
6.Navicat开始传输数据了,数据量不大的数据库,很快就传输完成。最后汇报:Finished – successfully &
& 如果中途传输出错,或许修改几个字段的类型定义就传输通过了,需要耐心解决问题。幸好耐心就是IT江湖人士的常见美德。 最后,如上所述,一些依赖数据库特征,人无我有的内容是无法迁移的。 Oracle没有自增字段,传输到SQL Server后可以将id转换为自增字段。 大功告成! 以此类推,如何把数据从MySQL迁移到SQL Server、从MySQL迁移到Postgre SQL、从Oracle迁移到MariaDB、SQLServer迁移到SQLite,你懂的。 (一些工具的下载地址 ) 露气寒光集,微阳下楚丘。猿啼洞庭树,人在木兰舟。广泽生明月,苍山夹乱流。云中君不见,竟夕自悲秋。 木头大哥所发的文章均基于自身实践,各位江湖好汉可以通过: 联系之。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
只不过在用文件方式安装的时候一直不能安装成功,提示下述两个文件无效,最后没办法,我就不管提示,直接点击完成,反而安装上去了。不知道是什么原因。
&&&&& 重启该程序之后即可开始进行移植数据库了。
建立资料档案库(Migration Repository)
&&&&&&一、连接到Oracle
&&&&& 在程序左边的连接窗口中,点击加号按钮,添加一个到Oracle数据库的dba连接,如下图:
&&&&&& 配置完成后,点击连接按钮,连接到数据库。
&&&&&&二,建立用户
&&&&&& 以下这一大段是从网上抄的,我自己实际做的时候没有建立这个用户,因为我的orcl用户具有以下权限,
&&&&& 打开到Oracle数据的连接,新建一个用户,我们要在该用户的模式中建立所谓的“资料档案库”,并使用该用户去建立SQL Server移植后的用户名,以及做其它的一些工作。按照帮助中的说明,这个用户最少需要以下权限和角色:
Roles&CONNECT WITH ADMIN OPTION,RESOURCE WITH ADMIN OPTION
Privileges&ALTER ANY ROLE,ALTER ANY SEQUENCE,ALTER ANY TABLE,ALTER TABLESPACE,ALTER ANY TRIGGER,COMMENT ANY TABLE,CREATE ANY SEQUENCE,CREATE ANY TABLE,CREATE ANY TRIGGER,CREATE VIEW WITH ADMIN OPTION,CREATE PUBLIC SYNONYM WITH ADMIN OPTION,CREATE ROLE&CREATE USER,DROP ANY SEQUENCE,DROP ANY TABLE,DROP ANY TRIGGER,DROP USER,DROP ANY ROLE,GRANT ANY ROLE,INSERT ANY TABLE,SELECT ANY TABLE,UPDATE ANY TABLE
以下语句直接建立一个名为migrations的用户:
-- Create the user&create user MIGRATIONS
identified by MIGRATIONS&& default tablespace USERS&& temporary tablespace TEMP&& profile DEFAULT;&-- Grant/Revoke role privileges&grant connect to MIGRATIONS&grant resource to MIGRATIONS&-- Grant/Revoke system privileges&grant alter any role to MIGRATIONS;&grant alter any sequence to MIGRATIONS;&grant alter any table to MIGRATIONS;&grant alter any trigger to MIGRATIONS;&grant alter tablespace to MIGRATIONS;&grant comment any table to MIGRATIONS;&grant create any sequence to MIGRATIONS;&grant create any table to MIGRATIONS;&grant create any trigger to MIGRATIONS;&grant create any view to MIGRATIONS;&grant create materialized view to MIGRATIONS&grant create public synonym to MIGRATIONS&grant create role to MIGRATIONS;&grant create session to MIGRATIONS&grant create synonym to MIGRATIONS&grant create tablespace to MIGRATIONS;&grant create user to MIGRATIONS;&grant create view to MIGRATIONS&grant drop any role to MIGRATIONS;&grant drop any sequence to MIGRATIONS;&grant drop any table to MIGRATIONS;&grant drop any trigger to MIGRATIONS;&grant drop tablespace to MIGRATIONS;&grant drop user to MIGRATIONS;&grant grant any role to MIGRATIONS;&grant insert any table to MIGRATIONS;&grant select any table to MIGRATIONS;&grant unlimited tablespace to MIGRATIONS&grant update any table to MIGRATIONS;
&&&&&& 再次点击连接中的加号按钮,添加一个使用刚刚新建立的用户的连接。
&&&&&& 连接后,在该连接上点击右键,选择移植资料档案库-关联移植资料档案库,程序会在该用户下建立移植资料档案库所需要的表、存储过程等等,弹出一个对话框显示当前建立的进度,稍等片刻即建立完毕。
数据库移植向导
&&&&& 一,建立到源SqlServer数据库的连接
&&&&& 在连接窗口中,点击绿色加号按钮,打开连接配置窗口,按下图建立到SqlServer的连接:
关于这里的端口是否要由1433改为1434,我在实际实验的时候没有改,也能成功的。
&&&&&&二、启动数据库移植向导
&&&&& 建立到SqlServer的连接后,开始对数据库进行移植。有两个地方可以启动数据库移植向导,一个是在新建的SqlServer连接上点击右键,选择移植到Oracle,另一个是在菜单工具-移植-移植,启动向导后,第一页当然是向导的简介,通过简介,我们可以知道整个移植过程有7步,并且有两个先决条件,如下图:
&&&&&& 直接点击下一步。
&&&&&&三、选择资料档案库
&&&&& 在这个页面中,我们也可以去建立连接和资料档案库,也就是前一部分中我们所做的工作在这里也可以进行。当然选择我们刚刚建立的migrations(我实验的时候仍然用的是orcl用户)连接,如下图:
&这里截断的意思是将资料档案库清空,我们建立一个移植项目后,所有抓取的数据库结构信息、统计信息还有转换记录等都保存在这个资料档案库中,只要项目名称不同,即使不清空资料档案库也不会影响到移植工作。当然,如果希望更“清爽”一点,也可以勾选。这是后话。
这里千万要注意:这里的截断要选择上去,为什么呢?因为在后面要时行的sqlldr的时候选项默认的是insert,没有办法将数据插入到表格中去。所以在这里要选择截断,到了sqlldr中的时候选项就变成truncate了。我为这个选项吃过一次亏,后来查找了资料之后就为这个选项重新做了一次才成功。
&&&&&&四、为转换项目命名
&&&&& 选择好资料档案库后,点击下一步,为我们的转换项目输入名称和备注,以便识别。另外,还需要指定脚本生成目录,用于存放向导执行过程中生成的脚本。
&&&&&&五、选择源数据库连接
&&&&& 然后继续下一步,选择源数据库,在这里有联机和离线两种模式,联机即是直接连接到源数据进行抓取,而离线则是在SqlDeveloper不直接连接到源数据库的情况下,通过SqlDeveloper提供的脚本预先捕获数据库,得到数据库结构文件后,通过向导导入。
&&&&& 这里当然是选择我们刚才建立的SqlServer连接。
&&&&&&六、选择捕获源数据库
&&&&& 在这一步中,显示为两个多选框,左边列出Sql Server中所有可选的数据库,通过中间的按钮将数据库移动到右边的已选数据库中。如下图:
&&&&&&七、数据类型转换选项
&&&&& 在这一页中,列出了所有系统内置的数据类型转换对应关系。可以其进行修改,一般不作修改直接下一步。如下图:
&&八、选择目标数据库
&&&&& 与源数据库的选择一样,目标数据库的选择同样也有联机和离线两种方式。仍旧选择联机。选择orcl(migrations)连接。
&&&&&&九、移动数据选项
&&&&& 这个页面中,也提供了联机或离线两种方式进行数据移动。所谓联机虽然“据说”可以直接以联机的方式从源数据库中移动数据到Oracle中,可我试过几次没有成功,原因不明。最终我选择了离线的方式进行数据移动。所谓离线移动数据,是在我们指定的脚本存放目录中生成“数据移动”脚本,分别在源数据库中卸载数据(即导出)和在目标数据库中加载数据。选择好后,点击下一步。
&&&&&&十、选项完毕,开始执行
&&&&& 在向导的最后,是一个用于确认的“概要”页面。确认无误后,点击完成。移植将会开始执行。
&&&&& 上一部分说了移植向导在Oracle数据库中自动生成了我们所需要的表结构,但是并没有帮我把数据成功导入过去。于是我们采用了生成离线数据移动脚本的方式来导数据。
&&&&& 在移植向导中的项目页中,我们选择了脚本生成的目录,打开该目录,可以看到一个名为“数据移动\项目名称\日期时间\”的子目录,其中包含了如下图所示的文件:
&看以看到其中包含了4个脚本文件,两个是用于Windows的,另两个是用于*nix的。名为unload_script的是数据导出脚本,用于从源数据库中生成数据导出文件,名为oracle_ctl的是数据导入脚本。
&&&&& 打开cmd,浏览到当前目录,执行以下命令以导出数据:
&unload_script [server] [username] [password]
&&&&& 其中的server是源数据库服务器,username和password是能访问到源数据库的用户名密码。稍等一会,提示导出完成后,接着执行下面命令以导入数据:
&oracle_ctl [oracleusername] [password]
&&&&& 在这里不需要指定数据库名之类的,因为在脚本中已经指定了。
&&&&& 等待片刻导入完毕后即可。蛮简单的。不明白为什么联机就是不能成功,做的难道不是一样的工作嘛。
SqlServer中的架构到Oracle中的模式,名称的处理
&&&&& 通过执行移植向导,如果没有错误的话,那么表结构基本上都会建立起来了,在连接中打开orcl(migrations)连接,找到最下面的其它用户,假设你的表都在dbo架构下,那么找到dbo_源数据库名,展开它,可以看到在表中已经有原数据库中的所有表。但是,为什么会显示为dbo_源数据库名呢?我很不喜欢这样的用户名。我希望它显示为源数据库名,要怎样做呢?
&&&&& 在程序的左下角,是移植项目窗格,在里面可以看到我们刚才建立的移植项目名。展开它,会显示我们执行过向导的日期和时间,继续展开,可以看到两个节点,叫作捕获的数据库对象和转换的数据库对象,如下图:
&在捕获的数据库对象上点击右键,选择转换,再次打开数据移植向导。点击下一步,会直接跳转到转换页,这一次的转换页面与前一部分的转换页稍有不同。不同之处在于多出了一个选项卡,叫对象命名,选择它打开,如下图所示:
&在这个页面中,显示了一个数据列表,列出了源数据库的表名、字段名、约束名、视图名、架构名等等所有的标识符的原始标识符、新建标识符、是否经过转换、原始限定名、标识符类型等信息。因为Oracle中不支持30个字符以上的标识符,所以当碰到原始标识符超过30个字符时,移植向导会自动将之截断,如果有重名,则会加上_1之类的后缀。
&&&&& 很明显,在这里,它把我们原来的dbo架构名转换成了dbo_数据库名,我们只要找到它,将新标识符改为数据名,即可实现我们这部分的需求。
&&&&& 修改完成后,点击下一步,接着按之前的设置完成整个向导,将修改提交到资料档案库中。注意,这次的向导并没有去帮我建立新用户和表结构等等,还需要进一步操作。
&&&&& 在主界面中的移植项目窗格,在转换的数据库对象上点击右键,选择生成目标,再次打开移植向导,又一次按之前我们的选择完成整个向导,这一次,才是真正建立了我们想要的用户名。
&&&&& 然后,把自动生成的老用户名和模式都删除掉吧。具体操作就不细说啦。
阅读(6380)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'(转)(结合自己实验)使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g',
blogAbstract:'& \r\n单位有一个需求是把SQL SERVER 2008 中的数据导出到Oracle 11gR2数据库中去,一开始想的办法是用SQL SERVER 2008的一个导入导出工具,没想到这个工具在实际使用时太过麻烦,最主要的原因是各字段类型在从SQL SERVER 2008到Oracle 的转换过程中不够智能。想想看,本身要导入导出数据的情况下,数据肯定是海量级的,那么如果要对每个表中的各个字段进行重新检查与定义,那这个工作相对于人来说,也是海量级的了。所以查找了很多资料之后,决定用Oracle提供的工具,叫Oracle Sql Developer。\r\n另外,通过第三方驱动包,该工具还支持连接和管理各种主流数据库服务器。\r\n',
blogTag:'oracle',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:2,
publishTime:0,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}博客访问: 1461346
博文数量: 388
博客积分: 10161
博客等级: 上将
技术积分: 5228
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
mysql到oracle的数据迁移&/&&& 15:40:32 / 个人分类:&/&&/&当一个企业内部使用的种类繁杂时,往往需要有一个工利用&Migration Workbench将第三方架构对象移植到Oracle数据库。具能够轻轻松松地把这些数据库中所有的数据重审一遍,然后通过把对象和数据移植到一个Oracle数据库的方法合并这些数据库。本专题将为大家介绍这样一个工具——新一代Oracle Migration Workbench,它是Oracle&&Developer的扩展工具,功能强大,让你能够在Oracle和第三方数据库里存取数据,并把第三方数据库移植到同一个Oracle 9iDatabase或Oracle Database 10g,可移植的数据包括架构对象、触发器和存储程序。目前能够支持的第三方数据库包括Microsoft SQL&、Microsoft Access和。  本文首先介绍怎样配置安装环境,接着以Microsoft SQL Server数据库为例,为大家演示怎样浏览SQL Server 数据库对象和数据,并把它们移植到一个Oracle数据库。  配置运行环境  在进行第三方数据库对象移植之前,必须先配置好Oracle SQL Developer和Oracle Migration Workbench的运行环境,以确保能够与第三方数据库正常连接。在自1.2.0.29.98版本开始,Oracle SQL Developer中就附带有Oracle Migration Workbench。而Oracle SQL Developer则可以在Oracle的官方网站上下载,链接地址为。  Oracle SQL Developer利用&DataBase Connectivity (JDBC)连接到数据库,因此除了安装Oracle SQL Developer,还需要为需要连接的第三方数据库安装和配置JDBC驱动程序。相关第三方数据库的下载要求和链接信息列举如下:  ·MySQL JDBC驱动程序,5.04版,下载地址  ·Microsoft SQL Server需要有JDBC驱动程序,相关链接& 1.2版的下载地址为  · 由于Microsoft Access使用JDBC/ODBC,所以不需要额外的驱动程序。  装配驱动程序  一旦下载完所需的JDBC驱动程序后,展开驱动程序二进制JAR文件,通常是下载的归档文件内部的一个独立JAR文件。  · 对于MySQL,下载的mysql-connector-java-5.0.4.tar.gz(或.zip)压缩包里包含一个名为mysql-connector-java-5.0.4-bin.jar的二进制驱动JAR文件。  · 对于SQL Server,jtds-1.2-dist.zip压缩包里包含一个名为jtds-1.2.jar的文件。  确保第三方数据库启动且正常运行,并启动Oracle SQL Developer。在主菜单里选择Tools -& Preferences...,展开数据库节点,选择Third Party JDBC Drivers,点击Add Entry...。接着浏览并选择上文提到的JAR文件,点击OK。  创建数据库连接  在运行Oracle SQL Developer里的一个数据库之前,需要先建立一个数据库连接。为任何一个你想要浏览和作为移植源的第三方数据库和任何一个你想要流浪和作为移植目标的数据库建立分别建立一个连接。  想要在Oracle SQL Developer建立一个数据库连接,首先点击Connections选项卡,右击Connections节点选择New Connection。想要为SQL Server建立一个连接,点击SQLServer选项卡,然后按照以下顺序完成连接工序:  输入连接名,如SQLServer2005_mwb  输入用户名和口令  输入SQL Server database所在的机器的主机名  输入端口  接下来,点击Retrieve数据库以生成可移植SQL Server数据库表单。  最后点击Test,确保你所创建的所有连接都是成功的,然后点击Connect保存连接,关闭对话框,连接到选择好的SQL Server数据库。  浏览数据  当你打开Oracle SQL Developer里的一个数据库连接的同时,也打开了一个SQL工作表供你写入基本的查询和命令。展开你建立好的SQL Server连接,导航至dbo菜单下的Tables节点。你可以选择和拖拽任何图表到SQL工作表上,而且这个操作会产生一个SELECT指令。按F9键执行这一查询。  按F5键可以进行多重查询。同样的对于任何其他的Oracle数据库连接,你可以点击列表头对返回的数据进行分类排序。  直接点击表就可以查看表的定义,如Connections Navigator 中的Customers。注意这时显示的选项卡与连接到Oracle database时出现的选项卡稍许不同。还要注意当Oracle SQL Developer连接到一个Oracle数据库时,右键快捷菜单提供很多Data Definition Language (DDL)命令或实用命令;第三方数据库连接时的右键菜单主要是浏览和移植命令。建立一个信息库  Oracle Migration Workbench利用一个Oracle数据库架构作为移植信息库,用来储存其为移植进程所收集和转换的元数据。不管你要进行多少次移植操作,建立移植信息库只需要执行一次就够了。这个信息库由37个表以及相关的主键、索引,8个视图,触发器和PL/SQL代码组成。虽然不是必须的,不过Oracle还是建议专门为这个信息库配置一个数据库架构。  必须赋予创建和拥有这个信息库的用户多种系统权限和任务。列表1创建了一个名为migration的用户,并赋予其必要的特权。  代码列表1:创建migration用户  CREATE USER migration IDENTIFIED BY migration  DEFAULT TABLESPACE users TEMPORARY TABLESPACE  GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE PUBLIC SYNONYM  TO migration WITH ADMIN OPTION;  GRANT ALTER ANY ROLE, ALTER ANY SEQUENCE,  ALTER ANY TABLE, ALTER TABLESPACE, ALTER ANY TRIGGER,  COMMENT ANY TABLE, CREATE ANY SEQUENCE, CREATE ANY TABLE,  CREATE ANY TRIGGER, CREATE ROLE, CREATE TABLESPACE,  CREATE USER, DROP ANY SEQUENCE, DROP ANY TABLE,  DROP ANY TRIGGER, DROP TABLESPACE, DROP USER,  DROP ANY ROLE, GRANT ANY ROLE, INSERT ANY TABLE,  SELECT ANY TABLE, UPDATE ANY TABLE  TO  一旦你创建了这个用户,你就需要为这个用户建立一个新的数据库连接,例如Migration_Repos。当你输入必要的信息之后,点击Connect保存连接并关闭对话框。从主菜单中选择Migration -& Repository Management -& Create Repository。选择为新信息库建立的连接,并点击Create。这时,会出现一个Installing Repository对话框,显示安装进度。当进程结束后,关闭对话框。  在Connections Navigator下会弹出两个额外的窗口,显示捕获和转换模式。移植  整个移植过程包括几个独立的步骤。当你已经连接到移植的目标数据库并创建了信息库之后,就可以按照以下的程序进行移植了:  1、 捕获源数据库  2、 转换捕获的数据库  3、 为新Orecle架构对象生成DDL脚本  4、 运行已生成的DDL脚本以创建新的用户和对象。  5、 如果要进行快速移植(Quick Migration),就将源数据库的任何数据复制到新的数据库。Oracle SQL Developer也提供快速移植的功能。这个向导驱动的方法能够把架构和数据移植到Oracle数据库,并支持最小权限移植,即用户可以在不需要DBA权限的情况下将他们访问的源数据库对象移植到目标数据库。不需要用户插手,快速移植向导就可以自己完成整个移植过程。  从主菜单中选择Migration -& Quick Migrate,以调用Quick Migration选项。向导会提供一个对话框,让你选择源连接(与第三方数据库的连接)和目标连接(与Oracle的连接)。向导会检测你是否有可用的信息库,如果没有,它会在移植过程中创建一个。一旦移植完成,你同样可以选择保存还是删除这个信息库。点击Verify以连接第三方数据库和Oracle数据库,并验证已经赋予Oracle数据库中的架构必要的权限。验证完毕后,点击Migrate完成快速移植。  移植指南。使用以下的移植指南,你可以更加得心应手地掌控整个移植过程,并能够选择单个的表或架构对象进行移植。你还能够在移植过程的不同阶段随时进行更新,例如对架构进行重命名,在表被捕获后而被转换成Oracle模式前对其进行取消或重命名等操作。我们还是按部就班一个一个来:  步骤一:捕获源数据库。右击Connections Navigator中的源数据库连接节点,选择Capture Microsoft SQL Server。会弹出一个进度对话框,显示捕获过程的进度。显示完成时,点击Close,关闭对话框。源数据库被捕获后,元数据定义就储存在移植信息库中,随时都可以进行转换。Captured Objects窗口中将显示可用的捕获数据库。展开新的节点,浏览输出结果。这时候,你可以进行任何诸如对表进行重命名等修改操作。  步骤二:转化捕获的数据库。如果你对第一步的结果没有任何疑问了,就右击新近捕获的模型,选择Convert to Oracle Model。这时,会弹出一个数据图供你选择接受或修改。点击Apply选择默认设置。接着会弹出一个进度对话框,当显示转化过程完成时,点击Close关闭对话框。捕获模型和转换模型都映射储存在移植信息库中的元数据。步骤三:为新Orecle架构对象生成DDL脚本。这个阶段,你可以选择为单个对象或者多个对象生成DDL脚本。如果想为所有的转换对象生成脚本,右击high-level converted model,然后点击Generate。  步骤四:运行已生成的DDL脚本以创建新的用户和对象。当生成完毕时候,DDL脚本可以用SQL工作表打开。注意打开命令会创建一个新的数据库用户并赋予新用户权限。这表示要运行脚本必须是具有创建用户权限的用户,例如SYSTEM。在SQL工作表的右上角下拉菜单中选择你要运行脚本的用户,然后按F5键运行脚本。脚本运行完成后,在Connections Navigator中创建一个新的数据库连接,用来浏览和检查新的移植对象。  步骤五:将源数据库的任何数据复制到新的数据库。移植过程的最后阶段就是把源数据库中的数据复制到目标数据库。从主菜单中选择Migration -& Migrate Data。在弹出的对话框中选择源数据库、目标数据库和转换模式,并点击OK。这时你就可以在Oracle数据库中以其他的架构浏览、编辑和使用新的对象和数据了。  结论  Oracle Migration Workbench支持从Microsoft Access、Microsoft SQL Server和MySQL到Oracle数据Oracle数据库数据移植,降低了移植过程的风险,并通过大量的自动操作减少了移植耗时。
阅读(2872) | 评论(1) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
很好的, 收藏了
推荐一个博客,提供很多免费软件编程电子书下载:
http://free-
请登录后评论。

我要回帖

更多关于 不同数据库数据迁移 的文章

 

随机推荐