perf stats oracle

Upload: rockerabc123

Post on 30-May-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Perf Stats Oracle

    1/15

    Performance Tuning:

    Statistic Explanations

    byHoward J. Rogers

    HOWARD J. ROGERS 2001

  • 8/14/2019 Perf Stats Oracle

    2/15

    Performance Tuning Statistic Explanations Page 2

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    AVERAGE _ REDO _ ENTRY _ SIZE

    The average amount of redo in bytes placed INTO the log buffer.

    AVERAGE _ WRITE _ QUEUE _ LENGTH

    The average number of blocks still on the dirty list after DBWR has completed awrite request.

    BACKGROUND _ CHECKPOINTS _ COMPLETED

    The number of checkpoints completed by the background CKPT process.Incremented when CKPT successfully advances the thread checkpoint.

    BACKGROUND _ CHECKPOINTS _ STARTED

    The number of checkpoints started by the background CKPT process. This numbermay be larger than background_checkpoints_completed if a new checkpoint

    overrides an incomplete checkpoint. This can happen if, for example, a secondlog switch occurs before the checkpoint initiated at the previous log switchmanages to finish. This only includes checkpoints of the entire database, notindividual file checkpoints for operations such as offline or begin backup. Does notinclude checkpoints performed in the foreground, such as ALTER SYSTEMCHECKPOINT LOCAL.

    BACKGROUND _ TIMEOUTS

    The number of times a background process has set an alarm for itself and thealarm has timed out rather than the background process being posted by anotherprocess to do some work.

    BYTES _ RECEIVED _ VIA _ SQLNET _ FROM _ CLIENT

    The number of bytes received via SQL*Net from client processes.

    BYTES _ RECEIVED _ VIA _ SQLNET _ FROM _ DBLINK

    The number of bytes received over SQL*Net from DB Links

    BYTES _ SENT _ VIA _ SQLNET _ TO _ C1 IENT

    The number of bytes sent via SQL*Net to the client process.

    BYTES _ SENT _ VIA _ SQLNET _ TO _ DB1 INK

    The number of bytes sent via SQL*Net to a DB LINK.

    CALLS _ TO _ KCMGAS

    The number of calls that Get and Advance the SCN. Also used when getting a Batchof SCN numbers.

  • 8/14/2019 Perf Stats Oracle

    3/15

    Performance Tuning Statistic Explanations Page 3

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    CALLS _ TO _ KCMGCS

    The number of calls to simply get the current SCN.

    CALLS _ TO _ KCMGRS

    The number of calls to get a recent SCN.

    CHANGE _ WRITE _ TIME

    The amount of time spent waiting for redo buffer space, inserting redo informationinto a buffer and allocating an SCN if needed.

    CLEANOUTS _ AND _ ROLLBACKS _ CONSISTENT _ READ _ GETS

    The number of Consistent Read gets requiring BOTH block cleanout and subsequentrollback to get to the required snapshot time.

    CLEANOUTS _ ONLY _ CONSISTENT _ READ _ GETS

    The number of times a Consistent Read get required a block cleanout ONLY and noapplication of undo.

    CLUSTER _ KEY _ SCAN _ BLOCK _ GETS

    The number of blocks retrieved in cluster key scan operations.

    CLUSTER _ KEY _ SCANS

    The total number of cluster key scans performed.

    CONSISTENT _ CHANGES

    The number of modifications required to produce Consistent Read blocks. Thisindicates the number of times a database block has had rollback entries applied, inorder to allow a consistent read on the block to take place. If this number is high,it indicates that there are a large number of jobs active on the database producinga large number of consistent changes, and these can be real resource hogs.

    CONSISTENT _ GETS

    The number of logical reads in consistent mode. In other words, how many readshave we performed from Read Consistent buffers, rather than from Currentbuffers.

    CPU _ USED _ BY _ THIS _ SESSION

    The number of centiseconds (that is, 1/100 ths of a second) of CPU time used by allsessions, excluding background processes.

  • 8/14/2019 Perf Stats Oracle

    4/15

    Performance Tuning Statistic Explanations Page 4

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    CPU _ USED _ WHEN _ CALL _ STARTED

    The number of centiseconds of CPU used by all sessions at the time of eachsessions last call. Again, this total doesnt include the background processes.

    CR _ BLOCKS _ CREATED

    The number of Read Consistent blocks created in the Database Buffer Cache tocontain a Read Consistent version of another data block.

    CURRENT _ BLOCKS _ CONVERTED _ FOR _ CR

    The number of blocks in the Database Buffer Cache which have been converted tocontain a Read Consistent version of a block.

    CURSOR _ AUTHENTICATIONS

    The number of cursor authentications. A cursor authentication is where we

    verify cursor privileges, either for a SELECT or because privileges were revokedfrom an object, causing all users of the cursor to be re-authenticated.

    DATA _ BLOCKS _ CONSISTENT _ READS _ UNDO _ RECORDS _ APPLIED

    The number of rollback records weve had to apply to generate Read Consistentversions of Current data blocks. (Oracle often insists on using the term undowhen referring to what everyone else knows as rollback, hence the statisticnames usually refer to undo. Best get used to it.)

    DB _ BLOCK _ CHANGES

    The number of changes made to Current data blocks. In other words, the totalnumber changes made to all blocks in the SGA as a result of a piece of DML.Accordingly, this statistic is a rough and ready indication of the total load on thedatabase, and the amount of work being performed on it. It indicates (possibly ona per transaction level) the rate at which buffers are being dirtied.

    DB _ BLOCK _ GETS

    The number of logical reads of Current data blocks (i.e., blocks which dont needrollback applied to generate a Read Consistent version in short, un-dirtiedblocks). Note that this statistic also counts the blocks associated with performingsorts which have been swapped down to a temporary tablespace.

    DBWR _ BUFFERS _ SCANNED

    The number of buffers inspected when scanning the Least Recently Used list fordirty buffers to make clean. You should divide this number by dbwr_lru_scans" tofind the average number of buffers scanned. This count includes both dirty andclean buffers. The average buffers scanned may be different from the averagescan depth due to write batches filling up before a scan is complete. Note thatthis includes scans for reasons other than make free buffer requests.

  • 8/14/2019 Perf Stats Oracle

    5/15

    Performance Tuning Statistic Explanations Page 5

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    DBWR _ CHECKPOINTS

    The number of times DBWR is asked to scan the Database Buffer Cache for thepurpose of writing all blocks marked for checkpoint or at the end of recovery.Note that this is the number of checkpoint messages that were sent to DBWR, notnecessarily the total number of actual checkpoints that took place. During a

    checkpoint there is a slight decrease in performance since data blocks are beingwritten to disk which causes I/0. If the number of checkpoints is reduced, theperformance of normal database operations improve but recovery after instancefailure is slower. DBWR checkpoints is incremented on each call to DBWR tocheckpoint blocks. This happens not only at log switches but also when droppingobjects from the database. In fact a DBWR checkpoint call is made for eachextent in the object being dropped.

    DBWR _ FLUSH _ BLOCK _ RANGE

    The number of times the DBWR was asked to scan the entire cache to flush ablock-range.

    DBWR _ FREE _ BUFFERS _ FOUND

    The number of buffers that DBWR found already clean when requested to makefree buffers. You should divide this number by whateverdbwr_make_free_request" shows to calculate the average number of reusablebuffers at the end of the LRU list. Note that it is only make free requests thatcause this statistic to increment. If the LRU list is scanned for any other reason,this statistic will remain unchanged.

    DBWR _ LRU _ SCANS

    The number of times that DBWR scans the LRU queue looking for more buffers towrite. This includes times when the scan is to fill out a batch being written foranother purpose such as checkpoint.

    DBWR _ MAKE _ FREE _ REQUEST

    The number of messages received requesting DBWR to free up some space in theDatabase Buffer Cache. This includes times when DBWR messages itself.

    DBWR _ SUMMED _ SCAN _ DEPTH

    The current scan depth is added to this statistic every time DBWR scans the LRUlist for dirty buffers. You should divide by "dbwr_lru_scans" to find the averagescan depth. Note that this is not the number of buffers scanned. The scan isreduced by buffers moved to the dirty queue by foregrounds, and may stop early if a full write batch is accumulated.

  • 8/14/2019 Perf Stats Oracle

    6/15

    Performance Tuning Statistic Explanations Page 6

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    DBWR _ TIMEOUTS

    The number of timeouts when DBWR had been idle since the last timeout. Theseare the times that DBWR looked for buffers to idle write. The statistic is reallymeaningless and of no significance, UNLESS it is very low that would indicatesthat DBWR is being posted very frequently, and therefore not having much idle

    time.

    DEFERRED _ CURRENT _ BLOCK _ CLEANOUT _ APPLICATIONS

    The number of times cleanout records are deferred. Deferred changes arepiggybacked with real changes.

    DIRTY _ BUFFERS _ INSPECTED

    The number of times a foreground encountered a dirty buffer which had aged outthrough the LRU list, when foreground is looking for a buffer to reuse. This shouldbe zero if DBWR is keeping up with the rate at which Users are dirtying buffers.

    ENQUEUE _ CONVERSIONS

    The number of enqueue conversions - e.g., from shared to exclusive mode.

    ENQUEUE _ DEADLOCKS

    The number of enqueue deadlocks detected and signaled.

    ENQUEUE _ RELEASES

    The number of enqueue release operations. This should always be less than orequal to enqueue_requests (and it would be mighty peculiar if it ever wasnt!).

    ENQUEUE _ REQUESTS

    The number of enqueue requests. For example, a request for a transaction (TX)lock would increment this statistic.

    ENQUEUE _ TIMEOUTS

    The number of timeouts occurring when trying to acquire an enqueue (lock).Enqueues are used to control access to a number of resources. The type of enqueue that the timeout occurs for is important. For example, an ORA-2049 errorwaiting for a TX enqueue in a distributed transaction would increment thisstatistic. On the other hand, an ORA-54 (resource busy and acquire with NOWAITspecified) does NOT increment this statistic, as it is not a timeout.

    ENQUEUE _ WAITS

    The number of times that an enqueue request resulted in a wait. This includeswaits on TX enqueues, so if there are high values here, it might suggest that the

  • 8/14/2019 Perf Stats Oracle

    7/15

    Performance Tuning Statistic Explanations Page 7

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    application has particular areas of high concurrent access, and hence lockcontention.EXCHANGE _ DEADLOCKS

    The number of times that a process detected potential deadlock when exchangingtwo buffers and therefore raised an internal, re-startable error. Index scans are

    currently the only operation which perform exchanges.

    EXECUTE _ COUNT

    The total number of execute calls.

    FREE _ BUFFER _ INSPECTED

    The number of buffers skipped over from the end of the LRU list in order to find afree buffer. The difference between this and "dirty_buffers_inspected" is that wemay inspect a buffer but be unable to use it because it was busy, or needed to bewritten after rapid aging out.

    FREE _ BUFFER _ REQUESTED

    The number of times a free buffer was requested in order to create or load ablock.

    GLOBAL _ LOCK _ CONVERT _ TIME

    The time spent waiting for a lock convert to complete.

    GLOBAL _ LOCK _ CONVERTS _ ASYNC

    The number of asynchronous global lock convert requests. An async lockconvert queues a request and the name of the handler functions to use onconversion/release of the lock.

    GLOBAL _ LOCK _ CONVERTS _ NON _ ASYNC

    The number of synchronous global lock conversion requests.

    GLOBAL _ LOCK _ GET _ TIME

    The time spent waiting for a lock get to complete.

    GLOBAL _ LOCK _ GETS _ ASYNC

    The number of asynchronous global lock gets. An async lock get queues a lockrequest and the name of the handler functions to use on get/release of the lock.

    GLOBAL _ LOCK-GETS-NON-ASYNC

    The number of synchronous global lock gets.

  • 8/14/2019 Perf Stats Oracle

    8/15

    Performance Tuning Statistic Explanations Page 8

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    GLOBAL _ LOCK _ RELEASE _ TIME

    Total time spent waiting for a lock release to complete.

    GLOBAL _ LOCK _ RELEASES _ ASYNC

    The number of asynchronous global lock releases.

    GLOBAL _ LOCK _ RELEASES _ NON _ ASYNC

    Number of synchronous global lock releases.

    HASH _ LATCH _ WAIT _ GETS

    The number of times latches had to be obtained using waits rather than no-waitgets.

    IMMEDIATE _ CR _ BLOCK _ CLEANOUT _ APPLICATIONS

    The number of block cleanout applications applied immediately during a ReadConsistent get of a block.

    IMMEDIATE _ CURRENT _ BLOCK _ CLEANOUT _ APPLICATIONS

    The number of block cleanout applications applied immediately to a Current get of a data block.

    LOGONS _ CUMULATIVE

    The number of logons since the Instance was started. In a Bstat/Estat report, thisis actually the number of logons during the monitoring period. This is a good oneto check to see if the Instance was bounced during the Bstat/Estat monitoringperiod, because if it was bounced, youll get a negative number here and quiteclearly, you cant possibly get a negative number of logons by Users!

    LOGONS _ CURRENT

    The current number of logons. Pretty meaningless in a Bstat/Estat report, sincethats produced over a given period of time so what does current mean then??

    MESSAGES _ RECEIVED

    The number of messages received. A message is sent when one Oracle processwants to prod another into performing some action.

    MESSAGES _ SENT

    The number of messages sent between Oracle processes.

  • 8/14/2019 Perf Stats Oracle

    9/15

    Performance Tuning Statistic Explanations Page 9

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    NO _ WORK _ CONSISTENT _ READ _ GETS

    The number of Read Consistent gets satisfied without having to apply undo to rolla block back to the snapshot time. If a User rolls back his own transaction, forexample, then the data block will have a new timestamp, and will accordinglyprovoke the creation of a Read Consistent version of the block but since the data

    itself is already consistent, the readers Server process will not need to applyrollback in order to generate the read consistent image of the data.

    OPENED _ CURSORS _ CUMULATIVE

    The total number of cursors opened. This includes cursors which are opened andthen parse an invalid SQL statement. A cursor is opened for each SQL statementwhich is parsed into a context area. Performance is improved if cursors are reused,because the SQL statements will be not need to be re-parsed. If a cursor will notbe reused, it is best to close the cursor when the SQL statement completes. Try toreduce the number of cursors opened per transaction as opposed to the totalnumber opened on the system.

    OPENED _ CURSORS _ CURRENT

    The number of currently open cursors.

    PARSE _ COUNT

    The number of distinct parse calls to Oracle.

    PARSE _ TIME _ CPU

    The total CPU time spent in parse operations.

    PARSE _ TIME _ ELAPSED

    The elapsed time for parse calls.

    PHYSICAL _ READS

    The number of data blocks read from disk. Each block read from disk is a buffercache miss in other words, the data wasnt already in memory, so we had to fetchit off disk for ourselves.

    PHYSICAL _ WRITES

    The number of data blocks written to the disk by DBWR. Note that if sorts need tobe swapped to disk, because youve run out space in the PGA, then this statisticwill NOT count such writes if direct writes are enabled. Direct writes are enabledautomatically in 8i. In earlier versions, it depended on the SORT_DIRECT_WRITESparameter. In either case, such writes are NOT included in the physical_writescount.

  • 8/14/2019 Perf Stats Oracle

    10/15

    Performance Tuning Statistic Explanations Page 10

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    PROCESS _ LAST _ NON _ IDLE _ TIME

    The last time this process was not idle. This is the time from a platform-dependent epoch.

    RECURSIVE _ CALLS

    The number of 'recursive' calls occurring.

    RECURSIVE _ CPU _ USAGE

    The amount of CPU used in recursive calls. A recursive call is basically a piece of SQL that has to be issued internally in order to satisfy a Users SQL statement (forexample, an Insert request by a User may trigger the acquisition of a new extentfor the relevant table, and that new extent is recorded (in dictionary managedtablespace at least) by a number of inserts and deletes on various data dictionarytables. Those secondary inserts and deletes are recursive SQL calls).

    REDO _ BLOCKS _ WRITTEN

    The total number of redo blocks written. A redo block is the size of a single OSblock, which is obviously platform-dependent.

    REDO _ BUFFER _ ALLOCATION _ RETRIES

    The total number of retries necessary to allocate space in the redo buffer. Retrieswill be needed if LGWR wants to reuse a part of the Log Buffer which has notsuccessfully been flushed yet (i.e., its caught up on itself), or because the onlineRedo Logs are too busy (perhaps because, for example, a log switch is takingplace). A high number here might indicate that your Log Buffer is too small, orthat your redo logs are housed on suspiciously slow (or busy) hardware.

    REDO _ ENTRIES

    The total number of redo entries generated.

    REDO _ LOG _ SPACE _ REQUESTS

    Number of times that LGWR was requested to allocate space in the redo file. Thisgives an indication of how many times a user process waited for space in the redologs.

    REDO _ LOG _ SPACE _ WAIT _ TIME

    The amount of time spent waiting for space in the redo log to become available(measured, as ever, in centiseconds).

  • 8/14/2019 Perf Stats Oracle

    11/15

    Performance Tuning Statistic Explanations Page 11

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    REDO _ LOG _ SWITCH _ INTERRUPTS

    The number of times that other Instances asked us to advance to the next log. In aparallel server environment, idle Instances will ask to switch logs to prevent longrecovery periods in the event of a crash.

    REDO _ SIZE

    The total amount of redo generated, in bytes, and written into the Log Buffer.This does not reflect directly the number of redo records written, because itexcludes wastage (see below)

    REDO _ SMALL _ COPIES

    In the init.ora, there is a parameter LOG_SMALL_ENTRY_MAX_SIZE, measured inbytes. That determines the maximum size below which a redo entry will beconsidered small. Small entries are copied using the redo allocation latch,rather than the redo copy latch (which is inherently faster, because there is less

    house-keeping overhead). This statistic counts the total number of such smallwrites. Incidentally, this is only of relevance on multi-processor systems.

    REDO _ SYNCH _ TIME

    The time taken to do redo synch calls, measured in the usual centiseconds.

    REDO _ SYNCH _ WRITES

    The number of times that the contents of the Log Buffer are flushed to disk. Thiswill happen for a variety of reasons (such as a commit being issued, the Log Bufferbecoming one third full, more than 1Mb of unflushed redo being detected, orbecause DBWR decides for its own reasons to flush to datafiles).

    REDO _ WASTAGE

    The number of bytes "wasted" because redo blocks need to be written before theyare completely full. In other words, User B may be writing redo into the LogBuffer when User A issues a commit. That will immediately cause a LGWR flush tothe Redo Logs, and the redo buffer that User B was using will be flushed as -is even if its only partially full. The remainder of User Bs redo will be placedwithin a completely fresh redo buffer.

    REDO _ WRITE _ TIME

    The total amount of time taken to write the amount of Redo indicated by theredo_blocks_written statistic.

    REDO _ WRITER _ LATCHING _ TIME

    The time needed to obtain and release each copy latch. This is only used if LOG_SIMULTANEOUS_COPIES in the init.ora is greater than zero.

  • 8/14/2019 Perf Stats Oracle

    12/15

    Performance Tuning Statistic Explanations Page 12

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    REDO _ WRITES

    The total number of times that LGWR is forced to flush the Log Buffer.

    REMOTE _ INSTANCE _ UNDO _ REQUESTS

    In a parallel server environment, this is the number of times the current Instancehad to retrieve rollback from a different Instance in order to generate ReadConsistent versions of a local data block.

    REMOTE _ INSTANCE _ UNDO _ WRITES

    Again only of a relevance in a parallel server environment, this is the number of times the current Instance has been required to write a dirty rollback block to diskso that a different Instance could read it (presumably so it can generate ReadConsistent images of data of its own).

    ROLLBACK _ CHANGES _ UNDO _ RECORDS _ APPLIED

    The number of rollback records applied to blocks as a result of Users issuing agenuine rollback command. In other words, this statistic does not record thetechnical sort of rollback that occurs when generating read consistent images of data. However, PMON rolling a transaction back because a User has suffered anabnormal disconnection does increment this statistic. A high number here wouldindicate that either your Users cant make up their minds, are unusuallyexperimental, or are running Windows 95 clients (i.e., are prone to crashing!).

    ROLLBACKS _ ONLY _ CONSISTENT _ READ _ GETS

    The number of Read Consistent operations requiring rollback to be applied, but noblock cleanout.

    SESSION _ CURSOR _ CACHE _ COUNT

    The number of cached cursors.

    SESSION _ CURSOR _ CACHE _ HITS

    The number of hits in the session cursor cache

    SESSION _ CONNECT _ TIME

    A number representing the time when the session connected to the server. Theunit of measure is now seconds.

    SESSION _ LOGICAL _ READS

    The number of logical reads for the current session (i.e., reads of data from blocksin the Database Buffer Cache).

  • 8/14/2019 Perf Stats Oracle

    13/15

    Performance Tuning Statistic Explanations Page 13

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    SESSION _ PGA _ MEMORY

    Current PGA memory size for a session (in bytes).

    SESSION _ PGA _ MEMORY _ MAX

    The peak PGA size (in bytes). Remember that if you set SORT_AREA_SIZE for asession to, say, 1Mb, the PGA will not start off at 1Mb. It will grow to become 1Mbmaximum as sorts take place, and shrink again (to SORT_AREA_RETAINED_SIZE)when the sort has finished. If no sort requires the full 1Mb, then the PGA couldconceivably never actually reach SORT_AREA_SIZE. This statistic shows how big ithas actually ever got (remember, its session-specific).

    SESSION _ STORED _ PROCEDURE-SPACE

    The number of bytes allocated to store procedures used in the session.

    SESSION _ UGA _ MEMORY

    The size of the UGA for this session (in bytes).

    SESSION _ UGA _ MEMORY _ MAX

    The maximum size to which this sessions UGA has e ver reached (in bytes).

    SORTS _ DISK

    The number of sort operations that had to be swapped out to disk because the PGAran out of space. A high number might indicate increasing SORT_AREA_SIZE, orperhaps moving to multi-threaded server configuration if that would be tooexpensive on available memory.

    SORTS _ MEMORY

    The number of sorts performed entirely in memory (which is faster than swappingthem down to disk). A high number here is an unequivocally good thing!

    SORTS _ ROWS

    The total number of rows sorted. (I suppose the idea is that you take sorts_disk +sorts_memory and divide by this statistic to find out the average size of your sorts.A large number of large sorts might indicate application tuning opportunities, orDBA opportunities for, for example, implementing IOTs or clusters).

    SQLNET _ ROUNDTRIPS _ TO _ FROM _ CLIENT

    SQL*Net is a half duplex protocol (except for break conditions) where only one sideof the connection is expected to be reading from the other at any one time. Or,to put it another way, it is synchronous. This is the number of round-trips.

  • 8/14/2019 Perf Stats Oracle

    14/15

    Performance Tuning Statistic Explanations Page 14

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    SQLNET _ ROUNDTRIPS _ TO _ FROM _ DBLINK

    The number of complete round-trips to and from DB links.

    SUMMED _ DIRTY _ QUEUE _ LENGTH

    The sum of the LRU queue length after every write request completes. You shoulddivide by the number of write requests to get average queue length after writecompletion.

    TABLE _ FETCH _ BY _ ROWID

    The number of rows retrieved using a fetch by rowid. This would include rowsthat were accessed via an index, as well as rows that were accessed using aspecific Select * where rowid = X.X.X.X Fetches by rowid are the fastest way toretrieve data, so a high number here is a good thing.

    TABLE _ FETCH _ CONTINUED _ ROW

    Indicates the sum of the migrated *and* chained rows. A full table scan onlyincrements this value when it encounters chained rows. Migration is caused byupdates (and hence updates can increment this value if they provoke a migration).

    TABLE _ SCAN _ BLOCKS _ RETRIEVED

    The number of data blocks retrieved as a result of performing a table scan, notincluding those for chained rows. A high number might indicate a lack of indexes,or a badly-written application.

    TABLE _ SCAN _ ROWS _ RETRIEVED

    The total number of rows retrieved during table scans of any kind.

    TABLE _ SCANS _ DIRECT _ READ

    The number of direct read table scans. Direct reads do *NOT* get put into thebuffer cache.

    TABLE _ SCANS _ LONG _ TABLES

    This is the number of full table scans performed on tables that are not "short" andare not cached. A short table is one with a High Water Mark equal to or smallerthan the SMALL_TABLE_THRESHOLD init.ora parameter. A non-cached table is onewhere the CACHE clause has not been used.

    TABLE _ SCANS _ ROWID _ RANGES

    The number of table scans performed that used a ROWID range scan. Such scansare used by Parallel Query operations.

  • 8/14/2019 Perf Stats Oracle

    15/15

    Performance Tuning Statistic Explanations Page 15

    Copyright Howard J. Rogers 2001 Revision 1.0.1 18/02/01

    TABLE _ SCANS _ SHORT _ TABLES

    This is the number of full table scans performed on "short" (or "cached") tables.(see table_scans_long_tables for definitions of short and cached tables).

    TRANSACTION _ LOCK _ BACKGROUND _ GET _ TIME

    The time a background process spends waiting to acquire a transaction instancelock (measured in centiseconds).

    TRANSACTION _ LOCK _ FOREGROUND _ WAIT _ TIME

    The time a foreground (i.e., Client) process spends waiting to acquire atransaction instance lock.

    TRANSACTION _ ROLLBACKS

    The number of genuine rollbacks issued that involved undoing real changes. This

    might not be the same number as user_rollbacks (see below), because it ispossible to issue a rollback command and have nothing happen (after a commit,for example). Such a rollback command would increment user_rollbacks, andnot increment transaction_rollbacks. A big difference between the two suggestsUsers making large numbers of mistakes, and thus requiring further applicationtraining!!

    USER _ COMMITS

    The number of times Users issue commit statements, provided such statementsare meaningful. In other words, this statistic is incremented each time a real,active transaction is committed; but if a User just sits there typing the wordcommit repeatedly, the statistic is not incremented.

    USER _ ROLLBACKS

    The number of times Users issue rollback statements. This is incremented foreach rollback command, even if there is nothing to roll back. (And you may wellask why user_commits ignores spurious commit requests, but user_rollbacksdoes not ignore spurious rollback requests Who can say? Thats Oracle for you).

    WRITE _ REQUESTS

    The number of multi-block writes. A multi-block write occurs when DBWR collectsan entire batch of dirty buffers off the dirty list, and flushes them all down to diskin one almighty write.