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 METRICS<strong>Oracle</strong> database is able to send this MinSCN info to the cell when starting a Smart Scan session, the cellscan avoid having to talk to the database layer whenever the known minimum active SCN passed to thecell is higher than the SCN in the transaction’s ITL entry in the block. Whenever the Smart Scanprocesses a block and finds a locked row with active transaction in the ITL slot in it but realizes that thetransaction must be committed, thanks to the MinSCN passed in by the database session, the cell blockshelped by minscn optimization statistic is incremented (once for each block).Without this optimization, <strong>Oracle</strong> would have to check the commit cache (described in the cellblocks helped by commit cache statistic section) and, if it finds no info about this transaction in thecommit cache, then interact with the database layer to find out whether the locking transaction hasalready committed or not. This optimization is RAC-aware; in fact the Minimum SCN is called GlobalMinimum SCN, and the MMON processes in each instance will keep track of the MinSCN and keep itsynced in an in-memory structure in each node’s SGA. You can query the current known globalMinimum Active SCN from the x$ktumascn fixed table as shown here (as SYS):SQL> COL min_act_scn FOR 99999999999999999SQL>SQL> SELECT min_act_scn FROM x$ktumascn;MIN_ACT_SCN------------------9920890881859This cell blocks helped by minscn optimization statistic is also something you shouldn’t be worriedabout, but it can come in handy when troubleshooting advanced Smart Scan issues, or even bugs, whereSmart Scans seem to get interrupted because they have to fall back to block I/O and talk to the databasetoo much.cell blocks processed by cache layerThe cell blocks processed by … layer statistics are good indicators of the depth of offload process in thecells. The main point and advantage of the <strong>Exadata</strong> storage servers is that part of the <strong>Oracle</strong> kernel codehas been ported into the cellsrv executable running in the storage cells. This is what allows the <strong>Oracle</strong>database layer to offload the data scanning, filtering, and projection work into the cells. In order to dothat, the cells must be able to read and understand <strong>Oracle</strong> data block and row contents, just as thedatabase does. The cell blocks processed by cache layer statistic indicates how many data blocks the cellshave processed (opened, read and used for Smart Scan) as opposed to just passing the blocks read upthe database layer.When a cell just passes the blocks back to the database in block I/O mode, this statistic is notupdated. But when the cell itself uses these blocks for Smart Scan, then one of the first things that isdone when opening a block (consistent or current read) is to check the block cache layer header. This isto make sure it is the correct block, is not corrupt, and is valid and coherent. These tests are done bycache layer functions (KCB for Kernel Cache Buffer management) and reported back to the database ascell blocks processed by cache layer.In the database layer, with regular block I/O, the corresponding statistics are consistent gets fromcache and consistent gets from cache (fastpath) depending on which buffer pinning code path is used forthe consistent buffer get. Note that cellsrv does only consistent mode buffer gets (CR reads) and nocurrent mode block gets. So all the current mode gets you see in stats are done in the database layer andare reported as db block gets from cache or db block gets from cache (fastpath). This statistic is a usefuland simple measure of how many logical reads the cellsrv does for your sessions.359

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

Saved successfully!

Ooh no, something went wrong!