暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redo allocation latch介绍

原创 eygle 2005-02-23
1231
在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信息:


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:
最后修改时间:2020-02-10 11:17:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论