50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Oracle 技术嘉年华:数据迁移最佳实践

  • 2012-11-22
  • 本文字数:1364 字

    阅读完需:约 4 分钟

2012 年 11 月 9 日 -10 日,第二届“Oracle 技术嘉年华”将在北京国宾酒店隆重举行,届时国内外数据库界大师将齐聚北京,为大家奉上两天的技术“大餐”! 本届大会是由 ACOUG、ITPUB、IT168 和云和恩墨共同主办的,会议主题为“数据库技术企业应用最佳实践”。

今天是 Oracle 技术嘉年华 2012 的第二天,在上午举办的分会场中,来自云和恩墨技术总监,Oracle ACE 总监,ACOUG 发起人张乐奕老师,为我们带来了关于《数据迁移最佳实践——从小机到 PC》的话题分享。

▲Data Amount

在迁移前想要数据库回滚问题

在本次演讲中,张乐奕老师特别提到了数据库回滚的问题。“在了解了数据库迁移方法以及相关的方法论后,还有一个问题需要大家要特别考虑,也是在进行数据库迁移之前就要考虑的——怎么样去回滚。”回滚意味着什么? 意味着我们的数据库迁移失败了,因为做任何事都有可能失败,所以我们需要提前考虑合理的解决方案。

▲云和恩墨技术总监,Oracle ACE 总监,ACOUG 发起人张乐奕老师

关于数据库回滚,张乐奕老师介绍了两种情况下的回滚。一种是在迁移的过程中失败了,这种情况比较好处理,因为大家一般都会想到 ; 第二种情况是我们迁移成功了,系统已经成功的运行了一段时间,但之后由于一些原因导致新系统无法使用 (比如数据和应用层之间有无法调和的矛盾,应用不支持数据库),而这时候有一些新的数据,已经在新系统里面,那我们该怎么办?

▲如何进行 rollback?

这里我们分析这两种情况,针对第一种情况,如果我们在迁移过程中失败了,那么最好的解决方法就是不要回滚,如果在迁移过程中,我们没有碰原数据库,那么我们将原数据库重启就好了,不要进行回滚操作。特别是,目前我们遇到的大部分场景,在迁移过程中,都没有必要碰原数据库。

针对第二种情况,如果我们在迁移成功后,要发生回滚,这时我们一定要想要一个同步的机制。无论是用 Goldengate、刷新或者其他方式,包括 Dataguard,一定要有一个同步的机制。同时,这个同步的机制要保持多长时间,都是我们要事先计划好的。

实际案例分析

在本次演讲中,张乐奕老师讲到了一个实际案例,来阐述他们是如何在短时间内成功迁移一个数据量庞大的数据库的。据介绍,本次迁移共有 10TB 的数据量,共在五个小时完成。

▲相关的 Case

其中,针对这 10TB 的数据,我们将其中 99% 的数据,放在几张大的表里面,并且不是分析表,是单表 ; 原平台是 IBM AIX,目标平台是 RHEL x86-64; 原平台是 10.2.0.4 RAC,目标平台是 10.2.0.4 RAC,这是整个项目的一个大概情况。

具体方法

首先,我们将所有的大表用 Goldengate 做同步,这项工作大概需要一周的时间,并且在这段时间内,是不需要停机的。这里需要说明的是,可能大家看起来这个方法很简单,但实际并不是这样。因为这里的数据表非常大,一个将近 8TB 的单表,做 Goldengate 做同步并不是很容易。根据以往的例子看,同步这一张大表,需要一个月的时间,而我们只用了一个星期,完成这张表的初始化以及数据同步。

其次,是多种方法并在一起用。首先,针对剩余的 60GB 的数据量,我们做 Datapump 的到处和导入,其中我们用到了自己的并行。这个步骤,我们一共用了 80 分钟的时间,这也是数据库停机的所有时间。其中,我们用了 15 分钟做 expdp、10 分钟做 scp、55 分钟做 impdp。

查看原文地址 http://tech.it168.com/a2012/1110/1420/000001420194_all.shtml

2012-11-22 04:541142
用户头像

发布了 1541 篇内容, 共 726.8 次阅读, 收获喜欢 2519 次。

关注

评论

发布
暂无评论
发现更多内容

在GitHub中如何进行PR(Pull Request)

jiangling500

GitHub PR

Wi-Fi+BLE 通断器开发资料全开源!快速打造您的智能家居“改装神器”

智能物联实验室

人工智能 物联网 智能家居 通断器

GitHub SSH免密登录

jiangling500

GitHub SSH 免密登录

第四周学习总结

晴空万里

极客大学架构师训练营

为什么继承 Python 内置类型会出问题?!

Python猫

c Python 编程 程序员

【第八周】性能优化(二)

云龙

大型互联网系统技术架构模式

Mars

架构模式 大型互联网应用系统

第八周作业

极客大学架构师训练营

架构师训练第4周:作业一

leo

极客大学架构师训练营

架构师训练营第八周课后作业

Gosling

极客大学架构师训练营

架构师训练营第 1 期 week8

张建亮

极客大学架构师训练营

第八周作业一

天天向上

极客大学架构师训练营

它是世界上最好的语言,吊打PHP那种

MySQL从删库到跑路

php 少儿编程 scratch

架构师训练营 -week08-总结

大刘

极客大学架构师训练营

第四周作业

晴空万里

架构师训练营第 1 期第八周总结

Leo乐

极客大学架构师训练营

架構師訓練營 week8 總結

ilake

架构师训练营-week08

睁眼看世界

极客大学架构师训练营

第八周

Geek_fabd84

网上如何精确分别百家电投台子真假靠谱方法(LGF微7998)

InfoQ_ba4217df53b1

Netty源码解析 -- PoolChunk实现原理(jemalloc 3的算法)

binecy

源码 Netty 内存管理

架构师训练营 - 第八周 - 作业一

行者

架构师训练第4周:作业二

leo

极客大学架构师训练营

LeetCode题解:169. 多数元素,排序,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

性能优化二第八周作业「架构师训练营第 1 期」

天天向善

架构师训练营第八周学习总结

Gosling

极客大学架构师训练营

架构师训练营第一期第八周作业

Leo乐

极客大学架构师训练营

系统架构总结

Mars

系统架构

架构师训练营第四周作业

丁乐洪

架构师系列之5:互联网大数据分析系统架构例子解析

桃花原记

深度学习-框架之 pytorch

Dreamer

框架

Oracle技术嘉年华:数据迁移最佳实践_架构_InfoQ 中文站_InfoQ精选文章