zoukankan      html  css  js  c++  java
  • ORA-01628 errors i.e max # extents (32765) reached for rollback segment <SEGMENT_NAME>

    在一体机X5-2S上遇到了该错误,起初以为是undo表空间不足。增加undo表空间。结果还是报该错误。
    最后在mos上面找到这篇文档:IF: ORA-1628 Reported During Long Running Transactions (文档 ID 1951032.1)

    Related Issues:
    Long running transactions encounter ORA-1628 mostly due to the small extents allocated to the Undo tablespace. The Undo tablespace fragmentation can also be a cause. Refer to Doc ID 1951032.1 for details.
    ORA-1628 can be reported for small transactions too. This can happen when the undo tablespace is fragmented or there is space crunch in the undo tablespace. High value of TUNED_UNDORETENTION also cause ORA-1628 error. Refer to Doc ID 1951033.1 for details.
    ORA-1628 error during Import can be resolved by setting some IMPDP parameters. Refer to Doc ID 1955310.1 for details


    有三个相关联的原因:
    1.太多的小事务,分配太多小的undo extent。达到了32765个extents
    2.undo_retention调整得过大。导致undo表空间不够用
    3.impdp导入时候,可能发生。


    生产环境中,我碰到的是第一类情况,小事务太多。怎样定位小事务
    1.确定小的事务分配的undo段
    SELECT b.usn,
    tablespace_name,segment_name,
    bytes "Extent_Size",
    count(extent_id) "Extent_Count",
    bytes * count(extent_id) "Extent_Bytes"
    FROM dba_undo_extents a ,v$rollname b
    WHERE status = 'ACTIVE'
    and a.SEGMENT_NAME=b.name
    group by b.usn,tablespace_name,segment_name, bytes
    order by count(extent_id) desc;

    2.确定会话事务(需要两个节点各自执行v$rollname,显示单节点的)
    select a.inst_id,a.sid, a.serial#,b.XIDUSN,a.SQL_ID, a.username, b.used_urec, b.used_ublk*8/1024/1024 G
    from gv$session a, gv$transaction b
    where a.saddr=b.ses_addr
    and a.inst_id=b.inst_id
    and xidusn=&usn
    order by used_ublk desc

    解决方法:
    1.可以应用event="64000 trace name context forever, level 25"该事件,同时应用补丁17306264
    2.按照给出sql语句定位小事务的相关应用。然后让开发人员修改程序

    参考资料:
    IF: ORA-1628 reported due to Undo tablespace fragmentation - Bug 17306264 (文档 ID 1951022.1)
    Troubleshooting ORA-1628 - max # extents (32765) reached for rollback segment <SEGMENT_NAME> (文档 ID 1580182.1)
    IF: ORA-1628 Reported Even For Small Transactions (文档 ID 1951033.1)
    IF: ORA-1628 Reported During Import (文档 ID 1955310.1)

  • 相关阅读:
    Idea导入tomcat源码
    SpringBoot学习 (一) Eclipse中创建新的SpringBoot项目
    Zookeeper客户端Curator使用详解
    解决老是提示找不到Mapper文件无法执行定义的方法问题!
    人工智能、机器学习、深度学习三者之间的关系
    java5增加对https的支持
    Spring静态注入的三种方式
    Thrift入门及Java实例演示【转】
    activeMQ 学习
    python中 import 和from ... import 的区别
  • 原文地址:https://www.cnblogs.com/erwadba/p/9446795.html
Copyright © 2011-2022 走看看