«Генератор строк» - ключевое слово для поиска. Например:
SQL> with temp (col) as
2 (select to_date(&par_month, 'mm') from dual)
3 select to_number(to_char(col + level - 1, 'dd')) day
4 from temp
5 connect by level <= last_day(col) - col + 1
6 order by day;
Enter value for par_month: 5
DAY
----------
1
2
3
4
5
6
<snip>
29
30
31
31 rows selected.
SQL>
TO_DATE
функция преобразует введенное значение в 1-й день этого месяца текущего года, поэтому вам не нужно беспокоиться о "и year = extract (год из sysdate)" "вы упомянули в вопросе.