2005-02-23
Redo allocation latch介绍
在Log Buffer中分配内存空间时需要获取Redo allocation latch 。
在Oracle9.2之前,Redo allocation latch 是唯一的,因此向Log Buffer Cache中写入redo entries时是串行的。
在Oracle9.2企业版中,Redo allocation latch 的数量由LOG_PARALLELISM控制。
我们可以查询V$LATCH_CHILDREN视图获得Latch信息:
Redo allocation latch 在Log Buffer中为每个事务分配空间,如果事务很小或者服务器只有一个CPU,Redo allocation latch 同时COPY事务数据到Log Buffer Cache。在Log Switch释放空间时,Redo allocation latch 和 Redo Copy Latch同时被释放,也即在Log Switch过程中,Redo的生成是被禁止的。
在Oracle10g中,为了减少竞争,Oracle缺省的预分配19个redo allocation Latch:
在Oracle9.2之前,Redo allocation latch 是唯一的,因此向Log Buffer Cache中写入redo entries时是串行的。
在Oracle9.2企业版中,Redo allocation latch 的数量由LOG_PARALLELISM控制。
我们可以查询V$LATCH_CHILDREN视图获得Latch信息:
10:02:41 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production PL/SQL Release 9.2.0.6.0 - Production CORE 9.2.0.6.0 Production TNS for 32-bit Windows: Version 9.2.0.6.0 - Production NLSRTL Version 9.2.0.6.0 - Production 10:02:46 SQL> select name,latch#,child#,gets,misses 10:02:51 2 from v$latch_children where name = 'redo allocation'; NAME LATCH# CHILD# GETS MISSES ------------------------------ ---------- ---------- ---------- ---------- redo allocation 115 1 815 1 |
Redo allocation latch 在Log Buffer中为每个事务分配空间,如果事务很小或者服务器只有一个CPU,Redo allocation latch 同时COPY事务数据到Log Buffer Cache。在Log Switch释放空间时,Redo allocation latch 和 Redo Copy Latch同时被释放,也即在Log Switch过程中,Redo的生成是被禁止的。
在Oracle10g中,为了减少竞争,Oracle缺省的预分配19个redo allocation Latch:
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod PL/SQL Release 10.1.0.3.0 - Production CORE 10.1.0.3.0 Production TNS for 32-bit Windows: Version 10.1.0.3.0 - Production NLSRTL Version 10.1.0.3.0 - Production SQL> SQL> select name,latch#,child#,gets,misses 2 from v$latch_children where name = 'redo allocation'; NAME LATCH# CHILD# GETS MISSES ------------------------------ ---------- ---------- ---------- ---------- redo allocation 137 1 1193 1 redo allocation 137 2 111 0 redo allocation 137 3 399 0 redo allocation 137 4 7 0 redo allocation 137 5 4 0 redo allocation 137 6 4 0 redo allocation 137 7 4 0 redo allocation 137 8 4 0 redo allocation 137 9 4 0 redo allocation 137 10 4 0 redo allocation 137 11 4 0 NAME LATCH# CHILD# GETS MISSES ------------------------------ ---------- ---------- ---------- ---------- redo allocation 137 12 4 0 redo allocation 137 13 4 0 redo allocation 137 14 4 0 redo allocation 137 15 4 0 redo allocation 137 16 4 0 redo allocation 137 17 4 0 redo allocation 137 18 4 0 redo allocation 137 19 4 0 19 rows selected. |
参考: Metalink Note:147471.1
历史上的今天
- 2018-02-23 极速体验:Oracle 18c 下载和Scalable Sequence新特性
- 2018-02-23 Oracle Database 18c已经发布及新特性介绍
- 2011-02-23 海量数据库设计经验与研究-暨中韩技术交流会
- 2011-02-23 DBA手记:DBA诊断利器 - Event 10046和 10053
- 2010-02-23 SMON: recover undo segment与事务恢复
- 2009-02-23 笔记本R51e、流氓软件、与智能手机工作室
- 2008-02-23 Oracle Release Number Format含义
- 2006-02-23 要发现人家的优点你才会觉得幸福