关于undo的常用操作


  查看回滚段过期情况:

SELECT tablespace_name,STATUS, SUM(BYTES)/1024/1024/1024 FROM DBA_UNDO_EXTENTS group by tablespace_name,STATUS order by tablespace_name,status;

查看回滚段正在运行的占用情况:

 

SELECT s.inst_id,
       s.username,
       s.sid,
       pr.PID,
       s.OSUSER,
       s.MACHINE,
       s.PROGRAM,
       rs.segment_id,
       r.usn,
       rs.segment_name,      
       r.rssize/1024/1024,
       sq.sql_text
  FROM gv$transaction t, gv$session s, gv$rollstat r, dba_rollback_segs rs ,gv$sqltext  sq,v$process pr
WHERE s.saddr = t.ses_addr
   AND t.xidusn = r.usn 
   AND rs.segment_id = t.xidusn
   AND s.sql_address=sq.address
   AND s.sql_hash_value = sq.hash_value
   AND s.PADDR=pr.ADDR
ORDER BY t.used_ublk DESC ,sq.PIECE

 

 select a.ksppinm name,b.ksppstvl value,a.ksppdesc description  
 from x$ksppi a,x$ksppcv b  
 where a.indx = b.indx  
 and a.ksppinm like '%_undo_autotune%';  
http://blog.csdn.net/dba_waterbin/article/details/8646982

alter system set "_undo_autotune" = false scope=both sid='*';

 

_undo_autotune=trueundo_retention不再适用

Oracle会自行决定tuned_undo_retention,然后试图增大undo tablespace

10.2版本开始,oracle默认采用自动调整undo retention的方法

      根据你undo tablespace的大小以及系统的繁忙程度(v$undostat中信息)自动调整undo_retention参数

      所以在10g的数据库上你会经常发现undo tablespace永远是满的

      因为当你undo tablespace有空闲空间时,系统自动调大undo_retention来保留更多的undo blocks

      这一方法有利于时间长的查询,但是对于典型的OLTP系统来说不太适用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值