Ad 7 minutes...
Primarily, you should know if it sounds reasonably :>) It depends on many factors, typically, size of the data, network latency and bandwith and speed of the SQL query (i.e. query optimization, Oracle configuration, frequency of processors, amount of memory, ...) If it is 100MB of the data, 7 min could be O.K. in my opinion.
Note
If you use fetchall_arrayref with maxrows or other method which does NOT pull all data at once, do not forget to pull all remaining data using, for instance, fetchall_arrayref repeatedly, or call $sth->finish(). I do not know Oracle internalities, but, it is very honest to say "Thank you, the server, I do not need remaining data."