某客户回滚段达到32765处理

本文详细分析了一例Oracle 11.2.0.3数据库出现ORA-1628错误的情况,问题源于自动管理的UNDOTBS1表空间中的SYSSMU回滚段达到最大扩展数32765。通过检查数据库状态、回滚段信息和事务历史,揭示了一个长时间运行的事务导致的异常扩展行为。通过对回滚段头部的dump分析,确定事务开始SCN,并利用ASH报告辅助理解事务运行情况。
摘要由CSDN通过智能技术生成

某客户数据库的版本为11.2.0.3,如下所示:
SQL> select * from v$version;

BANNER

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

数据库使用的UNDO表空间为UNDOTBS1,且为自动管理,如下所示:
SQL> show parameter undo_management

NAME TYPE VALUE


undo_management string AUTO
SQL> show parameter undo_tablespace

NAME TYPE VALUE


undo_tablespace string UNDOTBS1

某日,业务程序运行时突然出现ORA-1628错误,数据库警告日志如下所示:
Fri Jun 07 16:25:48 2013
ORA-1628: max # extents 32765 reached for rollback segment _SYSSMU985_640904372$
Fri Jun 07 16:58:14 2013
ORA-1628: max # extents 32765 reached for rollback segment _SYSSMU1496_3116906519$

进一步检查dba_undo_extents视图发现,_SYSSMU985_640904372 和 S Y S S M U 149 6 3 116906519 和_SYSSMU1496_3116906519 SYSSMU14963116906519回滚段中的区数量确实已经达到了32765个,如下所示:
SQL> select SEGMENT_NAME,count() from dba_undo_extents where TABLESPACE_NAME=‘UNDOTBS1’
2 group by SEGMENT_NAME order by 2;
SEGMENT_NAME COUNT(
)


。。。。。。
_SYSSMU985_640904372$ 32765
_SYSSMU1496_3116906519$ 32765

检查_SYSSMU985_640904372回滚段中的每个区大小,发现每个区大小只有64k,这在区大小分配方式为系统分配下是极为不正常的,如下所示:
SQL> select EXTENT_MANAGEMENT,ALLOCATION_TYPE from dba_tablespaces where TABLESPACE_NAME=‘UNDOTBS1’;

EXTENT_MAN ALLOCATIO


LOCAL SYSTEM

SQL> select distinct BYTES from dba_undo_extents where SEGMENT_NAME=’_SYSSMU985_640904372’;

 BYTES

 65536

由于回滚段_SYSSMU985_640904372 中 每 个 区 的 大 小 只 有 64 k , 所 以 整 个 回 滚 段 大 小 只 有 2 G 不 到 , 如 下 所 示 : S Q L > s e l e c t B Y T E S / 1024 / 1024 / 1024 f r o m d b a s e g m e n t s w h e r e S E G M E N T N A M E = S ′ Y S S M U 98 5 6 40904372 中每个区的大小只有64k,所以整个回滚段大小只有2G不到,如下所示: SQL> select BYTES/1024/1024/1024 from dba_segments where SEGMENT_NAME='_SYSSMU985_640904372 64k2GSQL>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值