Я бы отодвинул эти требования - они звучат довольно искусственно.
Что произойдет, если ваше приложение выйдет из строя или питание отключится до того, как пользователь просмотрит эти данные?
Из вышеприведенного комментария звучит так, будто вы знаете ответ - для работы вам нужен доступ к файловой системе или оракулу.
Вас просят сгенерировать некоторые данные - что-то, что не повторяется в sql?
Если бы это можно было повторить, вы бы просто отправляли страницы данных пользователю за раз.
Поскольку этот отчет, я предполагаю, как-то связан с текущим состоянием ваших данных, вам нужно где-то сохранить этот результат, если вы не можете передать его пользователю. Я бы написал хранимую процедуру в Oracle - гораздо быстрее не отправлять данные туда и обратно по сети. Если у вас есть специальные инструменты или это просто, звучит так, будто нет ничего плохого в том, чтобы делать это на стороне Java.
Можете ли вы запланировать запуск этого отчета раз в неделю?