日期:2014-05-16  浏览次数:20394 次

undo系列学习之oracle DBA常用的脚本

    DBA在维护oracle的过程,和undo有关的常用脚本。在前面的一些文章也涉及了挺多的,在此简单总结一点。

    1)怎样查询数据库当前某个session的事务所使用的回滚段大小?

sys@ORCL> select b.sid,b.username,a.xidusn,a.used_ublk
  2         from v$transaction a,v$session b
  3        where a.addr=b.taddr;

       SID USERNAME                           XIDUSN  USED_UBLK
---------- ------------------------------ ---------- ----------
       147 HR                                      9          1
       154 SCOTT                                   5          1


    2)查询哪个用户正在使用回滚段的资源?

select s.username,u.name 
  from v$transaction t,v$rollstat r,v$rollname u,v$session s
 where s.taddr=t.addr and
       t.xidusn=r.usn and
       r.usn=u.usn 
 order by s.username

USERNAME                       NAME
------------------------------ ------------------------------
HR                             _SYSSMU9$
SCOTT                          _SYSSMU5$


    3)显示undo表空间统计信息--v$undostat,自动管理引入的,每隔10分钟汇报一次

select to_char(begin_time,'hh24:mi:ss') begin_time,
       to_char(end_time,'hh24:mi:ss') end_time,
       undoblks,
       ssolderrcnt
  from v$undostat;

BEGIN_TI END_TIME   UNDOBLKS SSOLDERRCNT
-------- -------- ---------- -----------
12:02:41 12:04:33          0           0
11:52:41 12:02:41        109           0
11:42:41 11:52:41         35           0
11:32:41 11:42:41         52           0
11:22:41 11:32:41          2           0


    4)显示在线undo段的统计信息

select a.name,b.xacts,b.writes,b.extents
  from v$rollname a,v$rollstat b
 where a.usn=b.usn;

NAME                                XACTS     WRITES    EXTENTS
------------------------------ ---------- ---------- ----------
SYSTEM                                  0       5080          6
_SYSSMU1$                               0     128452          4
_SYSSMU2$                               0     131562          4
_SYSSMU3$                               0     153310          4
_SYSSMU4$                               0      95228          4
_SYSSMU5$                               1      11954          9
_SYSSMU6$                               0     211674         10
_SYSSMU7$                               0     365956          7
_SYSSMU8$                               0      68614         17
_SYSSMU9$                               1      30516          5
_SYSSMU10$                              0     219062         17
1楼hanxuemin123453天前 14:51
实践中学习 最有效。加油