SELECT
ROUND(AVG((bs.completion_time - bs.start_time) * 1440), 2) AS avg_full_backup_duration_mins,
COUNT(*) AS total_full_backups,
SYSDATE AS report_generated_at
FROM
v$backup_set bs
WHERE
bs.backup_type = 'D' -- Full backups only
AND EXISTS (
SELECT 1
FROM v$backup_piece bp
WHERE bp.set_stamp = bs.set_stamp
AND bp.set_count = bs.set_count
AND bp.status = 'A' -- Only include backup sets with successful pieces
)
AND bs.start_time >= SYSDATE - 30
AND bs.start_time IS NOT NULL
AND bs.completion_time IS NOT NULL;





0 comments:
Post a Comment