Tuesday, 24 June 2025

Filled under:

 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