undo系列学习之Oracle DBA常用的脚本
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
评论暂时关闭