La forma típica de hacer esto en Oracle sería:
DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
La razón por la que sugiero usar ADD_MONTHS()
en lugar de intervalos de año es que ADD_MONTHS()
es seguro para los años bisiestos.