You are on page 1of 1

SELECT status

,
ROUND(sum_bytes
/ (1024*1024), 0)
AS M
B ,
ROUND((sum_bytes
/ undo_size) * 100, 0) AS P
ERC,
DECODE(status, 'UNEXPIRED', ROUND((sum_bytes / undo_size * factor) * 100
, 0),'EXPIRED', 0,ROUND((sum_bytes / undo_size) * 100, 0)) FULL
FROM
(
SELECT status, SUM(bytes) sum_bytes FROM dba_undo_extents GROUP
BY status
)
,
(
SELECT SUM(a.bytes) undo_size
FROM
dba_tablespaces c
JOIN v$tablespace b
ON
b.name = c.tablespace_name
JOIN v$datafile a
ON
a.ts# = b.ts#
WHERE c.contents
= 'UNDO'
AND c.status = 'ONLINE'
)
,
(
SELECT tuned_undoretention,
u.value
,
u.value/tuned_undoretention factor
FROM
v$undostat us
JOIN
(
SELECT MAX(end_time) end_time FROM v$und
ostat
)
usm
ON
usm.end_time = us.end_time
JOIN
(
SELECT name, value FROM v$parameter
)
u
ON
u.name = 'undo_retention'
)

You might also like