演示如何生成错误“ORA-01555: snapshot too old”。
在大型OLAP系统中运行查询经常会遭遇“ORA-01555: snapshot too old”的错误。这是因为Oracle为了保持读一致性,需要从回滚段中读取被修改的记录,但是同时这条被修改的记录在回滚段中却找不到了。这时,就会报错“ORA-01555: snapshot too old”。
原创
2011-05-02 17:36:44
5211阅读
不知道是从哪里转的了, 假设有张表,叫table1,里面有5000万行数据,假设预计全表扫描1次需要1个小时,我们从过程来看: 1、在1点钟,有个用户A发出了select * from table1;此时不管将来...
转载
2015-11-19 11:53:00
129阅读
2评论
看到网上有个同学,举例说明,觉得不错,拿来用下:假设有张表,叫table1,里面有5000万行数据,假设预计全表扫描1次需要1个小时,我们从过程来看: 1、在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问
转载
精选
2013-07-19 13:46:48
380阅读
首先,先了解下此错误产生的原因。
其根本原因是,undo表空间里的commit过的数据被覆盖。这种事件最容易发生在游标cursor中。当用户A运行一个长时间的cursor,而此时用户B已对cursor查询所使用的原始数据做了修改。长时间运行中的cursor,查询到的数据是未修改前的数据。这些数据是存放在undo表空间里的,如果undo表空间太小,随着修改的增
原创
2011-10-30 20:12:04
4489阅读
由于博客中有大量代码,通过页面浏览效果更佳。在前两章中,我们深入探讨了ORA-01555的原理、场景和基础解决方案。本章将进行全面的总结,并提供一套从主动预防到高级诊断的完整策略,帮助你构建一个对ORA-01555有强大“免疫力”的数据库环境。3.1 ORA-01555的本质回顾与深度剖析要彻底征服ORA-01555,必须深刻理解其本质。它不仅仅是“快照过旧”,更是数据库在空间压力、时间限制和一
--创建undo表空间时固定表空间的大小sys@TDB112>create
undo tablespace undo_small 2
datafile'/u01/app/oracle/oradata/TDB112/undo_small.dbf' 3 size
2m 4
autoextend off;--切换表空间为定义的
原创
2014-08-14 11:11:07
1537阅读
ORA-01555错误详解 ORA-01555(快照过旧)问题让很多人感到十分头痛。最近我们的生产系统上也报出了ORA-
原创
2023-07-20 10:23:44
467阅读
本文总结了ORA-01555(快照过旧)错误的核心原理与系统化解决方案。文章指出,该错误本质上是数据库在空间压
第1步修改undo表空间大小 create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/ocp/undotbs2.dbf' size 10M; alter system set undo_tablespace=undotbs2; alter system set undo_retention=2 scope
原创
2013-02-04 12:25:00
668阅读
摘要:ORA-01555(快照过旧)是Oracle常见错误,本质是查询需要的数据快照已被覆盖。文章详解其原理:O
原文博客链接地址:数据库open报错ORA-01555: snapshot too old今天正在东莞蜜月的时候,一个学生说他管理的测试库出
原创
2023-05-22 15:02:52
174阅读
oracle10g用数据泵导出数据提示,提示错误如下:ORA-31693: Table data object "SMARTGPS2006"."MCC_ASYN_POS":"MCC_ASYN_POS201409" failed to load/unload and is being skipped due to error:ORA-29913: error in executing ODCIEXT
原创
2014-09-30 10:29:24
6147阅读
这篇文章紧接着上一篇“ORA-01555错误总结(一)”。主要描写叙述延迟块清除导致的ORA-01555错误。以下是一些简介(上一遍已经介绍过) ORA-01555错误是一种在oracle数据库中很常见的错误。甚至也能够说是一个很经典的错误,仅仅是因为oracle的发展越来越自己主动化(UNDO自己
转载
2017-06-09 17:46:00
243阅读
2评论
ORA-01555 原因与解决:
前面提到了ORA-01555错误,那么现在来看一下ORA-01555错误是怎样产生的。由于回滚段是循环使用的,当事务提交以后,该事务占用的回滚段事务会被标记为非活动,回滚段空间可以被覆盖重用。那么一个问题就出现了,如果一个查询需要使用被覆盖的回滚段构造前镜像实现一致性读,那么此时就会出现Oracle著名的ORA-01555错误。
ORA-01555错误的另
转载
2021-08-23 18:05:55
10000+阅读
ORA-01555是因为回滚段中的原数据镜像被覆盖,一致性读时查询时不到。模拟ORA-01555错误 :1.配置一个不能自动扩展
原创
2023-02-27 10:15:45
194阅读
由于博客中有大量代码,通过页面浏览效果更佳。本章将深入探讨ORA-01555的四种核心触发场景,为每种场景提供两个详细的案例分析,并附上针对性的优化建议,助你从根源上解决问题。2.1 场景一:长事务与长查询场景描述:
这是ORA-01555最经典的诱因。当一个查询的持续时间(Query Duration)超过了UNDO数据的保留时间,或者在查询期间有大量的DML操作,导致查询启动时所需的数据“前
ORA-01555 原因与解决:
前面提到了ORA-01555错误,那么现在来看一下ORA-01555错误是怎样产生的。由于回滚段是循环使用的,当事务提交以后,该事务占用的回滚段事务会被标记为非活动,回滚段空间可以被覆盖重用。那么一个问题就出现了,如果一个查询需要使用被覆盖的回滚段构造前镜像实现一致性读,那么此时就会出现Oracle著名的ORA-01555错误。
ORA-01555
转载
精选
2013-04-26 10:34:52
253阅读
ORA-01555 原因与解决:
前面提到了ORA-01555错误,那么现在来看一下ORA-01555错误是怎样产生的。由于回滚段是循环使用的,当事务提交以后,该事务占用的回滚段事务会被标记为非活动,回滚段空间可以被覆盖重用。那么一个问题就出现了,如果一个查询需要使用被覆盖的回滚段构造前镜像实现一致性读,那么此时就会出现Oracle著名的ORA-01555错误。
ORA-01555
转载
精选
2013-04-26 10:35:25
726阅读