Dictionary buffer: Dictionary cache, also called row cache;
Used to save data dictionary information: such as table space related information, user rights, objects information, histogram information.
The dictionary buffer cannot be adjusted directly in size, and the dictionary buffer size can only be adjusted by adjusting the shared pool size.
sys@ bys3>select Pool,name, bytes/1024/1024 MB from V$sgastat where name like ' Row cache% ';
POOL NAME MB
------------ -------------------------- ----------
Shared pool row Cache child latch 004959106
Shared Pool Row Cache 4.12324524
My experimental environment, the dictionary buffer size is a little more than 4M, you can also count the row cache child latch size.
#####################################################################
Row Cache Child Latch
The V$rowcache view can query object information that is saved in the row cache.
Number of latch of row cache child latch:
sys@ bys3>select count (name), name from V$latch_children where name like ' Row cache% ' group by name;
COUNT (name) name
----------- ----------------------------------------------------------------
The row cache objects
Each child latch manages a different object.
Usage scenarios:
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/database/storage/
hard parsing requires the execution plan to be generated from the data dictionary information, andthe row cache information is protected by the row cache child latch, so it can cause row cache child latch competition when the row cache is accessed concurrently.
Row cache child Latch Common scenarios:
1.DDL operation needs to modify data dictionary
2.SEQUENCE: The reason is that SEQUENCE's nextval operation obtains row cache lock for row cache objects in SSX (SHARED sub_exvlusive) exclusive mode. Occurs when multiple processes are simultaneously invoking the same sequence Nextval: Latch:row cache objects waits for events.
If the cache is too small, when the value of CACEH allocated will regain a cache, will update the seq$ base table and submit---modify row cache information, the session will always hold a sq lock, there will be enq:sq-contention waiting for events. ---P2 value is an object number.
NoCache: Every time you use Nextval, update the seq$ base table and submit it.
About sequence, see: Http://blog.csdn.net/haibusuanyun/article/details/17248029#t2
3.SYS. audsed$: The cache value for sys.audsed$ before ORACLE 10.2.0.4 is 20, mainly for v$session. The value of the Audsid. When a large number of concurrent short connection-landing storm, easily due to sys.audsed$ cache value too small to cause the session has been holding a sq lock, enq:sq-contention waiting for the event. = = = Solution: Change the cache value of sys.audsed$ to large.
After 10.2.0.4, SYS. The audsed$ cache value defaults to 10000.
4. SQL accessed via remote Dblink to get the 16th row cache child latch when parsing locally can cause contention-------to increase the shared pool and PGA size in sufficient memory, and to add session_cache_ Cursor size---Note to restart the library and to be aware that the increase consumes more memory. --this case is shown in the Liang Zhou ORACLE DBA Combat Strategy 301 pages.