Problem:
I had a problem on 19c DBs where I cannot monitor the size of UNDO tablespace because it's now shown in dba_tablespace_usage_metrics
view.
SQL> select * from dba_tablespace_usage_metrics;
Solution:
It's Bug 28821847 - DBA_TABLESPACE_USAGE_METRICS Does Not Include Undo Tablespace Info ( Doc ID 28821847.8 ) impacting my current DB version 19.5 and it's fixed on 19.6
Workaround:
I've modified my monitoring script to get the size of the UNDO tablespaces adding below green color script:
select tablespace_name,
round((tablespace_size*8192)/(1024*1024)) Total_MB,
round((used_space*8192)/(1024*1024)) Used_MB,
round(((tablespace_size-used_space)*8192)/(1024*1024)) Free_MB,
round(used_percent) "%Used"
from dba_tablespace_usage_metrics
where tablespace_name not like '%UNDO%' union all SELECT a.tablespace_name,round(Total_MB) Total_MB,round(Used_MB) Used_MB,round ((Total_MB - Used_MB)) Free_MB,round ((Used_MB*100)/Total_MB,2) "%Used"
FROM
( SELECT SUM (maxbytes) / 1024 / 1024 Total_MB, b.tablespace_name
FROM dba_data_files a, dba_tablespaces b
WHERE a.tablespace_name = b.tablespace_name AND b.contents like 'UNDO'
GROUP BY b.tablespace_name) a,
( SELECT c.tablespace_name, SUM (bytes) / 1024 / 1024 Used_MB
FROM DBA_UNDO_EXTENTS c
WHERE status <> 'EXPIRED' GROUP BY c.tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
/
No comments:
Post a Comment