Perhaps a recursive CTE is what you're after, something like
WITH Months (ActualDate) AS (
SELECT TO_DATE('01.08.2019', 'DD.MM.YYYY') AS ActualDate
FROM Dual
UNION ALL
SELECT ADD_MONTHS(a.ActualDate, 3) AS ActualDate
FROM Months a
WHERE a.ActualDate <= TO_DATE('01.08.2020', 'DD.MM.YYYY')
)
SELECT m.ActualDate,
TO_CHAR(m.ActualDate, 'MM') AS Month,
TO_CHAR(m.ActualDate, 'YYYY') AS Year
FROM Months m;