A mystery & too few clues!

On one of my smaller databases within the last few weeks
a couple of the nightly reports went from completing within
seconds to taking 10 - 100= minutes to complete.
There have been NO changes to the initSID.ora file for months.
The system has been rebooted & Oracle get bounced nightly.
This is a REAL small database with only a few thousand total
records in it & the amount of data has not significantly changed.
I did a complete ANALYZE of all the tables & indexes on Sunday.

I monitored the process via V$SES_IO which also reported close
to 10,000,000 consistent gets for this single report run.
Please NOTE that this DB does NOT have anywhere close to TEN
million records in it.

I did enable SQL trace & at the bottom is the output from TKPROF.
If/when the raw SQL is run, results are returned immediately.
This is being run on a dual CPU SPARC & one CPU gets pegged
while this report is "active".

I'd like somebody to explain how, where & why this report goes
off & does millions of gets and take 10 - 100+ minutes to complete.

count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
********************************************************************************

SELECT NVL(SUM(I.QTY),0) QTY
FROM
MWH.INVQTY I WHERE I.PART = :b1 AND I.LOC = :b2 AND I.TYP LIKE :b3