This content has been marked as final. Show 2 replies
Processing will be offloaded only when direct reads are done, so queries that do reads thru buffer cache will do cell multiblock reads, or single block reads, and no offload will be done.
when you do paralle processing, reads are done in direct mode (unless in-memory PQ is used), and so offload happens.
In serial mode, direct reads may or may not happen, depending on several things ( number of blocks in cache, number of dirty blocks, ....). using serialdirect_read=true forces direct reads and so offload happens.
There's no magic to it.
If your Cells are too busy Oracle might decide to don´t offload.
Exadata are just able to use the first 8 predicates on your SQLs, so if you are changing the order of you predicate, you may be impact the offload decision.