ORACLE一致读与ORA-01555
2019独角兽企业重金招聘Python工程师标准>>>
ORACLE一致读与ORA-01555
用户user1对表进行了更新操作,用户user2在user1还没有进行提交前读表中数据,而且是大批量的读取(打个比方:耗时3分钟)而在这3分钟内user1进行了提交操作,那又会产生什么影响呢?这个时候怎么保证读写一致性呢?这个时候DBMS就要保证有足够大的undo表空间来存放修改前的数值,,以保证user2读取的数据是修改前的一致数据.然后下次再读取时候就是更新后的数据了.
ora-01555快照过旧就是因为undo空间不够大,其中一部分undo数据被覆盖了,用户无法获得修改前的数据。
undo数据分为三种:
活动的undo:未提交事务的undo数据,这些undo数据永远不能覆盖,用于回滚rollback事务。
过期的undo:已提交事务的undo数据,这些undo数据可以覆盖。
未过期的undo:事务已提交,但事务提交前,有些查询正在进行,它要读取的是提交前的数据,这部分数据就是未过期数据。如果这部分undo数据被覆盖了,就会发生ora-01555错误。一个解决方法是,指定undo表空间参数UNDO_TABLESPACE,并将undo空间管理方法设置成自动扩展:UNDO_MANAGEMENT=AUTO。
这种方法可能产生的结果是:
因为undo表空间装了太多未过期(unexpired)的undo数据,新的transaction无法向其中写入undo数据,这时transaction就会发生ORA-30036错误。
转载于:https://my.oschina.net/u/138995/blog/204338
ORACLE一致读与ORA-01555相关推荐
- oracle存储过程文件在哪,Oracle存储过程读文件-Oracle
Oracle存储过程读文件 create or replace PROCEDURE PR_FINANCE_PRODUCT_PARSE ( v_filename IN VARCHAR2, –解析 ...
- rono在oracle的作用_sqlnet.ora的作用
sqlnet.ora的作用 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local naming,directory nameing...)的优先级 3.启用日志及跟踪(log ...
- Oracle 物理读 逻辑读 一致性读 当前模式读总结浅析
Oracle 物理读 逻辑读 一致性读 当前模式读总结浅析 在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get ...
- (未看)ORACLE物理读和逻辑读(SET AUTOTRACE ON 部分参数解释)[逻辑IO只有逻辑读,没有逻辑写]
逻辑IO只有逻辑读,没有逻辑写 ORACLE物理读和逻辑读(SET AUTOTRACE ON 部分参数解释) set autotrace 产生部分信息解读的官方文档基本的定义为如下: recursiv ...
- oracle 一致性读数量,ORACLE 一致性读原理记录
什么是一致性读? 一致性读指的是在从查询那一刻起,中间的变化不予理会. 举例说明 比如我有两个帐户A,B. A 有1000块,B有1000快.我查询的时候查询速度比较慢.中间A转500到B账户. 已经 ...
- oracle中的listener.ora和tnsnames.ora
一.oracle的客户端与服务器端 oracle在安装完成后服务器和客户端都需要进行网络配置才能实现网络连接. 服务器端配置监听器,客户端配置网络服务名 服务器端可配置一个或多个监听程序 ...
- ORACLE系列异常总结ORA
本文对常见的Oracle使用中的异常解决方案进行总结 1.ORACLE异常--ORA系列:ORA-00904 标识符无效 invalid identifier 2.ORACLE异常--ORA-0091 ...
- Oracle一致性读(Consistent Read)的原理
在Oracle数据库中,undo主要有三大作用: 提供一致性读(Consistent Read).回滚事务(Rollback Transaction)以及实例恢复(Instance Recovery) ...
- oracle 物理读,逻辑读的理解
1.物理读(physical read) 当数据块第一次读取到,就会缓存到buffer cache 中,而第二次读取和修改该数据块时就在内存buffer cache 了 以下是例子: 1.1 第一次 ...
最新文章
- range函数python循环次数查询_python进阶教程之循环相关函数range、enumerate、zip
- Chromium 操作系统即将支持所有 SBC 单板电脑
- 【玩转cocos2d-x之十五】关卡选择的设计
- python字符串设置字体_python怎么更改字符串后几位
- q7goodies事例_Java 8 Friday Goodies:新的新I / O API
- 中国互联网企业综合实力研究报告(2020)
- #Java小案例 随机产生数
- python语言的语法_PYTHON语言常用语法摘要
- Prometheus+Grafana可视化监控SpringBoot项目
- springboot学习笔记-5 springboot整合shiro
- 《MLB棒球创造营》:走近棒球运动·洛杉矶天使队
- 手机里面android什么意思,wipe什么意思?安卓手机如何wipe
- 已取消到该网页的导航
- 明解c语言答案第八章,《明解C语言》第1章初识C语言练习题答案(最新整理)
- 足下校园C语言评估系统答案,江苏省江阴市南闸实验学校2020-2021学年八年级下学期第4周周练语文卷(word含答案))...
- 【模型开发】评分卡应用
- 小程序工具类无云开发按钮(已解决)
- java解析网页全过程_Web页面的解析过程
- ILSpy中baml转化为xaml的改进(五)
- 大漠天使后台绑定测试工具
热门文章
- 2017.11.21T19_B2_6.2讲义
- C#的同步和异步调用方法
- java学习笔记(3)——面向对象
- 关于Ad-hoc测试的基本知识
- jquery 选中单选按钮的值
- XCTF-MISC-新手区-功夫再高也怕菜刀
- 学习响应式BootStrap来写融职教育网站,Bootsrtap第十天你的收获
- hexo部署到github时,提示typeError [ERR_INVALID_ARG_TYPE]: The “mode“ argument must be integer. Receive...
- typescript断言
- 使用rem的简单处理