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

[经验分享] Oracle的并发和多版本控制

[复制链接]

尚未签到

发表于 2016-7-22 10:42:15 | 显示全部楼层 |阅读模式
  写不会阻塞读,这是Oracle和其他数据库的一个根本的区别。Oracle能够同时物化多个版本的数据,每次写入数据,都会另外生成一个版本,并附上时间戳,而当一个读操作发起时,它只能读到这个时间戳以内的版本,超过这个时间戳所更新的数据,是不会返回在结果集里面。所以一个程序如果只是读操作,那么它永远也不会被阻塞,也不会发生死锁。从某种意义上看,Oracle天然就具备了读写分离的特性。不像Mysql,需要采用主备集群的方式来实现读写分离。
 
 
支持的事务的隔离级别是Read Commited和Serializable。 对于Read Commit, 他允许“不可重复读”和“幻读”

  • 不可重复读




        • 第一次读获取了一个结果集, 然后集合中的某些列值发生了变化,那么同一session中再次读的时候,这些列值会被查出到结果集中



  • 幻读



      • 第一次读获取了一个结果集, 然后集合中的某些行被删除或者添加了新行,那么同一session中再次读的时候,这些行的改动被查出到结果集中


 
Serializable的实现和其他数据稍微有点不一样:

  • 首先由于读一致性的存在,读不会被阻塞,Serializable是对于更新操作而言的。当一个更新操作发现需要更新的数据是被锁定的时候,会抛出异常ORA_08177。而不是像其他数据库一样进行等待。
  • 一个事务开始后,期间不会有任何数据修改,直至Commit或者Rollback

 
Undo回滚段, 如果回滚段的空间小,那么用完后,就会发生snap shot too  old错误 ORA_1555
 
 
查询热表的时候,IO操作会明显增多,原因在于热表的数据存在很多个数据更新的版本,当读到某个被更新的数据块, 发现时间戳太新, 于是去找到undo中的匹配的版本。如果仍然太新,那么就继续找下去。这些都是额外的IO操作,来获取undo信息.
 
 
而由于写一致性的存在,在更新热表的时候,如果发现某个数据的时间戳不一致,那么会重启更新。比如,修改了9999条数据,在准备修改10000的时候,发现其版本不对,那么数据库会重新更新这10000条。 而如果这个表上有相对于行修改的触发器,那么这些触发器会被重复地触发, 对性能的影响会非常恐怖。
 
  

运维网声明 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.yunweiku.com/thread-247786-1-1.html 上篇帖子: Oracle原版tnsnames.ora文件内容 下篇帖子: (转)Oracle死锁查询及处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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