一致读的原理,就是查询的记录由查询的这一时间点决定,后面即便变化了,也要根据回滚保持的前镜像记录,取到那个点的数据。ORACLE是如何保证的呢?首先我们要了解两个情况:

1, SCN:System Change Number。这是一个只会增加不会减少的递增的数字,存在于ORACLE的最小单位块里,但某块改变时SCN就会递增。

2,数据库的回滚段记录槽,事物槽是用来分配回滚段空间的。如果你更新了某块,事务就被写进事务槽里。如果没有提交或者回滚,该块就存在活动事务,数据库读到次块可以识别到这种情况的存在。

因此Oracle在做一致读的时候,首先是看发起的SCN是否大于当前查询块的SCN,如果小于,毫无疑问从回滚段获取前镜像数据。如果SCN确实大于当前查询块的SCN,还要确保该块没有活动事务,否则还是要去前镜像查找。

所以ORACLE的回滚段既可以回滚数据,又可以保证一致性读。

Oracle如何保持一致读?相关推荐

  1. Oracle 中的各种读

    (一).物理读:把数据从数据块读取到buffer cache中 1.第一次查询一个表t select * from t ; 2.第二次查询: select * from t: 第一次查询有6次物理读, ...

  2. Oracle为用户设置读权限

    Oracle 数据库中创建表只读用户,并为其设置密码永不过期.同义词. 1.创建用户 create user testidentified by "123456"default t ...

  3. oracle写会阻塞读吗,一致性读保证了读不阻塞写

    再深入一步,为大家测试下,如果手动将buffer Header中Buffer Pin内存位设置为1,这就等同于加上了共享Buffer Pin锁,这时另开一个会话,更新这个块,会有什么情况呢? 1.取T ...

  4. 解析oracle的dump文件,读懂数据块dump文件信息

    尊重作者著作,转自http://blog.csdn.net/guoyjoe/article/details/8567076 -------------------------------------- ...

  5. oracle博客管理系统,读赵杰夫博客之ORACLE EBS 系统主数据管理(A)摘录

    读赵杰夫博客之ORACLE EBS 系统主数据管理(A)摘录 系列之五:ORACLE EBS 系统主数据管理(A) 物料是在INV模块中定义的,供应商是在AP模块中定义的,客户是在AR模块中定义的 三 ...

  6. oracle如何降低逻辑读,如何降低该SQL的逻辑读

    语句: SELECT DISTINCT M.PACKAGEID AS PACKAGEID, M.PROCESSDEFINEID AS PROCESSDEFINEID, M.WORKFLOWNAME A ...

  7. oracle怎么判断逻辑读,如何查看Oracle数据库物理读、逻辑读前10的sql?

    概述 今天主要介绍几个sql,可能很多人就收藏一下但很少会去用,所以结合案例来做一下分析,这样就知道在什么场景用了. 下面介绍一下案例. 1.监控分析 从监控发现物理IO读处于比较高的水平,截图如下: ...

  8. oracle 一致性读数量,ORACLE 一致性读原理记录

    什么是一致性读? 一致性读指的是在从查询那一刻起,中间的变化不予理会. 举例说明 比如我有两个帐户A,B. A 有1000块,B有1000快.我查询的时候查询速度比较慢.中间A转500到B账户. 已经 ...

  9. 在Oracle中,什么是物理读和逻辑读?

    在Oracle中,什么是物理读和逻辑读? 当会话所需要的数据在内存的 Buffer Cache 中找不到,此时就要去磁盘上的数据文件中读取,这样就产生了物理读( Physical Reads ),即物 ...

最新文章

  1. 清除NT Kernel System占用80端口
  2. Java 并发编程笔记(一)
  3. java学习笔记(九)----多线程
  4. 小程序仿 axios 请求封装
  5. mysql创建数据库schooldb_MySQL 创建数据表
  6. Mac安装code blocks以及解无法打开的问题
  7. sql2008 cet查询 所有层级_案例 | CET助力一汽实现动力设备系统智慧管理
  8. 最优化作业02—一维最优化方法
  9. 服务器ping不通的解决办法之阿里云云服务器VNC报错Failed to execute /sbin/init
  10. NuGet学习笔记(2)——使用图形化界面打包自己的类库
  11. python集合类型应用场景_python学习笔记(10)--组合数据类型(集合类型)
  12. mysql测试数据100w_利用MySQL存储过程批量插入100W条测试数据
  13. [Java] 蓝桥杯ADV-193 算法提高 盾神与条状项链
  14. pthreads v3下的worker和pool的使用
  15. android cpu降温代码,Android手机CM设置中CPU模式解释
  16. 【台大李宏毅机器学习】机器学习基本概念
  17. Docsify 侧边栏 : 自动生成sidebar与子目录sidebar
  18. 微信小程序实现页面按钮分享,右上角三个点分享禁用分享
  19. “商务网”,聚合头头网商务开放室,集群式商务推广平台
  20. 11.STC15W408AS单片机CCP/PCA/PWM应用

热门文章

  1. linux 文件md5,Linux下计算文件的MD5值
  2. 用vue实现打印页面的几种方法
  3. Spherical Harmonics Lighting
  4. win10-gvim安装vim-airline后状态栏乱码,而且箭头显示不出来
  5. android在framework层增加自己的service---仿照GPS
  6. CAD打碎块(网页版)
  7. Word如何操作压缩图片?干货经验!怎么在Word中压缩图片?
  8. 微信朋友圈营销如何做好头像_昵称_签名_背景基础设置?
  9. centos7 设置外部访问
  10. strstr函数和strtok函数的使用