天萃荷净
Oracle研究中心案例分析:运维DBA反映Oracle数据库undo使用较大,结合案例分析undo使用问题。
本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客
本文链接地址: about Undo Tablespace used High
今天有朋友在问关于undo 使用很高的问题,这个问题其实很常见了,上次也正好处理过一起,客户的3节点rac,undo使用很高,当时操作后留了一份简单的记录,今天我发出来,供大家参考!
关于ucp库,undo使用较高的问题:通过如下sql检查可以看到母亲undotbs1使用比较高,且目前undotbs1已经80g了。
SQL> SELECT /* + RULE */
2 df.tablespace_name "Tablespace",
3 df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
4 5 Nvl(Round(SUM(fs.bytes) * 100 / df.bytes), 1) "% Free",
6 Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
7 FROM dba_free_space fs,
8 (SELECT tablespace_name, SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
9 10 11 WHERE fs.tablespace_name(+) = df.tablespace_name
12 GROUP BY df.tablespace_name, df.bytes
UNION ALL
13 14 SELECT /* + RULE */
15 df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
16 17 SUM(df.bytes_free) / (1024 * 1024),
18 Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
19 20 FROM dba_temp_files fs,
21 (SELECT tablespace_name, bytes_free, bytes_used
FROM v$temp_space_header
22 23 GROUP BY tablespace_name, bytes_free, bytes_used) df
24 WHERE fs.tablespace_name(+) = df.tablespace_name
GROUP BY df.tablespace_name, fs.bytes, df.bytes_free, df.bytes_used
25 26 ORDER BY 4 DESC;
Tablespace SIZE (MB) Free (MB) % Free % Used
------------------------------ ---------- ---------- ---------- ----------
TEMP 20480 0 300 400
TEMP 20480 316 300 400
USERS 1024 1023 100 0
PERFSTAT 500 499 100 0
WEB_INDEX 102400 97798.0625 96 4
SYSTEM