当前位置: 首页 > news >正文

海量数据迁移之数据抽取流程 (r4笔记第72天)

在之前的一些博文中花了大篇幅介绍了采用外部表抽取的一些细节,可能细节到了,基本原理的内容还希望再补充补充。采用外部表抽取数据的流程图如下:0大体标注了一下抽取的基本结构,我们会尽量保证不去碰原本的数据源,会创建两个临时的用户,一个是只读用户,这个用户上只有同义词,只具有数据源中的select权限。这就对应上面红色标注的1,而另外一个用户是外部表用户,所有通过创建外部表都会在这个用户下进行,生成了dump文件之后,我们可以随时删除外部表,这个时候为了保证相关的drop操作不会牵扯到数据源,外部表用户会继承只读用户中的select权限。这就对应红色标注的2.当开始抽取数据的时候,会去查找是否有权限读取数据,会找到只读用户,最终能够读取数据源的数据,这就对应红色标注的3,4当满足了基本的条件,就开始生成外部表的dump,可以为一个表生成多个dump,而且这个过程是并行的,这就对应红色标注的5对于步骤5,是抽取的关键,基本的原理可以参考下面的伪代码,黄色标注的重点部分。

CREATE TABLE MO1_MEMO_EXT

ORGANIZATION EXTERNAL

(

TYPE ORACLE_DATAPUMP

DEFAULT DIRECTORY xxxxx

LOCATION (

‘xxxx1.dmp’,‘xxxx2.dmp’)

)

parallel xx as

SELECT /*+ parallel(t xx) */

*

FROM 只读用户.MO1_MEMO;

我们使用了外部表的oracle_datapump引擎,可以在指定的目录下生成多个dump文件,我们可以指定并行度,指定多个dump的名称等等。这些都需要通过编程来控制和管理这些复杂的部分。

相关文章:

  • 重温快速排序(r4笔记第73天)
  • 海量数据迁移之sqlldr和datapump的缺点分析(r4笔记第74天)
  • mongoDB初探第一篇(r4笔记第75天)
  • 通过单例模式模拟RAC连接 (r4笔记第76天)
  • 特殊的物化视图刷新 (r4笔记第77天)
  • 总结nmon的诸多优点 (r4笔记第78天)
  • 不要成为技术的奴隶(二) (r4笔记第79天)
  • 清华梦的粉碎读后感--论理想主义者王垠(r4笔记第80天)
  • 浅谈Hadoop (r4笔记第81天)
  • MongoDB初探第二篇 (r4笔记第82天)
  • 大话UML中类之间的关系 (r4笔记第83天)
  • 关于Oracle的技术问答 (r4笔记第85天)
  • 【非原创】完全用Linux工作(下)(r4笔记第86天)
  • 【非原创】完全用Linux工作(上)(r4笔记第86天)
  • 一条delete语句的调优(r4笔记第86天)
  • ES6--对象的扩展
  • github从入门到放弃(1)
  • Git的一些常用操作
  • Java 网络编程(2):UDP 的使用
  • Laravel Mix运行时关于es2015报错解决方案
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python_网络编程
  • 笨办法学C 练习34:动态数组
  • 计算机在识别图像时“看到”了什么?
  • 简单实现一个textarea自适应高度
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 普通函数和构造函数的区别
  • 通过git安装npm私有模块
  • 译自由幺半群
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • puppet连载22:define用法
  • UI设计初学者应该如何入门?
  • 整理一些计算机基础知识!
  • #Linux(make工具和makefile文件以及makefile语法)
  • #在 README.md 中生成项目目录结构
  • $refs 、$nextTic、动态组件、name的使用
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (论文阅读30/100)Convolutional Pose Machines
  • (三十五)大数据实战——Superset可视化平台搭建
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十一)手动添加用户和文件的特殊权限
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)ORM
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core 成都线下面基会拉开序幕
  • .net core使用ef 6
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET下ASPX编程的几个小问题
  • .NET中两种OCR方式对比
  • // an array of int
  • /etc/sudoers (root权限管理)
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @Transactional 详解