2012年9月18日星期二

Oracle 11g Release 1 (11.1)数据库统计信息描述

Oracle 11g Release 1 (11.1)数据库统计信息描述

http://docs.oracle.com/cd/B28359_01/server.111/b28320/stats002.htm#i375475

本文描述存储在 V$SESSTATV$SYSSTAT 视图的统计信息。下面是按字母顺序列出的统计信息。

下表的类别列表示一个或多个统计信息类别的数字。基本类别如下所示:

  • 1, User
  • 2, Redo
  • 4, Enqueue
  • 8, Cache
  • 16, OS
  • 32, Real Application Clusters
  • 64, SQL
  • 128, Debug

之所以说,数字可以代表一个或多个类别,是因为数字可以组合。如类别 72 代表 SQL 语句和缓存。上面没有类别 72,但类别 8 和类别 64 相加就为 72,用 72 同时表示这两个类别。

一些统计数据只有当初始化参数 TIMED_STATISTICS  设置为 true 时,才能填写到数据库中。这些统计数据在右边列标记。

如下所示:

SQL> set autot traceonly
SQL> select e.*,d.* from emp e
  2  left join dept d on(e.deptno=d.deptno)
  3  where rownum <=1
  4  / 
 
 
执行计划
----------------------------------------------------------
Plan hash value: 3474913148
 
-----------------------------------------------------------------------------------------
| Id  | Operation                     | Name    | Rows  | Bytes | Cost (%CPU)| Time     | 
-----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |         |     1 |    58 |     3   (0)| 00:00:01 | 
|*  1 |  COUNT STOPKEY                |         |       |       |            |          | 
|   2 |   NESTED LOOPS OUTER          |         |     1 |    58 |     3   (0)| 00:00:01 | 
|   3 |    TABLE ACCESS FULL          | EMP     |     1 |    38 |     2   (0)| 00:00:01 | 
|   4 |    TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    20 |     1   (0)| 00:00:01 |
|*  5 |     INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------
 
 
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter(ROWNUM<=1)
   5 - access("E"."DEPTNO"="D"."DEPTNO"(+))
 
 
统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          9  consistent gets
          0  physical reads
          0  redo size
       1241  bytes sent via SQL*Net to client
        519  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
 
SQL>

下表是统计信息列表及其含义。有些看名字就能大概了解它意思,实在不确定,看看英文描述,不是很多。这里就不多说了。

表 1 数据库统计信息描述

名称 类别 描述 TIMED_STATISTICS
background checkpoints completed 8 Number of checkpoints completed by the background process. This statistic is incremented when the background process successfully advances the thread checkpoint.  
background checkpoints started 8

Number of checkpoints started by the background process. This statistic can be larger than "background checkpoints completed" if a new checkpoint overrides an incomplete checkpoint or if a checkpoint is currently under way. This statistic includes only checkpoints of the redo thread. It does not include:

  • Individual file checkpoints for operations such as offline or begin backup
  • Foreground (user-requested) checkpoints (for example, performed by ALTER SYSTEM CHECKPOINT LOCAL statements)
 
background timeouts 128 This is a count of the times where a background process has set an alarm for itself and the alarm has timed out rather than the background process being posted by another process to do some work.  
branch node splits 128 Number of times an index branch block was split because of the insertion of an additional value.  
buffer is not pinned count 72 Number of times a buffer was free when visited. Useful only for internal debugging purposes.  
buffer is pinned count 72 Number of times a buffer was pinned when visited. Useful only for internal debugging purposes.  
bytes received via SQL*Net from client 1 通过 Oracle Net Services 从客户端接收的字节总数  
bytes received via SQL*Net from dblink 1 通过 Oracle Net Services 从数据库链路接收的字节总数  
bytes sent via SQL*Net to client 1 通过 SQL*Net 后台进程发送给客户端的字节总数  
bytes sent via SQL*Net to dblink 1 通过 SQL*Net 发送数据库链路的字节总数  
Cached Commit SCN referenced 128 只对内部调试有用  
calls to get snapshot scn: kcmgss 32 Number of times a snapshot system change number (SCN) was allocated. The SCN is allocated at the start of a transaction.  
calls to kcmgas 128 Number of calls to routine kcmgas to get a new SCN  
calls to kcmgcs 128 Number of calls to routine kcmgcs to get a current SCN  
calls to kcmgrs 128 Number of calls to routine kcsgrs to get a recent SCN  
change write time 8 Elapsed redo write time for changes made to CURRENT blocks in 10s of milliseconds. 3
cleanouts and rollbacks - consistent read gets 128

Number of consistent gets that require both block rollbacks and block cleanouts.

参看:consistent gets

 
cleanouts only - consistent read gets 128

Number of consistent gets that require only block cleanouts, no rollbacks.

参看:consistent gets

 
cluster key scan block gets 64 Number of blocks obtained in a cluster scan  
cluster key scans 64 Number of cluster scans that were started  
cold recycle reads 8 Number of buffers that were read through the least recently used end of the recycle cache with fast aging strategy  
commit cleanout failures: block lost 8 Number of times Oracle attempted a cleanout at commit but could not find the correct block due to forced write, replacement, or switch CURRENT  
commit cleanout failures: buffer being written 8 Number of times Oracle attempted a cleanout at commit, but the buffer was currently being written  
commit cleanout failures: callback failure 8 Number of times the cleanout callback function returns FALSE  
commit cleanout failures: cannot pin 8 Total number of times a commit cleanout was performed but failed because the block could not be pinned  
commit cleanout failures: hot backup in progress 8 Number of times Oracle attempted block cleanout at commit during hot backup. The image of the block needs to be logged before the buffer can be made dirty.  
commit cleanout failures: write disabled 8 Number of times a cleanout block at commit was performed but the writes to the database had been temporarily disabled  
commit cleanouts 8 Total number of times the cleanout block at commit function was performed  
commit cleanouts successfully completed 8 Number of times the cleanout block at commit function completed successfully  
Commit SCN cached 128 Number of times the system change number of a commit operation was cached  
consistent changes 8

Number of times a user process has applied rollback entries to perform a consistent read on the block

Work loads that produce a great deal of consistent changes can consume a great deal of resources. The value of this statistic should be small in relation to the "consistent gets" statistic.

 
consistent gets 8

Number of times a consistent read was requested for a block.

See Also: "consistent changes" and "session logical reads" statistics

 
consistent gets direct 8 Number of times a consistent read was requested for a block bypassing the buffer cache (for example, direct load operation). This is a subset of "consistent gets" statistics value.  
consistent gets from cache 8

Number of times a consistent read was requested for a block from buffer cache. This is a subset of "consistent gets" statistics value.

 
CPU used by this session 1

Amount of CPU time (in 10s of milliseconds) used by a session from the time a user call starts until it ends. If a user call completes within 10 milliseconds, the start and end user-call time are the same for purposes of this statistics, and 0 milliseconds are added.

A similar problem can exist in the reporting by the operating system, especially on systems that suffer from many context switches.

3
CPU used when call started 128

The CPU time used when the call is started

See Also: "CPU used by this session"

3
CR blocks created 8 Number of CURRENT blocks cloned to create CR (consistent read) blocks. The most common reason for cloning is that the buffer is held in a incompatible mode.  
current blocks converted for CR 8 Number CURRENT blocks converted to CR state  
cursor authentications 128 Number of privilege checks conducted during execution of an operation  
data blocks consistent reads - undo records applied 128 Number of undo records applied to data blocks that have been rolled back for consistent read purposes  
db block changes 8

Closely related to "consistent changes", this statistic counts the total number of changes that were part of an update or delete operation that were made to all blocks in the SGA. Such changes generate redo log entries and hence become permanent changes to the database if the transaction is committed.

This approximates total database work. It statistic indicates the rate at which buffers are being dirtied (on a per-transaction or per-second basis, for example).

 
db block gets 8

Number of times a CURRENT block was requested

See Also: "consistent gets"

 
db block gets direct 8 Number of times a CURRENT block was requested bypassing the buffer cache (for example, a direct load operation). This is a subset of "db block gets" statistics value.  
db block gets from cache 8 Number of times a CURRENT block was requested from the buffer cache. This is a subset of "db block gets" statistics value.  
DBWR buffers scanned 8 Total number of dirty and clean buffers Oracle looks at when scanning LRU sets for dirty buffers to clean. Divide by "DBWR lru scans" to find the average number of buffers scanned.  
DBWR checkpoint buffers written 8 Number of buffers that were written for checkpoints  
DBWR checkpoints 8 Number of times the DBWR was asked to scan the cache and write all blocks marked for a checkpoint or the end of recovery. This statistic is always larger than "background checkpoints completed".  
DBWR cross instance writes 40 Real Application Clusters only: Number of blocks written to satisfy a lock request from another instance  
DBWR free buffers found 8 Number of clean buffers that DBWR found when it was requested to make free buffers. Divide by "DBWR make free requests" to find the average number of reusable buffers at the end of each LRU.  
DBWR lru scans 8 Number of times that DBWR scans the LRU queue looking for buffers to write. This count includes scans to fill a batch being written for another purpose (such as a checkpoint). This statistic is always greater than or equal to "DBWR make free requests".  
DBWR make free requests 8 Number of requests to DBWR to make some free buffers for the LRU  
DBWR revisited being-written buffer 8

Number of times that DBWR tried to save a buffer for writing and found that it was already in the write batch. This statistic measures the amount of "useless" work that DBWR had to do in trying to fill the batch.

Many sources contribute to a write batch. If the same buffer from different sources is considered for adding to the write batch, then all but the first attempt will be "useless" because the buffer is already marked as being written.

 
DBWR summed scan depth 8 The current scan depth (number of buffers examined by DBWR) is added to this statistic every time DBWR scans the LRU for dirty buffers. Divide by "DBWR lru scans" to find the average scan depth.  
DBWR transaction table writes 8 Number of rollback segment headers written by DBWR. This statistic indicates how many "hot" buffers were written, causing a user process to wait while the write completed.  
DBWR undo block writes 8 Number of rollback segment blocks written by DBWR  
DDL statements parallelized 32 Number of DDL statements that were executed in parallel  
deferred (CURRENT) block cleanout applications 128 Number of times cleanout records are deferred, piggyback with changes, always current get  
DFO trees parallelized 32 Number of times a serial execution plan was converted to a parallel plan  
dirty buffers inspected 8 Number of dirty buffers found by the user process while the it is looking for a buffer to reuse  
DML statements parallelized 32 Number of DML statements that were executed in parallel  
enqueue conversions 4 Total number of conversions of the state of table or row lock  
enqueue deadlocks 4 Total number of deadlocks between table or row locks in different sessions  
enqueue releases 4 Total number of table or row locks released  
enqueue requests 4 Total number of table or row locks acquired  
enqueue timeouts 4

Total number of table and row locks (acquired and converted) that timed out before they could complete

 
enqueue waits 4 Total number of waits that occurred during an enqueue convert or get because the enqueue get was deferred  
exchange deadlocks 8 Number of times that a process detected a potential deadlock when exchanging two buffers and raised an internal, restartable error. Index scans are the only operations that perform exchanges.  
execute count 64 Total number of calls (user and recursive) that executed SQL statements  
free buffer inspected 8 Number of buffers skipped over from the end of an LRU queue in order to find a reusable buffer. The difference between this statistic and "dirty buffers inspected" is the number of buffers that could not be used because they had a user, a waiter, or were being read or written, or because they were busy or needed to be written after rapid aging out.  
free buffer requested 8 Number of times a reusable buffer or a free buffer was requested to create or load a block  
global cache blocks corrupt 40

Real Application Clusters only: Number of blocks that encountered a corruption or checksum failure during interconnect

 
global cache convert time 40 Real Application Clusters only: Total time elapsed during lock converts  
global cache convert timeouts 40 Number of times lock converts in the global cache timed out  
global cache converts 40 Number of lock converts in the global cache  
global cache cr block log flushes 40 Number of log flushes of the consistent-read block  
global cache cr block log flush time 40 Total time spent by the BSP process in log flushes after sending a constructed consistent-read (CR) block. This statistic divided by "global cache cr blocks served" = log flush time per CR block.  
global cache cr block receive time 40 Total amount of time foreground processes waited for a CR block to be sent through the interconnect. This statistic divided by "global cache cr blocks received" = time waited per block.  
global cache cr block send time 40 Total time spent by the BSP process in sending constructed consistent-read (CR) blocks. This statistic divided by "global cache cr blocks served" = send time per CR block.  
global cache cr block serve time 40 Total amount of time the BSP process took to construct consistent-read (CR) blocks. This statistic divided by "global cache cr blocks served" = construction time per CR block.  
global cache cr blocks received 40 Total number of blocks received  
global cache cr blocks served 40 Total number of blocks constructed by the BSP process  
global cache cr requests blocked 40 Number of times foreground attempt to request a cr block and failed  
global cache cr timeouts 40 Number of times a foreground process requested a consistent-read (CR) block when the request timed out  
global cache defers 40 Number of times a lock was requested and the holder of the lock deferred the release  
global cache freelist waits 40 System configured with fewer lock elements than buffers. Number of times foreground has to wait for a lock element.  
global cache get time 40 Total time spent waiting. This divided by global cache gets = time waited per request.  
global cache gets 40 Number of locks acquired  
global cache prepare failures 40 Number of times a failure occurred during preparation for interconnect transfer  
global lock async converts 32 Total number of asynchronous global lock converts  
global lock async gets 32

Total number of asynchronous global lock gets

 
global lock convert time 32 Total elapsed time in 10s of milliseconds of all synchronous and asynchronous global lock converts  
global lock get time 32 Total elapsed time in 10s of milliseconds of all synchronous and asynchronous global lock gets  
global lock releases 32 Total number of synchronous global lock releases  
global lock sync converts 32 Total number of synchronous global lock converts  
global lock sync gets 32 Total number of synchronous global lock gets  
hot buffers moved to head of LRU 8 When a hot buffer reaches the tail of its replacement list, Oracle moves it back to the head of the list to keep it from being reused. This statistic counts such moves.  
immediate (CR) block cleanout applications 128 Number of times cleanout records are applied immediately during consistent-read requests  
immediate (CURRENT) block cleanout applications 128 Number of times cleanout records are applied immediately during current gets. Compare this statistic with "deferred (CURRENT) block cleanout applications"  
index fast full scans (direct read) 64 Number of fast full scans initiated using direct read  
index fast full scans (full) 64

Number of fast full scans initiated for full segments

 
index fast full scans (rowid ranges) 64 Number of fast full scans initiated with rowid endpoints specified  
instance recovery database freeze count 32 Number of times the database is frozen during instance recovery  
kcmccs called get current scn 32 Number of times the kernel got the CURRENT SCN when there was a need to casually confirm the SCN  
kcmgss read scn without going to DLM 32 Number of times the kernel got a snapshot SCN without going to the distributed lock manager (DLM)  
kcmgss waited for batching 32 Number of times a database process is blocked waiting for a snapshot SCN  
leaf node splits 128 Number of times an index leaf node was split because of the insertion of an additional value  
lob reads 8 Number of LOB API read operations performed in the session/system. A single LOB API read may correspond to multiple physical/logical disk block reads.  
lob writes 8 Number of LOB API write operations performed in the session/system. A single LOB API write may correspond to multiple physical/logical disk block writes.  
lob writes unaligned 8 Number of LOB API write operations whose start offset or buffer size is not aligned to the internal chunk size of the LOB. Writes aligned to chunk boundaries are the most efficient write operations. The internal chunk size of a LOB is available through the LOB API (for example, DBMS_LOB.GETCHUNKSIZE()).  
logons cumulative 1 Total number of logons since the instance started. Useful only in V$SYSSTAT. It gives an instance overview of all processes that logged on.  
logons current 1 Total number of current logons. Useful only in V$SYSSTAT.  
messages received 128 Number of messages sent and received between background processes  
messages sent 128 Number of messages sent and received between background processes  
native hash arithmetic execute 64 Number of hash operations performed using native arithmetic rather than Oracle NUMBERs  
native hash arithmetic fail 64 Number of has operations performed using native arithmetic that failed, requiring the hash operation to be performed with Oracle NUMBERs  
next scns gotten without going to DLM 32 Number of system change numbers obtained without going to the distributed lock manager or server  
no buffer to keep pinned count 72 Number of times a visit to a buffer attempted, but the buffer was not found where expected. Like "buffer is not pinned count" and "buffer is pinned count", this statistic is useful only for internal debugging purposes.  
no work - consistent read gets 128

Number consistent gets that require neither block cleanouts nor rollbacks.

See Also: "consistent gets"

 
opened cursors cumulative 1

In V$SYSSTAT: Total number of cursors opened since the instance started.

In V$SESSTAT: Total number of cursors opened since the start of the session.

 
opened cursors current 1 Total number of current open cursors  
opens of replaced files 8 Total number of files that had to be reopened because they were no longer in the process file cache  
opens requiring cache replacement 8 Total number of file opens that caused a current file in the process file cache to be closed  
OS All other sleep time 16 Time spent sleeping for reasons other than misses in the data segment (see "OS Data page fault sleep time"), kernel page faults (see "OS Kernel page fault sleep time"), misses in the text segment (see "OS Text page fault sleep time"), or waiting for an OS locking object (see "OS User lock wait sleep time"). An example of such a reason is expiration of quanta.  
OS Chars read and written 16 Number of bytes read and written  
OS Data page fault sleep time 16 Time spent sleeping due to misses in the data segment  
OS Input blocks 16 Number of read I/Os  
OS Involuntary context switches 16 Number of context switches that were enforced by the operating system  
OS Kernel page fault sleep time 16 Time spent sleeping due to OS kernel page faults  
OS Major page faults 16 Number of page faults that resulted in I/O  
OS Messages received 16 Number of messages received  
OS Messages sent 16 Number of messages sent  
OS Minor page faults 16 Number of page faults that did not result in an actual I/O  
OS Other system trap CPU time 16 Total amount of time to process system traps (as distinct from system calls)  
OS Output blocks 16 Number of write I/Os  
OS Process heap size 16 Size of area in memory allocated by the process. Typically this represents memory obtained by way of malloc().  
OS Process stack size 16 Size of the process stack segment  
OS Signals received 16 Number of signals received  
OS Swaps 16 Number of swap pages  
OS System call CPU time 16 Total amount of time spent executing in system mode  
OS System calls 16 Number of system calls  
OS Text page fault sleep time 16 Time spent sleeping due to misses in the text segment  
OS User level CPU time 16 Total amount of time spent executing in user mode  
OS User lock wait sleep time 16 Total amount of time sleeping while waiting for an OS locking object  
OS Voluntary context switches 16 Number of voluntary context switches (for example, when a process gives up the CPU by a SLEEP() system call)  
OS Wait-cpu (latency) time 16 Time spent sleeping while waiting for a CPU to become available  
Parallel operations downgraded 1 to 25 pct 32 Number of times parallel execution was requested and the degree of parallelism was reduced because of insufficient parallel execution servers  
Parallel operations downgraded 25 to 50 pct 32 Number of times parallel execution was requested and the degree of parallelism was reduced because of insufficient parallel execution servers  
Parallel operations downgraded 50 to 75 pct 32 Number of times parallel execution was requested and the degree of parallelism was reduced because of insufficient parallel execution servers  
Parallel operations downgraded 75 to 99 pct 32 Number of times parallel execution was requested and the degree of parallelism was reduced because of insufficient parallel execution servers  
Parallel operations downgraded to serial 32 Number of times parallel execution was requested but execution was serial because of insufficient parallel execution servers  
Parallel operations not downgraded 32 Number of times parallel execution was executed at the requested degree of parallelism  
parse count (hard) 64 Total number of parse calls (real parses). A hard parse is a very expensive operation in terms of memory use, because it requires Oracle to allocate a workheap and other memory structures and then build a parse tree.  
parse count (total) 64 Total number of parse calls (hard and soft). A soft parse is a check on an object already in the shared pool, to verify that the permissions on the underlying object have not changed.  
parse time cpu 64 Total CPU time used for parsing (hard and soft) in 10s of milliseconds 3
parse time elapsed 64 Total elapsed time for parsing, in 10s of milliseconds. Subtract "parse time cpu" from the this statistic to determine the total waiting time for parse resources. 3
physical read bytes 8 Total size in bytes of all disk reads by application activity (and not other instance activity) only.  
physical read IO requests 8 Number of read requests for application activity (mainly buffer cache and direct load operation) which read one or more database blocks per request. This is a subset of "physical read total IO requests" statistic.  
physical read total bytes 8 Total size in bytes of disk reads by all database instance activity including application reads, backup and recovery, and other utilities. The difference between this value and "physical read bytes" gives the total read size in bytes by non-application workload.  
physical read total IO requests 8 Number of read requests which read one or more database blocks for all instance activity including application, backup and recovery, and other utilities. The difference between this value and "physical read total multi block requests" gives the total number of single block read requests.  
physical read total multi block requests 8 Total number of Oracle instance read requests which read in two or more database blocks per request for all instance activity including application, backup and recovery, and other utilities.  
physical reads 8 Total number of data blocks read from disk. This value can be greater than the value of "physical reads direct" plus "physical reads cache" as reads into process private buffers also included in this statistic.  
physical reads cache 8 Total number of data blocks read from disk into the buffer cache. This is a subset of "physical reads" statistic.  
physical reads direct 8 Number of reads directly from disk, bypassing the buffer cache. For example, in high bandwidth, data-intensive operations such as parallel query, reads of disk blocks bypass the buffer cache to maximize transfer rates and to prevent the premature aging of shared data blocks resident in the buffer cache.  
physical reads prefetch warmup 8 Number of data blocks that were read from the disk during the automatic prewarming of the buffer cache.  
physical write bytes 8 Total size in bytes of all disk writes from the database application activity (and not other kinds of instance activity).  
physical write IO requests 8 Number of write requests for application activity (mainly buffer cache and direct load operation) which wrote one or more database blocks per request.  
physical write total bytes 8 Total size in bytes of all disk writes for the database instance including application activity, backup and recovery, and other utilities. The difference between this value and "physical write bytes" gives the total write size in bytes by non-application workload.  
physical write total IO requests 8 Number of write requests which wrote one or more database blocks from all instance activity including application activity, backup and recovery, and other utilities. The difference between this stat and "physical write total multi block requests" gives the number of single block write requests.  
physical write total multi block requests 8 Total number of Oracle instance write requests which wrote two or more blocks per request to the disk for all instance activity including application activity, recovery and backup, and other utilities.  
physical writes 8 Total number of data blocks written to disk. This statistics value equals the sum of "physical writes direct" and "physical writes from cache" values.  
physical writes direct 8

Number of writes directly to disk, bypassing the buffer cache (as in a direct load operation)

 
physical writes from cache 8 Total number of data blocks written to disk from the buffer cache. This is a subset of "physical writes" statistic.  
physical writes non checkpoint 8 Number of times a buffer is written for reasons other than advancement of the checkpoint. Used as a metric for determining the I/O overhead imposed by setting the FAST_START_IO_TARGET parameter to limit recovery I/Os. (Note that FAST_START_IO_TARGET is a deprecated parameter.) Essentially this statistic measures the number of writes that would have occurred had there been no checkpointing. Subtracting this value from "physical writes" gives the extra I/O for checkpointing.  
pinned buffers inspected 8 Number of times a user process, when scanning the tail of the replacement list looking for a buffer to reuse, encountered a cold buffer that was pinned or had a waiter that was about to pin it. This occurrence is uncommon, because a cold buffer should not be pinned very often.  
prefetched blocks 8 Number of contiguous and noncontiguous blocks that were prefetched  
prefetched blocks aged out before use 8 Number of contiguous and noncontiguous blocks that were prefetched but aged out before use  
process last non-idle time 128 The last time this process executed 3
PX local messages recv'd 32 Number of local messages received for parallel execution within the instance local to the current session  
PX local messages sent 32 Number of local messages sent for parallel execution within the instance local to the current session  
PX remote messages recv'd 32 Number of remote messages received for parallel execution within the instance local to the current session  
PX remote messages sent 32

Number of remote messages sent for parallel execution within the instance local to the current session

 
queries parallelized 32 Number of SELECT statements executed in parallel  
recovery array read time 8 Elapsed time of I/O during recovery  
recovery array reads 8 Number of reads performed during recovery  
recovery blocks read 8 Number of blocks read during recovery  
recovery blocks read for lost write detection 8 Number of blocks read for lost write checks during recovery.  
recovery blocks skipped lost write checks 8 Number of Block Read Records that skipped the lost write check during recovery.  
recursive calls 1 Number of recursive calls generated at both the user and system level. Oracle maintains tables used for internal processing. When Oracle needs to make a change to these tables, it internally generates an internal SQL statement, which in turn generates a recursive call.  
recursive cpu usage 1 Total CPU time used by non-user calls (recursive calls). Subtract this value from "CPU used by this session" to determine how much CPU time was used by the user calls.  
redo blocks checksummed by FG (exclusive) 2 Number of exclusive redo blocks that were checksummed by the generating foreground processes. An exclusive redo block is the one whose entire redo content belongs to a single redo entry.  
redo blocks checksummed by LGWR 2 Number of redo blocks that were checksummed by the LGWR.  
redo blocks written 2

Total number of redo blocks written. This statistic divided by "redo writes" equals number of blocks per write.

 
redo buffer allocation retries 2 Total number of retries necessary to allocate space in the redo buffer. Retries are needed either because the redo writer has fallen behind or because an event such as a log switch is occurring.  
redo entries 2 Number of times a redo entry is copied into the redo log buffer  
redo entries for lost write detection 2

Number of times a Block Read Record is copied into the log buffer.

 
redo log space requests 2 Number of times the active log file is full and Oracle must wait for disk space to be allocated for the redo log entries. Such space is created by performing a log switch.

Log files that are small in relation to the size of the SGA or the commit rate of the work load can cause problems. When the log switch occurs, Oracle must ensure that all committed dirty buffers are written to disk before switching to a new log file. If you have a large SGA full of dirty buffers and small redo log files, a log switch must wait for DBWR to write dirty buffers to disk before continuing.

Also examine the log file space and log file space switch wait events in V$SESSION_WAIT

 
redo log space wait time 2 Total elapsed waiting time for "redo log space requests" in 10s of milliseconds 3
redo ordering marks

2

Number of times that a system change number was allocated to force a redo record to have a higher SCN than a record generated in another thread using the same block  
redo size 2 Total amount of redo generated in bytes  
redo size for lost write detection 2 Total amount of Block Read Records generated in bytes.  
redo synch time 8 Elapsed time of all "redo synch writes" calls in 10s of milliseconds 3
redo synch writes 8 Number of times a change being applied to the log buffer must be written out to disk due to a commit. The log buffer is a circular buffer that LGWR periodically flushes. Usually, redo that is generated and copied into the log buffer need not be flushed out to disk immediately.  
redo wastage 2 Number of bytes wasted because redo blocks needed to be written before they are completely full. Early writing may be needed to commit transactions, to be able to write a database buffer, or to switch logs.  
redo write time 2 Total elapsed time of the write from the redo log buffer to the current redo log file in microseconds 3
redo writer latching time 2 Elapsed time in 10s of milliseconds needed by LGWR to obtain and release each copy latch 3
redo writes 2 Total number of writes by LGWR to the redo log files. "redo blocks written" divided by this statistic equals the number of blocks per write  
remote instance undo block writes 40 Number of times this instance wrote a rollback segment so that another instance could read it  
remote instance undo header writes 40 Number of times this instance wrote a undo header block so that another instance could read it  
rollback changes - undo records applied 128 Number of undo records applied to user-requested rollback changes (not consistent-read rollbacks)  
rollbacks only - consistent read gets 128

Number of consistent gets that require only block rollbacks, no block cleanouts.

See Also: "consistent gets"

 
rows fetched via callback 64 Rows fetched via callback. Useful primarily for internal debugging purposes.  
serializable aborts 1 Number of times a SQL statement in a serializable isolation level had to abort  
session connect time 1 The connect time for the session in 10s of milliseconds. This value is useful only in V$SESSTAT. It is the wall clock time since the logon to this session occurred. 3
session cursor cache count 64 Total number of cursors cached. This statistic is incremented only if SESSION_CACHED_CURSORS > 0. This statistic is the most useful in V$SESSTAT. If the value for this statistic in V$SESSTAT is close to the setting of the SESSION_CACHED_CURSORS parameter, the value of the parameter should be increased.  
session cursor cache hits 64 Number of hits in the session cursor cache. A hit means that the SQL statement did not have to be reparsed. Subtract this statistic from "parse count (total)" to determine the real number of parses that occurred.  
session logical reads 1 The sum of "db block gets" plus "consistent gets". This includes logical reads of database blocks from either the buffer cache or process private memory.  
session pga memory 1 Current PGA size for the session. Useful only in V$SESSTAT; it has no meaning in V$SYSSTAT.  
session pga memory max 1 Peak PGA size for the session. Useful only in V$SESSTAT; it has no meaning in V$SYSSTAT.  
session stored procedure space 1 Amount of memory this session is using for stored procedures  
session uga memory 1 Current UGA size for the session. Useful only in V$SESSTAT; it has no meaning in V$SYSSTAT.  
session uga memory max 1 Peak UGA size for a session. Useful only in V$SESSTAT; it has no meaning in V$SYSSTAT.  
shared io pool buffer get failure 128 Number of unsuccessful buffer gets from the shared I/O pool from instance startup time.  
shared io pool buffer get success 128 Number of successful buffer gets from the shared I/O pool from instance startup time.  
sorts (disk) 64

Number of sort operations that required at least one disk write

Sorts that require I/O to disk are quite resource intensive. Try increasing the size of the initialization parameter SORT_AREA_SIZE. For more information, see "SORT_AREA_SIZE".

 
sorts (memory) 64

Number of sort operations that were performed completely in memory and did not require any disk writes

You cannot do much better than memory sorts, except maybe no sorts at all. Sorting is usually caused by selection criteria specifications within table join SQL operations.

 
sorts (rows) 64 Total number of rows sorted  
SQL*Net roundtrips to/from client 1 Total number of Oracle Net Services messages sent to and received from the client  
SQL*Net roundtrips to/from dblink 1 Total number of Oracle Net Services messages sent over and received from a database link  
summed dirty queue length 8 The sum of the dirty LRU queue length after every write request. Divide by write requests to get the average queue length after write completion.  
switch current to new buffer 8 Number of times the CURRENT block moved to a different buffer, leaving a CR block in the original buffer  
table fetch by rowid 64

Number of rows that are fetched using a ROWID (usually recovered from an index)

This occurrence of table scans usually indicates either non-optimal queries or tables without indexes. Therefore, this statistic should increase as you optimize queries and provide indexes in the application.

 
table fetch continued row 64

Number of times a chained or migrated row is encountered during a fetch

Retrieving rows that span more than one block increases the logical I/O by a factor that corresponds to the number of blocks than need to be accessed. Exporting and re-importing may eliminate this problem. Evaluate the settings for the storage parameters PCTFREE and PCTUSED. This problem cannot be fixed if rows are larger than database blocks (for example, if the LONG datatype is used and the rows are extremely large).

 
table scan blocks gotten 64

During scanning operations, each row is retrieved sequentially by Oracle. This statistic counts the number of blocks encountered during the scan.

This statistic tells you the number of database blocks that you had to get from the buffer cache for the purpose of scanning. Compare this value with the value of "consistent gets" to determine how much of the consistent read activity can be attributed to scanning.

 
table scan rows gotten 64 Number of rows that are processed during scanning operations  
table scans (cache partitions) 64 Number of range scans performed on tables that have the CACHE option enabled  
table scans (direct read) 64 Number of table scans performed with direct read (bypassing the buffer cache)  
table scans (long tables) 64 Long (or conversely short) tables can be defined as tables that do not meet the short table criteria as described in table scans (short tables)  
table scans (rowid ranges) 64 During parallel query, the number of table scans conducted with specified ROWID ranges  
table scans (short tables) 64 Long (or conversely short) tables can be defined by optimizer hints coming down into the row source access layer of Oracle. The table must have the CACHE option set.  
total file opens 8 Total number of file opens performed by the instance. Each process needs a number of files (control file, log file, database file) in order to work against the database.  
transaction lock background get time 128 Useful only for internal debugging purposes  
transaction lock background gets 128 Useful only for internal debugging purposes  
transaction lock foreground requests 128 Useful only for internal debugging purposes  
transaction lock foreground wait time 128 Useful only for internal debugging purposes  
transaction rollbacks 128 Number of transactions being successfully rolled back  
transaction tables consistent read rollbacks 128 Number of times rollback segment headers are rolled back to create consistent read blocks  
transaction tables consistent reads - undo records applied 128 Number of undo records applied to transaction tables that have been rolled back for consistent read purposes  
Unnecessary process cleanup for SCN batching 32 Total number of times that the process cleanup was performed unnecessarily because the session or process did not get the next batched SCN. The next batched SCN went to another session instead.  
user calls 1

Number of user calls such as login, parse, fetch, or execute

When determining activity, the ratio of user calls to RPI calls, give you an indication of how much internal work gets generated as a result of the type of requests the user is sending to Oracle.

 
user commits 1 Number of user commits. When a user commits a transaction, the redo generated that reflects the changes made to database blocks must be written to disk. Commits often represent the closest thing to a user transaction rate.  
user rollbacks 1

Number of times users manually issue the ROLLBACK statement or an error occurs during a user's transactions

 
write clones created in background 8 Number of times a background or foreground process clones a CURRENT buffer that is being written. The clone becomes the new, accessible CURRENT buffer, leaving the original buffer (now the clone) to complete writing.  
write clones created in foreground 8

Number of times a background or foreground process clones a CURRENT buffer that is being written. The clone becomes the new, accessible CURRENT buffer, leaving the original buffer (now the clone) to complete writing.

 


TAG: