您现在的位置是:网站首页> 编程资料编程资料
[Oracle] 浅析令人抓狂的ORA-01555问题_oracle_
2023-05-27
586人已围观
简介 [Oracle] 浅析令人抓狂的ORA-01555问题_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] 浅谈Lock与Latch_oracle_
- 解析一个通过添加本地分区索引提高SQL性能的案例_oracle_
- Oracle中三种表连接算法的总结_oracle_
- [Oracle] Data Guard 之 浅析Switchover与Failover_oracle_
- [Oracle] Data Guard 之 三种保护模式介绍_oracle_
- [Oracle] Data Guard 之 Redo传输详解_oracle_
- [Oracle] RAC 之 - 负载均衡深入解析_oracle_
- Oracle中获取执行计划的几种方法分析_oracle_
- [Oracle] 解析在没有备份的情况下undo损坏怎么办_oracle_
- [Oracle] 分析AWR报告的方法介绍_oracle_
