li
  当前位置:主页 > 性能优化 > 文章内容
li
oracle ORA-01555错误完全解析
来源: www.ixdba.net  作者: fuyuncat    时间:2008-03-27   阅读:26  
本文章共6560字,分5页,当前第1页,快速翻页:
 

最近几天处理数据导入问题,就出现了ORA-01555错误,于是总结如下:


        ORA-01555(
快照过旧)问题让很多人感到十分头痛。最近我们的生产系统上也报出了ORA-01555错误。就结合这次案例将ORA-1555问题作个案例分析,并浅析产生原因和各种解决办法。

如果要了解1555错误产生的原因,就需要知道ORACLE的两个特性:一致性读(Consistent Get)和延迟块清除(Delayed Block Cleanout)。此外,还要知道关于回滚段的一些配置参数。

相关参数

      先看下Oracle中关于UNDO有哪些配置参数:

SQL> show parameter undo
 
NAME                  TYPE                 VALUE
--------------------- -------------------- -----------------------
undo_management       string               MANUAL
undo_retention        integer              900
undo_suppress_errors  boolean              FALSE
undo_tablespace       string               UNDOTBS1

undo_management

      回滚段的管理方式。值可以为MANUAL/AUTO9i中默认是MANUAL10g中默认是AUTO

IXDBA.NET技术社区

      9i后,回滚段就以表空间的形式管理,并且支持系统自动管理回滚段。一个回滚表空间上可以创建多个回滚段,一个数据库可以创建多个回滚表空间。但是,一个实例(Instance)只能使用一个回滚表空间。

如果undo_management设置为MANUAL,就是手动创建回滚段:

SQL> create rollback segment undo1 tablespace UNDOTBS1;

      如果设置为AUTOOracle就自动管理回滚段的创建,而手工创建就会失败。

undo_retention

      这个参数设置回滚段中的被提交或回滚的数据强制保留时间,单位是秒。请注意,这个参数和1555错误有非常大的关系。但是,需要提醒的是,并不是回滚段中的数据超过这个时间以后就会被清除掉,而是等到后面事务产生的回滚数据覆盖掉“超期”数据。所以这就是为什么我们往往看到系统的回滚表空间占有率始终是100%的原因了。

undo_suppress_errors

      是否报与回滚段有关的错误。如果为FALSE,就不会产生与回滚段有关的错误。但是,请注意,并不是不会发生回滚段错误,而只是屏蔽错误信息,错误发生了就会存在滴。在10g中,这个参数是隐含参数。

undo_tablespace

      为每个实例制定的唯一当前使用的回滚段表空间。

一致性读(Consistent Get)

一致性读(Consistent Get)可以说是产生1555错误的主要原因。但它的确是Oracle一个非常优秀的特性。既然这个特性会产生这么烦人的错误,我为什么还说它是ORACLE十分优秀的特性呢?下面就先了解一下这个特性:

并发事务和脏读

需要先了解一下这一特性的产生的背景原因。看下以下这个例子。在一个银行系统中(一般涉及到钱的问题对并发事务要求是最严格的^_^),会计正在统计当月某地区的个人存款总额,她的这个操作,在后台肯定要产生一条



阅读更多内容1 · 2 · 3 · 4 · 5 · 下一页>>


  上一篇: 高级复制下如何强制删除废弃复制...   下一篇: oracle创建逻辑standby数据库
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·高级复制下如何强制删除废弃复制...
·Oracle数据库中高级复制的功能介...
·高级复制下如何强制删除复制组
·Oracle9i与Oracle10g之间的高级复...
·oracle高级复制需要注意的几点问...
·ORACLE的高级复制实现内外网数据...
·物化视图高级复制中ORA-23313错误...
·Oracle高级复制配置文档
·ORA-07445: exception encounter...
·ORA-1122错误的解决办法
·oracle创建逻辑standby数据库
·根据statspack来获取生成环境中t...
·oracle ORA-01555错误完全解析之...
·oracle 高级复制中ORA-25207错误...
·高级复制的整体规划策略
·如何将高级复制队列表移出系统(S...
·Oracle中的Hash Join详解
·oracle中各种sql语句的多种写法
·ORA-600 [qmxiUnpPacked2]错误的...
·ORA-01599与max_rollback_segmen...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接