导读

全面解读Oracle 12.2体系架构图系列。本期的内容由两部分组成,一是数据库实例与文件系统的访问;二是多租户解决方案。

数据库实例与文件系统

几个重要的进程和内存组件

RVWR:Recovery Writer Process,当数据库设置了闪回区域的时候,该进程定期将内存中,具体来讲是shared pool中的flashback buffer里面的闪回数据写入flashback logs.

Result cache –> RCBG:result cache 用于存放SQL语句或者plsql函数在执行过程中,对于原始数据进行运算所得的结果,当数据库再次对相同的对象做同样的操作,可直接获取结果,避免计算资源的浪费。

ASH  buffer–>MMNL: ASH buffer用于存放活动会话的统计信息,包括SQL的执行情况,应用连接情况,等待事件等。当ASH buffer 被写满的时候,MMNL进程负责将buffer中的数据写入到磁盘中。

In memory undo(IMU):在共享池中开辟一块区域,存放临时undo,一个事务中若修改多条数据,不再buffer Cache中的undo数据块做修改,而是增加IMU节点进行记录。主要是为减少undo所产生的Redo。

Private Redo log buffers:主要用于管理IMU所产生的临时Redo,将事务的Redo信息存放在共享池中,减少对Redo log buffer的消耗。

Flash Cache:全称是Database  smart flash Cache,是从11.2 开发的一项针对闪存的优化技术,旨在通过使用闪存代替传统的慢速磁盘设备来存储部分数据,已达到减少数据库整体延迟,提高数据库的IOPS,提升数据库性能的目的。

Flash Cache的工作原理如下:

Flash Cache中存放的内容通过两种方式来控制:

1、flash  Cache的智能选择算法:评估数据块、索引块的访问频繁程度来决定。

2、对数据库对象的cell_flash_cache属性做修改。

Flash Cache存储内容基本标准

主要是小IO操作,以及数据块、索引块、文件头,控制文件等会被缓存;

针对RMAN备份的IO操作,数据泵IO操作ASM镜像操作以及表空间格式化等不会做缓存;

全表扫描的IO操作的缓存优先级比较低。

当数据存储在flash Cache中,主要是为了提高查询的速度,也就是说,它就相当于在内存之外又增加了一部分buffer Cache的区域,只是性能更好,速度更好。那么跟buffer Cache一样,flash Cache中的数据写满或者写到一定程度就需要把数据写入磁盘,留出空间给新的操作数据。

Flash Cache的flushing过程

缓存内数据写入磁盘称为flushing。可以配置Starting and stopping cache flushing levels值,这个值表示占用整个缓存大小的百分比。当缓存内未写入磁盘的数据达到starting flushing value时,控制器开始flushing(由缓存写入磁盘)。当缓存内未写入磁盘数据量低于stop flush value时,flushing过程停止。

如果start flushing level设置较高,可以在缓存内存更多的未写入数据。这有利于提高写操作的性能,但是要牺牲数据保护。如果要得到数据保护,可以使用较低的start and stop values。经测试表明,使用接近的start and stop flushing levels时性能较好。如果stop level value远远低于start value,在flushing时会导致磁盘拥塞

Smart Flash Logging

长期以来,Redo log的IO瓶颈一直是困扰OLTP系统的一大难题,因为Redo的写入延迟直接拖累了整个系统 甚至整个集群的响应速度。

在传统的数据库架构中,一些DBA会将读写延迟较低的小块存储单独划分给Redo,从11204开始,Oracle提出一种新的方案,在闪存区域中专门为Redo开辟一块区域,用于存储临时Redo。

In-Flash Column SCAN

将列存储落到Flash Cache,提高频繁操作的列存储对象的写IO

Change  Tracking File:在增量备份中检测块的 变化,并记录到文件中。 记录单位为block。

wallet:Oracle Wallet是用来存储密钥的容器。简单点来说就是个密码箱,通过这个密码箱,可以使原来需要输入密码的场合能够实现免输密码使用,从而保护了账号口令等敏感信息,使得安全性得到了提高,而且更加方便使用。

多租户解决方案

Application Container

应用容器Application Container是12.2提出来的新的组件,将同一应用下的数据库系统划分到一个子容器中,在保证多租户同一管理的情况下,实现相对的业务隔离和数据安全。

PDB拥有自己的undo表空间

从12.2开始,每个PDB都拥有自己的undo表空间。消除了多个PDB间的争用,若要进行闪回或者基于时间戳的恢复,只需要在自己的undo数据中寻找,提高效率。

PDB的灵活创建方式

1、从PDB$seed(或者application root)创建:通过文件复制的方式

2、现有PDB经过hot clone创建

注:在12.1中,基于一个PDB创建新的PDB的时候,需要将原库以read only的方式打开。

而在12.2中,原库可以持续进行DML操作,并不受影响。

克隆完成以后,数据会持续刷新到新库。

3、来自其他CDB中的PDB的迁移:Relocate

前端执行 create pluggable database from relocate这样一条命令,后台会自动执行远程hot clone,做远程文件复制和同步。

4、通过ASM磁盘文件的shadow copy方式生成新的PDB。

PDB的内存资源管理

在多租户环境下,多个PDB共享内存的资源,当一个PDB需要做buffer Cache的寻址时,需要从整个共享的资源中寻找,非常不方便。在12.2中,Oracle针对部分资源做了基于PDB的domain划分。

12.1的内存资源的hash链表是这样的:

12.2中是这样的:

更多PDB的新特性

1、字符集:在12.2中,若CDB的字符集为超集,也就是AL32UTF8,那么支持不同字符集的PDB。同时,通过Proxy PDB,可以实现不同字符集的PDB进行查询,Proxy将双方的字符集做识别和兼容,不会出现乱码。

多租户技术已经被广大用户广泛应用,而云和恩墨作为数据服务行业的引领者,通过zData解决方案与Oracle 多租户的结合,帮助用户实现了互联网+时代的系统云化转型。

关于多租户更多的新特性详解,请参考

YH9:Oracle Multitenant 知识库

多租户技术已经被广大用户广泛应用,而云和恩墨作为数据服务行业的引领者,通过zData解决方案与Oracle 多租户的结合,帮助用户实现了互联网+时代的系统云化转型。

文章来自微信公众号:数据和云

oracle multi read,解读Oracle12.2体系架构:Filesystem与Multitenant相关推荐

  1. Oracle 18c体系架构图创作之路 - 设计者说(精品海报大放送)

    编辑说明:在刚刚落幕的第八届数据技术嘉年华大会现场,我们正式发布了『Oracle 18c体系架构图』,应广大网友的呼吁,特别向不能到场的朋友放送. (回顾嘉年华:云数据库时代:企业数据架构的云化智能重 ...

  2. Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

    Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

  3. 【ORACLE数据库体系架构】

    一.数据库的逻辑单位:数据块(block).区(extent).段(segment).表空间(tablespace) 1.数据块:默认大小为8k;是数据库最小的逻辑单位 块大小分为:2K,4K:表很小 ...

  4. openfile存储服务器及oracle体系架构简介

    1 openfile存储服务器的作用: 首先介绍下openfie解决的问题:一个服务器或一个物理主机,磁盘空间不可能永远增加,当一个服务器的磁盘空间满足不了现状我们应该如何处理. 平常的做法,我们采用 ...

  5. 中国“芯”的突破攻略——智源大会“智能体系架构与芯片”论坛发布

    报名请点击「阅读原文」 北京·国家会议中心 2019年10月31日-11月1日 www.baai.ac.cn/2019 BAAI 北京智源大会倒计时:8天 智能体系架构与芯片专题论坛 本次大会&quo ...

  6. 【转】BI 入门: 体系架构及相关技术

    (1) 老板,你要这么多数据做什么?         假如你是一个商品零售公司的老板.     你的公司很先进,已经实现了业务信息化,每一笔销售单据都保存在数据库中,日积月累,已经保存了十余年的销售数 ...

  7. HDFS体系架构介绍

    HDFS体系架构(最全) 参考博客:https://blog.csdn.net/Lord_War/article/details/78727049 汇总:https://www.cnblogs.com ...

  8. DB2 Vs MySQL系列 | 体系架构对比

    前些日子,我们做了DB2 VS MySQL的数据类型的对比,今天我们将体系架构的对比分享给大家,让大家对这两类数据库有更深刻的认识. 相关阅读: DB2迁移至MySQL的最佳实践 MySQL与DB2的 ...

  9. 第 1 章 JVM 和 Java 体系架构

    第 1 章 JVM 和 Java 体系架构 1.JVM 前言 作为Java工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM! 想解决线上JVM ...

最新文章

  1. B - Networking - poj 1287
  2. 1微秒等于多少皮秒_注册汽油贸易公司分享1升汽油等于多少公斤?
  3. ngrok服务器搭建
  4. 线程、进程、程序区别
  5. ubuntu16定时任务crontab
  6. 《编写高质量代码:改善c程序代码的125个建议》——建议14-2:在右移中合理地选择0或符号位来填充空出的位...
  7. 怎么黑学校计算机室的电脑,大学计算机室变身黑网吧 校方:有需求
  8. syntaxhighlighter 代码高亮 - 插件化
  9. Java中的Swing键盘绑定案例
  10. python写斗地主游戏_python编程斗地主 python编程入门
  11. 威联通NAS TS-873A 实测
  12. onlyoffice+vue实现在线预览在线编辑
  13. Java桶排序LSD
  14. QQ2017熄灭“QQ游戏图标”方法
  15. 浅谈stm32的低功耗模式
  16. wpf实现类似word文档的标尺功能
  17. Jackson公司蛋白质印迹指南丨样品制备
  18. python爬虫登录12306失败_Python网络爬虫(selenium模拟登录12306网站)
  19. nmon的安装与使用
  20. 输入一行字符(输入以字符#结束),分别统计其中字母和数字字符的个数。

热门文章

  1. DNS中实现父子域,以及授权和转发
  2. Linux汇编语法开发
  3. IE7.0默认主页修改
  4. CRF++使用简介(windows下非接口)
  5. 0b3398php,思想道德修养与法律基础(九江职业技术学院)知到2020题目及答案
  6. nginx+tornado与nginx+go的性能测试
  7. PHP数据结构算法实例
  8. JQUERY使选定DOM元素还原end
  9. jsp java语法_JSP基础语法
  10. Vue 中的 v-cloak 作用及用法-vue页面加载时会闪烁