ora-01555 ora-01555 产⽣ORA-01555错误主要有三种可能性:1、UNDO段对于系统所运⾏的⼯作负荷太⼩;2、在循环过程中有事务提交是造成ORA-01555错误的最常见的原因;3、block cleanout;解决ORA-01555错误的解决⽅案有下⾯⼏种:1、适当的设置UNDO_RETENTION参数值(⼤于事务执⾏可能需要的最长时间...
由于性能原因,导出时间过长(几个小时以上),在导出时经常会遇到ORA-01555错误而失败。 从之前对ORA-01555错误的成因分析可以知道,这个ORA-01555错误,正是由于表上存在未清除的事务,同时导出时间过长,UNDO段头的事务表被全部重用,ORACLE在查询到有未清除事务的块时不能确定事务提交时间是否早于导出(查询)开始时间,这...
增加Undo空间:ORA-01555错误的一个常见原因是Undo段不足。可以通过增加Undo表空间的大小来解决这个问题。在Oracle中,可以使用ALTER TABLESPACE命令来增加Undo表空间的大小。 优化查询:减少查询的运行时间也是解决ORA-01555错误的有效方法。优化查询可以降低对Undo段的需求,从而减少出现ORA-01555错误的可能性。优化查询的方法...
SQL> print :cc ERROR: ORA-01555: snapshot too old: rollback segment number 20 with name "_SYSSMU20$" too small no rows selected 以上两个例子看起来是好像很类似,但是,他们的本质区别是:第一个实际上是在进行一致性读得时候发生的1555错误,而第二个例子是在判断是否需要进行一致性读得时候发生的1555...
ora-01555 产生ORA-01555错误主要有三种可能性: 1、UNDO段对于系统所运行的工作负荷太小; 2、在循环过程中有事务提交是造成ORA-01555错误的最常见的原因; 3、block cleanout; 解决ORA-01555错误的解决方案有下面几种: 1、适当的设置UNDO_RETENTION参数值(大于事务执行可能需要的最长时间);如果UNDO_RETENTION参数值...
ORA-01555的直观解释是“snapshot too old”,也就是快照太旧,其根本含义就是查询需要的前镜像过于“久远”,已经无法找到了。可以想象,如果一个历时数个小时或十几个小时的查询,如果最后遭遇ORA-01555错误而失败,会是多么令人沮丧的一件事。一直以来,ORA-01555都是ORACLE最为头痛的问题之一。
从之前对ORA-01555错误的成因分析可以知道,这个ORA-01555错误,正是由于表上存在未清除的事务,同时导出时间过长,UNDO段头的事务表被全部重用,ORACLE在查询到有未清除事务的块时不能确定事务提交时间是否早于导出(查询)开始时间,这时候就报ORA-01555错误。
manual 管理模式下增大 rollback segment 的 maxextents 参数 首先看第一点:为查询的 session 指定一个大的回滚段 Ora-01555 的常见原因是查询操作要去读取的回滚段信息已经被 覆盖掉,不能完成一致性读操作(这里暂时不包含 delayed block cleanout 的情况了,因为出现比较少,我也没有在正式环境上遇到 过)。注意...
ORA-01555错误的原因分析 1、SQL语句执行时间太长,或者UNDO表空间过小,或者事务量过大,或者过于频繁的提交,导致执行SQL过程中进行一致性读时,SQL执行后修改的前镜像(即UNDO数据)在UNDO表空间中已经被覆盖,不能构造一致性读块。 2、SQL语句执行过程中,访问到的块,在进行延迟块清除时,不能确定该块的事务提交时间...
百度试题 结果1 题目ORA-01555的应对方法?相关知识点: 试题来源: 解析 具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本反馈 收藏