写点什么

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

发布了 1445 篇内容, 共 674.2 次阅读, 收获喜欢 2480 次。

关注

评论

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

「工作小记」不同内容相似结构?按个开关试试

叶一一

JavaScript 前端 React Hooks 9月月更

软件测试 | 测试开发 | 构建测试平台与对应的组织架构需要哪些能力?

测吧(北京)科技有限公司

测试

Apache DolphinScheduler PMC:开源不一定也要九死一生

白鲸开源

海豚调度 开源社区 Apache DolphinScheduler 开源文化 #开源

计算机网络体概念

StackOverflow

编程 计算机网络 9月月更

dbt-tidb 1.2.0 尝鲜

TiDB 社区干货传送门

新版本/特性解读

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试

主流定时任务解决方案全横评

Serverless Devs

spring Linux

软件测试 | 测试开发 | 测试开发基础 mvn test | 利用 Maven Surefire Plugin 做测试用例基础执行管理

测吧(北京)科技有限公司

maven

基于阿里云Serverless函数计算开发的疫情数据统计推送机器人

Serverless Devs

PCTP考试学习笔记之二:TiDB 数据库 schema 设计

TiDB 社区干货传送门

集群管理 管理与运维 数据库架构设计

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(下)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试左移之Sonarqube scanner使用

测吧(北京)科技有限公司

SonarQube

从云计算到函数计算

Serverless Devs

云计算 阿里云 AWS

技术分享| 基于RTM 实现的呼叫邀请如何添加推送功能?

anyRTC开发者

音视频 IM 实时消息 呼叫邀请 推送

基于函数计算自定义运行时快速部署一个 springboot 项目

Serverless Devs

「龙蜥开发者说」征稿啦!

OpenAnolis小助手

开源 征文 获奖 龙蜥开发者说 龙蜥技术

设计模式的艺术 第十七章命令设计模式练习(开发一个基于Windows平台的公告板系统。该系统提供了一个主菜单(Menu),主菜单包含一些菜单项,Menu类可以增加菜单项。菜单项主要方法是click(),每个菜单项包含一个抽象命令类)

代廉洁

设计模式的艺术

软件测试 | 测试开发 | 持续交付-Blue Ocean 应用

测吧(北京)科技有限公司

软件测试 | 测试开发 | 跨平台API对接(Java)

测吧(北京)科技有限公司

jenkins、

转:工业软件上云很难吗?可以微创呀!

小江

工业软件云化

LeetCode-66. 加一(java)

bug菌

Leet Code 每日一题 9月月更

LeetCode-58. 最后一个单词的长度(java)

bug菌

Leet Code 每日一题 9月月更

《TiDB跨版本升级》 --流程概述

TiDB 社区干货传送门

迁移 实践案例 版本升级 管理与运维 安装 & 部署

20个既简单又实用的JavaScript小技巧

千锋IT教育

购买小间距LED显示屏前需要了解什么?

Dylan

LED显示屏 led显示屏厂家

中国移动NZONE 50 Pro 5G手机正式开售

Geek_2d6073

千锋锋友学盟分享会:程序员百万年薪进阶指

千锋IT教育

参加了个算法比赛,真是一言难尽啊

捉虫大师

Go 算法 map 比赛 9月月更

51单片机定时器原理及相关器件

孤衫

C语言 单片机 9月月更

iptables与firewalld防火墙是怎么样工作的呢?

阿柠xn

防火墙 Linux Kenel 运维‘ 9月月更

软件测试 | 测试开发 | 黑盒测试方法论—边界值

测吧(北京)科技有限公司

边界测试

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