English 中文(简体)
从Oracle到MySQL
原标题:Migrate from Oracle to MySQL

我们与我们的Oracle数据库存在严重的业绩问题,我们愿努力将其转移到设在MySQL的数据库(无论是MySQL还是更理想的Inbright)。

重要的是,如果新数据库的所有特征符合我们的需求,我们需要让旧系统和新系统重叠至少几周甚至几个月。

因此,这就是我们的情况:

Oracle数据库由多个表格组成,每个百万分行都有。 当天,几乎有数千份声明,我们不能停止移民。

每天早晨,新数据输入Oracle数据库,更换了几千个浏览器。 完善这一进程不是一个问题,因此,理论上,我们可以同时在两个数据库中进口。

但是,这里的挑战在于,这项工作需要从Oracle数据库出口,从一天起就有一个连贯的国家。 (我们不能出口星期一的一些表格和星期二的一些表格等) 这意味着至少应在不到一天完成出口。

我们的第一项想法是丢掉chem,但我当时无法找到一种工具,将甲骨质的垃圾堆放到MySQL。 CSV档案中的出口表可能奏效,但恐怕会太长。

因此,我现在的问题是:

我应该做些什么? 是否有工具将Oracle倾弃档案输入MySQL? 是否有任何人经历过这种大规模移徙?

PS:请不要建议对Oracle的优化性能技术,我们已经尝试了许多:-

Edit: 我们已经尝试过一些ETL工具,然后才发现这些工具还不够快: 仅出口一个表格已超过4小时......

<>2> Edit: 民间歌舞......没有人试图尽快出口整个数据库,并转换数据,以便输入另一个数据库系统?

最佳回答

甲骨质没有提供箱外卸载的效用。

牢记你们的环境,而不全面强调你们的环境。 服务器平台 有多少数据? 这里的一切数据类型是什么?)是青年、青年和体育部,你希望让它掌握业绩和时间。

我的第1至3点只是一般性的数据流动想法。 第4点是一种将缩短时间或中断时间降低到分钟或秒钟的方法。

(1) 有3个政党的公用事业。 我利用了其中的几处,但最好能为您的本意检查。 此处列出的第三批产品有:。 不幸的是,其中很多公司在Windows上运行,除非你的银行服务器在窗户上,而且你可以直接在服务器上操作负荷功能,否则会减缓数据卸载过程。

(2) 如果你没有像LOBs这样的复杂数据类型,那么你就可以把自己的数据带上LucUS。 如果你在某个时候做了一个表,那么你可以很容易地把这个表同起来。 现场参观的照片可能不止一次,例如:Linky

3) 如果是10g+,那么外部表可能是完成这项任务的有力方法。 如果你创建一些与本表结构相同的空白外部表格,并将数据复制给它们,数据将转换为外部表格格式(文本档案)。 OraFAQ to the rescue

4) 如果你必须把系统平行地维持在日/周/月,那么在接近零时使用变化数据采集/应用工具。 准备支付美元。 我使用了金门软件工具,可以把Oracle redo之声和供应添加/更新MySQL数据库。 你们可以把大部分数据迁移,而上周不会停下来。 之后,在您的寿命期间,关闭了源数据库,金门赶上了最后剩余的交易,然后打开了进入你的新目标数据库的机会。 我已利用这一方法进行升级,赶上时间只有几分钟。 我们已经获得了金门的场地许可,因此,它为我们提供了一块小块土地。

我在这里发挥Cranky DBA的作用,并说,如果你能够让Oracle表演,我将亲眼看到我的SQL如何确定你的特殊问题。 如果你提出申请,你可以绕过LQ,那么,还有许多可能的办法来调整Oracle。 缩略语

问题回答

我建立了C#应用程序,可以读到Oracle(dmp)文档,并抽取数据表,输入KQ服务器数据库。

这项申请在生产基础上夜间用于向服务器迁移PeopleSoft数据库。 “PeopleSoft”数据库有1100+数据库表,Oracle倾弃文档在规模上超过4.5GB。

这一应用建立了SQ服务器数据库和表格,然后把所有4.5GB的数据装上低于55分钟的英特尔双重服务器。

我并不认为,如果其他数据库有指定经营实体,则很难修改这一应用程序。 NET提供商。

是的,Oracle非常缓慢。

你们可以使用任何数量的电子设备,将数据从Oracle转移到MySQL。 我赞成的是服务器整合服务。

如果你有甲骨质或更高,你可以执行变化数据。 http://download-east.oracle.com/docs/cd/B14117_01/server.101/b10736/cdc.htm

然后,你可以利用任何电子职业技术,从Oracle到MySQL或Inbright进行变革。

我们有同样的问题。 有必要从矿石中提取表格和数据,以至我的碎块。

我们利用我们在线发现的这个工具...... 它运作良好。

http://www.sqlines.com/download

这一工具将基本帮助你:

  1. Connect to your source DBMS(ORACLE)
  2. Connect to destination DBMS(MySQL)
  3. Specify schema and tables in the ORACLE DBMS you want to migrate
  4. Press a "Transfer" button to Run the migration process(running inbuilt migration queries)
  5. Get a transfer log, which will tell how many records were READ from SOURCE and WRITTEN on the destination database, what queries failed.

希望将有助于将这个问题归案的其他人。

我曾利用Pentaho数据整合从Oracle迁移到MySql(我也把同一数据移至Poresql,后者大约是50%的速率,而我猜测在很大程度上是因为使用了不同的JDBC司机。 我在此遵循了罗兰·布曼的指示,几乎遵循了该信,非常愉快地听说:

表数据来自一个非行到另一个

我不知道这是否适合你的数据负荷,但值得一击。

我最近释放了>etlalchemy,以完成这项任务。 这是一种开放源的解决办法,它允许在拥有4线的LQ2数据库之间进行迁移,最初目的是从Oracle迁移到MySQL。 增加了对MySQL、PogreSQL、Oracle、QQL和服务器的支助。

这将考虑到移徙的图象(可能是最具挑战性的)、数据、指数和制约因素,并有更多的选择。

To install:

$ pip install etlalchemy

运行:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

orcl_db_source = ETLAlchemySource("oracle+cx_oracle://username:password@hostname/ORACLE_SID")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name", drop_database=True)
mysql_db_target.addSource(orcl_db_source)
mysql_db_target.migrate()

关于 Performance,这一工具利用各种电离层电离层系统进口工具,例如mysqlimport(postgresql)有效开展移徙。 我得以在40分钟内将5个GBQ服务器数据库(33 105 951个浏览器)移至MySQL,并在13分钟内向MySQL输入3个7 000 000 000英镑的Oracle数据库。

为了解项目来源的更多背景,github repo上打开一个问题,在不到一个星期的时间里分发!

(安装“cx_Oracle”的司机,





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...