问题描述
_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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




