Oracle回滚段概念用法规划及问题的解决

http://tech.ddvip.com   2007年01月21日    社区交流

本文详细介绍Oracle回滚段概念用法规划及问题的解决

  语法:

DROP ROLLBACK SEGMENT rollback_segment;

  例:

DROP ROLLBACK SEGMENT rbs01;

  查询回滚段的信息

  所用数据字典:DBA_ROLLBACK_SEGS

  可以查询的信息:回滚段的标识(SEGMENT_ID)、名称(SEGMENT_NAME)、所在表空间TABLESPACE_NAME)、类型(OWNER)、状态(STATUS)。

  例:

SQL>SELECT segment_name,tablespace_name,owner,status FROM dba_rollback_segs;

  回滚段的统计信息

  数据字典:V$ROLLNAME,V$ROLLSTAT

  例:

SQL>SELECT n.name,s.extents,s.rssize,s.optsize,s.hwmsize,s.xacts,s.status
    FROM v$rollname n,v$rollstat s
    WHERE n.usn=s.usn;

  回滚段的当前活动事务

  数据字典:V$SESSION,V$TRANSACTION

  例:

SQL>SELECT s.username,t.xidusn,t.ubafil,t.ubablk,t.used_ublk
    FROM v$session s,v$transaction t
    WHERE s.saddr=t.ses_addr;
   USERNAME  XIDUSN   UBAFIL   UBABLK  USED_UBLK
   -------  -------- ----------- ----------- -----------
   SYSTEM     2     2    7      1
   SCOTT      1     2    163     1
   2 rows selected.

  回滚段的数量规划

  对于OLTP系统,存在大量的小事务处理,一般建议:

  数量多的小回滚段;每四个事务一个回滚段;每个回滚段不要超过十个事务。

  对于批处理,一般建议:

  少的大回滚段;每个事务一个回滚段。

  回滚段的问题及解决方法

  问题一:事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数MAXEXTENTS的值(ORA-01628)。

  解决方法:向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。

  问题二:读一致性错误(ORA-01555 SNAPSHOT TOO OLD)

  解决方法:增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。

责编:豆豆技术应用

正在加载评论...