设为首页 设为首页 | 收藏本站 收藏本站 | 简繁转换
   中国网管联盟
网盟首页 | 企业建站 | IT厂商 | IT认证 | 网站建设 | 病毒播报 | 网管介绍 | 黑客帝国 | 网吧视角 | 网站导航 |
网管协会 | 网管学院 | IT产品 | IT职场 |ERP技术| 电脑故障 | 求职招聘 | 网络创业 | 加入我们 | 网站投稿 |
 您当前位置:网管联盟 >首页 -> IT技术 -> IT认证 -> 数据库认证 【文章字体颜色: 绿       双击自动屏滚阅读

将MySQL 移植到Oracle ——第二部分-入门基础

编辑:cheng | 2008-03-22 22:27:49 | 来源:youPC.cn |  匿名投稿  加入会员  收藏本文 [4779]

 

    . 导言

BBS.bitsCN.com网管论坛

  正如你可能想象的,迁移一个数据库和使用它的应用程序是一件不小的事。要迁移数据库平台和使用它的应用程序必然会需要做很多工作。在这个包含两部分的文档里,我们将讨论围绕这个过程的所有步骤,问问你自己,要注意些什么,和怎样在有限的停机时间窗口中进行所有这些事情。最后,你的技术将获得提高,无论是通过书籍和刊物、论坛、培训或是认证。

bitsCN#com中国网管联盟

  . 将产品数据移到开发系统

bbs.bitsCN.com

  你要从何处开始和你要去往何处? www@bitscn@com

  这听起来像个哲学问题,但是这确实是你在做任何移植之前要问的问题。它是计划移植的第一步。

bitsCN.nET*中国网管博客

  MySQL的版本很明显有很多,从.x到.x、.0和.。所以这取决于你使用的版本和你目前使用的功能,你将要在Oracle 中管理这些对象并创建它们。对于MySQL .x 中的视图、角色、存储过程和触发器要特别谨慎。

bitsCN#com中国网管联盟

  实际上数据的移植可以通过使用mysqldump将MySQL 数据导入csv 文件,然后在Oracle中使用SQL*Loader 加载。你还可以写一些代码,例如定制Perl 代码,用来打开一个到MySQL数据库的连接、使用相联数组逐行地将数据复制到Oracle中。即使你是使用移植工作台来移植.x MySQL 数据,你也将需要做一些校验和之类的检验来确认你的目标数据和MySQL 中的数据是一致的。

www@bitscn@com

  . Oracle移植工作台 BBS.bitsCN.com网管论坛

  关于Oracle 移植工作台要记住的第一件事是它只支持MySQL .x。MySQL .0是在00年的月份发布的。因为从.x到.x的移植非常简单,而目前的Linux distro大多数是支持.x的,只有很少数的站点是仍旧支持.x的。这也就是说,如果你是在.x或.x上,Oracle的移植工作台就可以帮助你。这些版本也更加简单。你的对象主要是表、索引、检查限制、主键和外键。Oracle移植工作台还支持先前提到的枚举数据类型。Oracle还主张支持权限和用户,但是这些对象在MySQL和Oracle中的处理稍稍有些不同,所以你的移植工作也就不同。 bitsCN.nET*中国网管博客

  使用Oracle 移植工作台,你首先要登录到你的源数据库上,然后Oracle 安装相关的插件以匹配rdbms(关系数据库管理系统)的类型。然后它会在屏幕上向你展示一个“源模型”和“oracle模型”的列表。这些参考各自的schema,而这些分支表示了数据库中包含的所有对象。这时,启动“捕捉向导”。步骤一指定了源数据库的细节,步骤二指定你想捕捉的数据库,步骤三,也是最重要的一步,给出数据类型匹配。

bbs.bitsCN.com中国网管论坛

  在第三步你可以指定更大的规模、或新的数据类型用于在Oracle 中保存你的MySQL数据。就像移植工作台展示给你的图形界面一样,向导也可以帮助你完成很多事情,这是主要的步骤,通过手动的方法,要求你仔细浏览你表中的所有字段的数据类型,以确保它们以你想要的形式进行了匹配。步骤使你可以创建oracle模型。如果你希望的话你可以以后执行这个步骤。 www_bitscn_com中国.网管联盟

  Oracle 然后会加载源数据,而当你准备好的时候,将这些数据导入已创建的目标Oracle数据库中。在OTN网站上的Oracle文档中,demo没有任何错误和警告。哦,要是真实情况如同市场材料显示给我们的一样整齐和友好那该多好啊。不幸的是,你肯定会遇到一连串的错误和警告,不是因为Oracle犯了拼写错误,而是因为这个过程很复杂,依赖于许多要准确地组合在一起的部分,以便能够一起无缝地工作。当你在GUI过程中到了这一步,并遇到警告的时候,你将被迫回到命令行,并通过手动来解决这些问题。最后你的“自动”过程确实会指导你进行这个过程,但是仍旧需要一定量的人工干预。 bitsCN.nET*中国网管博客

  . 数据库应用程序移植 bbs.bitsCN.com中国网管论坛

  就像数据库移植可能具有的复杂性一样,它将被拿来与应用程序移植做一简单比较。如果它像在PHP 或Perl 中改变一个数据库连接描述符一样简单的话,那你所有的数据库独立代码都可以神奇地运行。事实是尽管有SQL标准,但每一个数据库的执行还是有些不同。

bitsCN#com中国网管联盟

  使用SQL查询可能会立即出现语法错误,因为MySQL 和Oracle的语法可能有些不同。一旦你解决了这些问题,像MySQL LIMIT 条件之类的事情,就需要使用虚拟数据行ROWNUM 来将其转换到Oracle 中去。但是要认识到,Oracle的执行需要谨慎点。它不支持在MySQL 中具有的“LIMIT ,0”语法,而这些将需要重写为子查询。此外,在Oracle中的优化器可以以不同方式处理相同的查询,所以你要浏览你的查询的执行计划,即使不浏览所有的,也要浏览大部分,以确保它们在oracle中能执行得很好。如果你在MySQL .x 中使用存储过程,那这些存储过程需要进行重写。 

bitsCN~com

www@bitscn@com


:
 责任编辑:中国网管联盟  

 

会员介绍                                免费加入会员

内容搜索

关键字:

 

 

 

 

 

 1、SQL是一种声明式语言首先要把这个概念记在脑中:“声明”。SQL语言是为计算机声明了一个你想从原始数..  [阅读全文]
   [阅读全文]
 1。从www.sqlite.org下载SQLite3.3.4的版本 为了方便,我把它解压了,就一个SQLite3.exe,放入Windows..  [阅读全文]

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2006-2015 YouPC.CN All Rights Reserved.
感谢所有关心和支持过中国网管联盟的朋友们
我们一直用心在做我们的网站
粤ICP备13025977号
深圳网络警察报警平台 违法和不良信息举报中心 经营性网站备案      

站长QQ:4735566

本站QQ群:32903123