欢迎来到代码驿站!

Oracle

当前位置:首页 > 数据库 > Oracle

[Oracle] 浅析令人抓狂的ORA-01555问题

时间:2021-03-29 09:43:31|栏目:Oracle|点击:

因此,在数据库的日常维护工作中,如果只是一次两次碰到ORA-01555错误,一般都先忽略,但是如果经常碰到该错误,则要进行一些调整以避免该错误的再次发生。

1. 为什么会产生ORA-01555错误?
这个错误是由数据库的读一致性(Read consistency)引起的,当查询需要访问被修改的数据时,它会到undo里访问该数据的前镜像,如果该前镜像已被覆盖,查询语句就会返回ORA-01555的错误。

2. 导致ORA-01555错误的主要原因有哪些?
1) undo太小
比较直观的解决方法是DBA告诉数据库应用最长的查询需要多长时间,并把UNDO_RETENTION设为这个值,同时相应增大undo表空间大小。
但要从根本上解决undo太小问题,还得从应用端代码调优入手,减少查询的运行时间。

2) 延迟的块清除
这种情况比较少见,特别是在OLTP系统里,在OLAP系统里可能会碰到,解决方法是在每次大量的insert或update之后,记得用DBMS_STATS包扫描相关对象。

上一篇:oracle跨库查询dblink的用法实例详解

栏    目:Oracle

下一篇:详解PL/SQL Developer连接本地Oracle 11g 64位数据库

本文标题:[Oracle] 浅析令人抓狂的ORA-01555问题

本文地址:http://www.codeinn.net/misctech/90524.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有