ITPub博客

首页 > 数据库 > Oracle > 检查Undo表空间使用情况

检查Undo表空间使用情况

原创 Oracle 作者:leodinas_kong 时间:2017-12-20 11:28:43 0 删除 编辑

######脚本###########

SELECT TABLESPACE_NAME, ROUND ( (USED / TOTAL_SIZE) * 100, 2) USED_RATE
  FROM (SELECT A.TABLESPACE_NAME, TOTAL_SIZE, USED
          FROM (  SELECT TABLESPACE_NAME,
                         ROUND (SUM (BYTES) / 1024 / 1024 / 1024, 2) TOTAL_SIZE
                    FROM DBA_DATA_FILES
                   WHERE 1 = 1 AND TABLESPACE_NAME LIKE 'UNDOTBS%'
                GROUP BY TABLESPACE_NAME) A,
               (  SELECT TABLESPACE_NAME,
                         ROUND (SUM (BYTES) / 1024 / 1024 / 1024, 2) USED
                    FROM DBA_UNDO_EXTENTS
                   WHERE 1 = 1 AND STATUS = 'UNEXPIRED'
                GROUP BY TABLESPACE_NAME) B
         WHERE 1 = 1 AND A.TABLESPACE_NAME = B.TABLESPACE_NAME);

------------------------------------------------------------------------------------------------------------------

The Expired blocks will be reused and hence this should be counted as 'available' space in the Undo segment.

You can check the status of the undo extents via the SQLs below.
select sum(bytes /(1024*1024)) from dba_undo_extents where status='EXPIRED';
select sum(bytes /(1024*1024)) from dba_undo_extents where status='ACTIVE';
select sum(bytes /(1024*1024)) from dba_undo_extents where status='UNEXPIRED';

For more detailed information, please refer to:
Master Note: High Undo Space Usage ( Doc ID 1578639.1 )

Above all, if the undo status is Expired, you can safely ignore the undo usage, as the space will be reused automatically.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31401608/viewspace-2148937/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle 10046 SQL TRACE
请登录后发表评论 登录
全部评论

注册时间:2016-10-11

  • 博文量
    102
  • 访问量
    126816