Inconsistent SQL tuning results

I've been trying to tune a SQL statement but I get very inconsistent
results.

I always start with:
alter system flush shared_pool;
alter system flush buffer_cache;

Then I run the SQL, but the first time I run it, it can take as much as 7
minutes. On the 2nd, 3rd, and 4th runs, it takes
40 sec, 49 sec, 35 sec respectively.

So my question is: What might account for the huge difference in run time
between the first run and successive runs?

Thanks,
Mike

Other related posts: