SELECT
ROUND(AVG((MAX(bp.completion_time) - MIN(bp.start_time)) * 1440), 2) AS avg_full_backup_duration_mins,
COUNT(DISTINCT bs.set_stamp || '.' || bs.set_count) AS total_full_backup_jobs,
SYSDATE AS report_generated_at
FROM
v$backup_set bs
JOIN
v$backup_piece bp
ON bs.set_stamp = bp.set_stamp AND bs.set_count = bp.set_count
WHERE
bs.backup_type = 'D' -- Full backup
AND bp.status = 'A' -- Successful pieces
AND bp.start_time IS NOT NULL
AND bp.completion_time IS NOT NULL
AND bp.start_time >= SYSDATE - 30
GROUP BY
bs.set_stamp, bs.set_count;





0 comments:
Post a Comment