SELECT
SUM(CASE
WHEN UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'INSERT%'
THEN s.executions_delta ELSE 0
END) AS total_inserts,
SUM(CASE
WHEN UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'UPDATE%'
THEN s.executions_delta ELSE 0
END) AS total_updates,
SUM(CASE
WHEN UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'DELETE%'
THEN s.executions_delta ELSE 0
END) AS total_deletes,
SUM(CASE
WHEN UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'MERGE%'
THEN s.executions_delta ELSE 0
END) AS total_merges,
SUM(s.executions_delta) AS total_dml
FROM
dba_hist_sqlstat s
JOIN
dba_hist_snapshot sn
ON s.snap_id = sn.snap_id
AND s.dbid = sn.dbid
AND s.instance_number = sn.instance_number
JOIN
dba_hist_sqltext t
ON s.sql_id = t.sql_id
AND s.dbid = t.dbid
WHERE
sn.begin_interval_time >= TO_TIMESTAMP('2026-03-19 14:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND sn.end_interval_time <= TO_TIMESTAMP('2026-03-19 16:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND (
UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'INSERT%'
OR UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'UPDATE%'
OR UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'DELETE%'
OR UPPER(DBMS_LOB.SUBSTR(t.sql_text, 1000, 1)) LIKE 'MERGE%'
);