5

隐含参数_MAX_CR_ROLLBACKS

刘智龙 2019-03-22
235
摘要:_MAX_CR_ROLLBACKS隐含参数的作用,以及使用场景。--查看_MAX_CR_ROLLBACKS隐藏参数--当前环境为11.2....

问题描述

_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='*';
「喜欢文章,快来给作者赞赏墨值吧」

评论

0
5
最新发布
暂无内容,敬请期待...
数据库资讯
最新 热门 更多
本月热门
近期活动
全部
暂无活动,敬请期待...
相关课程
全部
暂无课程,敬请期待...