10.07.2015 Views

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 2 OFFLOADING / SMART SCANSmart Scans. This is an important point, by the way. The fact that <strong>Oracle</strong> behaves exactly the same fromthe application standpoint, regardless of whether Smart Scans are used or not is a big deal. The fact that<strong>Oracle</strong> may do some single block reads along with its Smart Scan is of little concern if the results arecorrect and the performance is not severely impacted, and in most cases it won’t be. There are cases,though, where choosing to do a Smart Scan and then reverting to block shipping mode can be painfulfrom a performance standpoint. These are the cases where it’s important to understand what’s going onunder the covers. You’ll find more information on this issue in Chapter 16.Skipping Some OffloadingAnother very complex behavior that we will only mention briefly is the ability of cellsrv to refuse to dosome of the normal offload processing. This can be done to avoid overloading the CPU resources on thestorage cells for example. A good example of this behavior occurs when decompressing HCC data.Decompression is an extremely CPU intensive task, especially for the higher levels of compression. Inlater versions of the storage software (11.2.2.3.0 and later), cellsrv can choose to skip the decompressionstep on some portion of the data when the CPUs on the storage cells are very busy and the databasehost’s CPU are not very busy. This effectively moves some of the workload back to the database tier byforcing the database hosts to do the decompression. In this case, some steps such as projection may stillbe done on the storage cells, despite the fact that the decompression step is skipped. As Kevin hasalready pointed out, this selective determination of which offload processing to do can make theboundaries between the tiers very fluid and difficult to monitor. Chapter 12 covers some techniques formonitoring this behavior.How to Verify That Smart Scan is HappeningOne of the most important things you can learn about <strong>Exadata</strong> is how to identify whether a query hasbeen able to take advantage of Smart Scans. This is not as easy as it sounds. Unfortunately, the normalexecution plan output produced by the DBMS_XPLAN package will not show you whether a Smart Scan wasused or not. Here’s an example:PLAN_TABLE_OUTPUT------------------------------------------------------------------------------------SQL_ID 05cq2hb1r37tr, child number 0-------------------------------------select avg(pk_col) from kso.skew a where col1 > 0Plan hash value: 568322376-----------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-----------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | | 44486 (100)| || 1 | SORT AGGREGATE | | 1 | 11 | | ||* 2 | TABLE ACCESS STORAGE FULL| SKEW | 32M| 335M| 44486 (1)| 00:08:54 |-----------------------------------------------------------------------------------Predicate Information (identified by operation id):---------------------------------------------------50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!