Predicate evaluation is not offloaded to Exadata Cell in the following cases:
-
The CELL_OFFLOAD_PROCESSING parameter is set to FALSE.
-
The optimizer uses direct path read.
-
A scan is performed on a clustered table.
-
A scan is performed on an index-organized table.
-
A fast full scan is performed on compressed indexes.
Predicate evaluation is not offloaded when CELL_OFFLOAD_PROCESSING is FALSE, or when scanning certain table types. Clustered tables and index-organized tables have storage structures that don't support predicate offloading. Fast full scans on compressed indexes also don't support offload. Direct path reads are a different optimization mechanism and don't prevent predicate offloading - they're often used together in Exadata.
Smart Scan predicate offload to Exadata cells is skipped when offload is explicitly disabled (CELL_OFFLOAD_PROCESSING = FALSE), or when the scan targets object types Smart Scan doesn't support — clustered tables, index-organized tables, and fast full scans over compressed indexes all fall back to normal, non-offloaded processing. Using a direct path read is actually a prerequisite that enables offloading rather than a case that blocks it, which is why that option is not selected.