设为首页 收藏本站
查看: 1552|回复: 0

[经验分享] oracle dbblock gets

[复制链接]

尚未签到

发表于 2018-9-12 13:03:48 | 显示全部楼层 |阅读模式
  一个 db block gets是一个current mode get.这是现在或者最近的数据块中最新的copy。
  在buffer cache中任何时候只能有一个block的copy。 Db block gets是发生通常是:DML改变database中的数据的时候。在这种情况下row-level的锁会隐式的加载在正在被更新的rows上。
  当select语句执行一个db block gets的时候,最少有一个well-knowncase,,而且不会产生lock。
  当执行一次全表扫描或者全索引扫描的时候,oracle会读取segment的header以 current mode(多次读取,取决于oracle版本)。
  Current mode:
  Oracle获得block用两种方式:current或者consistent
  Consistent get是当oracle得到一个block(一致性的block,有一个给予的时间点或者SCN)
  一致性得到是oracle一致性读机制的核心。为了完成查询结果,block会被拿出来,它们被取出来在一致性模式上。如果在buffer cache中的block和正确的point不一致的话,oracle会使用rollback sgement中的信息重建block。如果失败的话,这就是会产生错误。
  (为什么buffer  cache中的block和正确的point不一致?)
  Current mode 是相对于query mode来说的,current mode产生db block gets,一般是在DML的时候产生
  Query mode 产生 consistent gets,一般在查询的时候产生,,总和一般称为逻辑读,logicalread。
  Current mode是当前读到的是什么数据就是什么数据,
  一致性模式是:从开始到结束读到的数据都是同一个时间点内
  Select is query mode
  And DML like insertupdate delete is consistent mode
  Oracle 读一致性
  Consistent  read:如何实现:
  Oracle逻辑读:是从内存,确切的说是从:SGA中的buffer cache中取出东西来
  Logical read,又分为:db block gets ,consistentgets
  Db block gets 是DML执行的时候,在内存中读取的东西,还涉及到oracle的undo segment
  而consistent gets是,select执行的时候,因为不会产生数据变化,所以说是直接从oracle的buffer cache 中取出东西来就OK了
  What the fuck is going on?
  What the hell is going on?
  Where is the truth?


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-573380-1-1.html 上篇帖子: oracle REDO和UNDO· 下篇帖子: oracle结构体系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表