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 11 UNDERSTANDING EXADATA PERFORMANCE METRICSNote that it is OK to see some database layer I/O processing during a SQL plan execution, as theplan is probably accessing multiple tables (and joining them). So, when doing a 10-table join between alarge fact and nine dimension tables, you may well see that all of the dimensions are scanned usingregular, cached block I/O (and using some index, if present), and only the large fact table access path willtake advantage of the Smart Scan.cell blocks processed by data layerWhile the previous statistic counts all the block gets done by the cache layer (KCB), this statistic issimilar, but counts the blocks processed in the cell by the data layer. This statistic applies specifically toreading table blocks or materialized view blocks (which are physically just like table blocks). Informationis collected using a data layer module, called KDS for Kernel Data Scan, which can extract rows andcolumns out of table blocks and pass them on to various evaluation functions for filtering and predicatechecks. If the cell Smart Scan can do all of its processing in the cell, without having to fall back todatabase block I/O mode, then this “processed by data layer” statistic plus the processed by “indexlayer” statistic should add up to the “processed by cache layer” value. This means that every blockactually opened made its way through the cache and transaction layer checks and was passed to the dataor index layer for row and column extraction. If the “processed by data layer” plus “processed by indexlayer” statistics add up to a smaller value than the “processed by cache layer” statistic, it means that therest of the blocks were not fully processed by the cell and had to be sent back to the database for regularblock I/O processing.cell blocks processed by index layerThis statistic is just like the preceding cell blocks processed by data layer, but it is incremented whenSmart Scanning through B*Tree or bitmap index segment blocks. The code path for extracting rows outof index blocks is different from The cell blocks processed by index layer counts how many index segmentblocks were processed by a Smart Scan.cell blocks processed by txn layerThis statistic shows how many blocks were processed in the cell by the transaction layer. Here is asimplified explanation of the sequence of actions during a consistent read for Smart Scan in a storagecell:1. The cache layer (KCB) opens the data block and checks its header, lastmodification SCN, and cleanout status.2. If the block in the cell has not been modified after the snapshot SCN of thequery running the current Smart Scan, this block can be passed to thetransaction layer for processing. However, if the block image on disk (cell) hasbeen modified after the query’s snapshot SCN, then the cache layer alreadyknows that this block has to be rolled back for consistent read. In this case theblock is not passed into the cell transaction layer at all, but the cell falls back toblock I/O and passes that block to the database layer for normal CRprocessing.3. If the block is passed to the transaction layer (KTR) by the cache layer, then thetransaction layer can use the commit cache and MinActiveSCN optimization360

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

Saved successfully!

Ooh no, something went wrong!