Вашу задачу можно разбить на несколько раздельных.
1 У Oracle существуют механизмы периодического выполнения заданий. dbms_job и dbms_scheduler. Второй умеет работать по сложному расписанию. Подробнее можно почитать в документации
https://docs.oracle.com/cd/B19306_01/appdev.102/b1... и посмотреть примеры использования, например, здесь
citforum.ru/database/oracle/scheduler
2 Для того чтобы формировать excel-документ в Oracle можно воспользоваться сторонними разработками. На GitHub есть проект с утилитарными библиотеками для PL/SQL. Ознакомиться можно по ссылке
https://github.com/mortenbra/alexandria-plsql-util...
3 Для того, чтобы рассылать электронные письма из Oracle можно воспользоваться встроенным пакетом utl_mail. Документация
https://docs.oracle.com/cd/B19306_01/appdev.102/b1... и примеры использования
https://oracle-base.com/articles/10g/plsql-enhance...
Собственно в итоге должно получиться задание (dbms_scheduler), которое собирает данные по вашему запросу, формирует excel-документ (xlsx_builder_pkg) и отправляет его вложением в электронном письме (utl_mail или utl_smtp)