NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:54629
用户头像

发布了 1399 篇内容, 共 622.0 次阅读, 收获喜欢 2452 次。

关注

评论

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

面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

cxuan

mybatis

[GitHub] 跟我一起白嫖 GitHub Pages 做个人站点 ?

猴哥一一 cium

git GitHub GitHub Pages

翻译敏捷行业专业外文,不只是谷歌翻译

老彦

翻译 Scrum 敏捷开发 Agile

软件开发生产率改进之我见(一)

清水

团队管理 软件工程 技术管理

给学妹的 Java 学习路线

武培轩

Java 学习 程序员 程序媛

Golang热更新原理

我心依然

nginx Linux 信号 Go 语言

基于mysqldump聊一聊MySQL的备份和恢复

麦洛

MySQL

2020年2月北京BGP机房网络质量评测报告

博睿数据

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

五个“为什么” —— 读《精益创业》

YoungZY

读书笔记

Zabbix实战指南

橙子冰

技术 运维 监控 运维自动化 zabbix

[Git] Git 可以这么学

猴哥一一 cium

git

ARTS - Week One

shepherd

js algorithm

学计算机你后悔了吗?

陈辰

学习 技术 大前端

有价值的产品=设计思维+精益创业+敏捷方法

老彦

Scrum 敏捷开发 Agile 设计思维 精益创业

数仓系列 | Flink 窗口的应用与实现

Apache Flink

大数据 flink 流计算 实时计算

李想解读《高效能人士的七个习惯》

我心依然

习惯 高效能人士的七个习惯 李想 汽车之家

Flutter的staggered GridView详细使用

潘珉

flutter

游戏夜读 | 如何避免乏味?两则

game1night

「开放」对协作效率的影响

Tony Wu

产品 产品设计

python实现·十大排序算法之希尔排序(Shell Sort)

南风以南

Python 排序算法 希尔排序

关于问题的问题 —— 读《你的灯亮着吗?》

YoungZY

读书笔记 读书

一文带你彻底厘清 Kubernetes 中的证书工作机制

首富手记

Kubernetes

内容比形式更重要

Winann

内容 生活 工作 形式主义

工厂模式 (一)简单的工厂模式概念以及示例代码

LSJ

Kubectl exec 的工作原理解读

米开朗基杨

Kubernetes kubelet

有点干货 | Jdk1.8新特性实战篇(41个案例)

小傅哥

函数式接口 Lambda 小傅哥 jdk8 编码

Lean UX 教你设计如何驱动产品

Yanel 说敏捷产品

产品 敏捷 设计

实用贴丨正确的「递归」打开方式:让计算机像计算机一样去计算

博文视点Broadview

Python 递归

Elasticsearch 实战

代码诗人

2020年2月北京BGP机房网络质量评测报告

博睿数据

APM 机房 评测 世纪互联

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