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

隐含参数_MAX_CR_ROLLBACKS

原创 刘智龙 2019-03-22
1350

问题描述

_MAX_CR_ROLLBACKS隐含参数的作用,以及使用场景。

--查看_MAX_CR_ROLLBACKS隐藏参数
--当前环境为11.2.0.3
SQL> set pagesize 2000
SQL> col name for a50
SQL> col description for a100
SQL> col value for a10
SQL> SELECT   i.ksppinm name, 
  2             i.ksppdesc description, 
  3             CV.ksppstvl VALUE, 
  4             CV.ksppstdf isdefault, 
  5             DECODE (BITAND (CV.ksppstvf, 7), 
  6                     1, 'MODIFIED', 
  7                     4, 'SYSTEM_MOD', 
  8                     'FALSE') 
  9                ismodified, 
 10             DECODE (BITAND (CV.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadjusted 
 11      FROM   sys.x$ksppi i, sys.x$ksppcv CV 
 12     WHERE       i.inst_id = USERENV ('Instance') 
 13             AND CV.inst_id = USERENV ('Instance') 
 14             AND i.indx = CV.indx 
 15             AND i.ksppinm=lower('_MAX_CR_ROLLBACKS')  ;
 
NAME                                               DESCRIPTION                                                                                          VALUE      ISDEFAULT ISMODIFIED ISADJ
-------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------- --------- ---------- -----
_max_cr_rollbacks                                  Maximum number of CR  rollbacks per block (LMS)                                                      0          TRUE      FALSE      FALSE
 
--10.2.0.4
SQL> set pagesize 2000
SQL> col name for a50
SQL> col value for a10
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE
  2  FROM SYS.x$ksppi x, SYS.x$ksppcv y
  3   where x.indx = y.indx
  4  AND x.ksppinm =lower('_MAX_CR_ROLLBACKS');
 
no rows selected
 
--11.2.0.4
SQL> set pagesize 2000
SQL> col name for a50
SQL> col value for a10
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE
  2  FROM SYS.x$ksppi x, SYS.x$ksppcv y
  3   where x.indx = y.indx
  4  AND x.ksppinm =lower('_MAX_CR_ROLLBACKS');
 
NAME                                               VALUE
-------------------------------------------------- ----------
_max_cr_rollbacks                                  1000
 
--12.1.0.2
SQL> set pagesize 2000
SQL> col name for a50
SQL> col value for a10
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE
  2  FROM SYS.x$ksppi x, SYS.x$ksppcv y
  3   where x.indx = y.indx
  4  AND x.ksppinm =lower('_MAX_CR_ROLLBACKS');
 
NAME                                               VALUE
-------------------------------------------------- ----------
_max_cr_rollbacks                                  1000
 
--18c
SQL> set pagesize 2000
SQL> col name for a50
SQL> col value for a10
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE
  2  FROM SYS.x$ksppi x, SYS.x$ksppcv y
  3   where x.indx = y.indx
  4  AND x.ksppinm =lower('_MAX_CR_ROLLBACKS');
 
NAME                                               VALUE
-------------------------------------------------- ----------
_max_cr_rollbacks                                  1000

专家解答

_max_cr_rollbacks用于控制大量并发更新导致CR读的构造次数,以减少LMS的压力。在10.2.0.4没有该隐藏参数。11.2.0.3中_max_cr_rollbacks的默认值是0,也就是CR读没有上限,在11.2.0.4,12.1.0.2,18c中,_max_cr_rollbacks的默认值是1000。

在11.2.0.3以前没有该参数,在11.2.0.3和11.2.0.4中_max_cr_rollbacks 默认值为0,在11.2.0.4后默认值为1000。

为了缓解cr读的构造和减少LMS的压力,建议降低该值,不需要重启实例。参考命令:

alter system set "_MAX_CR_ROLLBACKS"=200 scope=spfile sid='*';
最后修改时间:2019-04-14 10:49:47
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论