recursive calls, db block gets,consistent gets,physical Reads
Recursive Calls. Number of recursive calls generated at both the user and system level.
Oracle
Database maintains tables used for internal processing. When it needs
to change these tables, Oracle Database generates an internal SQL
statement, which in turn generates a recursive call.
In short,
recursive calls are basically SQL performed on behalf of your SQL. So,
if you had to parse the query, for example, you might have had to run
some other queries to get data dictionary information. These would be
recursive calls. Space management, security checks, calling PL/SQL from
SQL—all incur recursive SQL calls.
· DB Block Gets. Number of times a CURRENT block was requested.
Current mode blocks are retrieved as they exist right now, not in a consistent read fashion.
Normally,
blocks retrieved for a query are retrieved as they existed when the
query began. Current mode blocks are retrieved as they exist right now,
not from a previous point in time.
During a SELECT, you might see
current mode retrievals due to reading the data dictionary to find the
extent information for a table to do a full scan (because you need the
"right now" information, not the consistent read). During a
modification, you will access the blocks in current mode in order to
write to them.
(DB Block Gets:請求的資料塊在buffer能滿足的個數)
· Consistent Gets. Number of times a consistent read was requested for a block.
This
is how many blocks you processed in "consistent read" mode. This will
include counts of blocks read from the rollback segment in order to
roll back a block.
This is the mode you read blocks in with a SELECT, for example.
Also,
when you do a searched UPDATE/DELETE, you read the blocks in consistent
read mode and then get the block in current mode to actually do the
modification.
(Consistent Gets:資料請求總數在回滾段Buffer中)
· Physical Reads. Total number of data blocks read from disk. This number equals the value of "physical reads direct" plus all reads into buffer cache. (Physical Reads:例項啟動後,從磁碟讀到Buffer Cache資料塊數量)
· Sorts (disk). 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.
/************************************************/
Oracle accesses blocks in one of two modes, current or consistent.
A 'db block get' is a current mode get. That is, it's the most up-to-date
copy of the data in that block, as it is right now, or currently. There
can only be one current copy of a block in the buffer cache at any time.
Db block gets generally are used when DML changes data in the database.
In that case, row-level locks are implicitly taken on the updated rows.
There is also at least one well-known case where a select statement does
a db block get, and does not take a lock. That is, when it does a full
table scan or fast full index scan, Oracle will read the segment header
in current mode (multiple times, the number varies based on Oracle version).
A 'consistent get' is when Oracle gets the data in a block which is consistent
with a given point in time, or SCN. The consistent get is at the heart of
Oracle's read consistency mechanism. When blocks are fetched in order to
satisfy a query result set, they are fetched in consistent mode. If no
block in the buffer cache is consistent to the correct point in time, Oracle
will (attempt to) reconstruct that block using the information in the rollback
segments. If it fails to do so, that's when a query errors out with the
much dreaded, much feared, and much misunderstood ORA-1555 "snapshot too old".
As to latching, and how it relates, well, consider that the block buffers
are in the SGA, which is shared memory. To avoid corruption, latches are
used to serialize access to many linked lists and data structures that point
to the buffers as well as the buffers themselves. It is safe to say that
each consistent get introduces serialization to the system, and by tuning
SQL to use more efficient access paths, you can get the same answer to the
same query but do less consistent gets. This not only consumes less CPU,
it also can significantly reduce latching which reduces serialization and
makes your system more scalable.
Well, that turned out longer than I planned. If you're still reading,
I hope it helped!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017442/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DB Block Gets、Consistent Gets、Physical ReadsBloC
- recursive calls ,db block gets , consistent gets的含義BloC
- 對'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解BloC
- Consistent Gets,Physical Reads和DB Block Gets的解釋(轉)BloC
- (轉)關於 db block gets,consistent gets,physical reads的概念BloC
- 對'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解釋BloC
- DB Bocks gets,Consistent gets And Physical reads 轉載
- 關於統計中Consistent Gets,Physical Reads和DB Block Gets的意義BloC
- 【Oracle-記憶體管理】-DB Blocks gets,Consistent gets And Physical readsOracle記憶體BloC
- 關於執行計劃裡recursive calls,db block gets和consistent gets引數的解釋BloC
- oracle buffer gets=db block gets+consistent getsOracleBloC
- db block gets 與 consistent read getsBloC
- Consistent Gets(就是logical read)+ DB Block Gets = 所謂的Logical ReadsBloC
- consistent gets、db block gets的簡單精闢的理解BloC
- DB Bocks gets & Consistent gets 區別
- consistent gets
- db block gets的解釋[轉]BloC
- consistent gets 到底指的是什麼?
- 淺談consistent gets的計算
- consistent gets暴漲的一種情況
- sqlplus中arrayseize引數以及consistent getsSQL
- oracle實驗記錄 (oracle consistent gets 計算)Oracle
- [20111229]Consistent gets from cache (fastpath).txtAST
- db block get和consistent read getBloC
- Oracle透過AWR的SQL ordered by Gets和SQL ordered by Reads診斷問題OracleSQL
- [20111228]理解consistent gets*相關資訊
- [20111229]理解consistent gets*相關資訊[補充]
- gets函式的漏洞函式
- C語言關於指標,gets()和gets_s()函式的理解C語言指標函式
- AIX: Database performance gets slower the longer the db is running_316533.1AIDatabaseORM
- Your Prediction Gets As Good As Your DataGo
- Why Archive, FRA Diskgroup Gets Mounted / DismountedHive
- 行欲取導致sqlplus中trace的consistent gets遠大於實際塊數SQL
- getc();fgetc();getchar();gets();fgets();
- gets函式的不安性詳解函式
- Database performance gets slower the longer the database is runningDatabaseORM
- OPatch failed with error code 73(OracleHomeInventory gets null oracleHomeInfo)AIErrorOracleNull
- Oracle一致性讀(consistents gets)Oracle