阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 11.2.0.2以后变动的一些隐含参数

116次阅读
没有评论

共计 2014 个字符,预计需要花费 6 分钟才能阅读完成。

1 查询隐含参数
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV (‘Instance’)
AND y.inst_id = USERENV (‘Instance’)
AND x.indx = y.indx
AND x.ksppinm LIKE ‘%&par%’
2 _datafile_write_errors_crash_instance
11.2.0.2 新增,默认为 true,如果出现写错误,直接实例宕掉,以前为 offline;
3 _use_adaptive_log_file_sync

11.2.0.1 和 11.2.0.2 两个版本该参数默认是 false。
从 11.2.0.3 开始,这个参数默认值是 true,也就是开始启用“自适应日志同步机制”。
开启改参数后,日志同步机制会在 2 种方式中切换。
该参数决定了,foreground/user session 和 LGWR 进程通过什么方式获知 commit 操作已完成(也就是 redo 写 log file 完成)。
Post/wait, traditional method for posting completion of writes to redo log  
传统方式,在 11.2.0.3 之前,user session 等待 LGWR 通知 redo 写入到 log file 完毕,被动方式。
优点:post/wait 方式,user session 几乎能立即发现 redo 已刷到磁盘。
Polling, a new method where the foreground process checks if the LGWR has completed the write. 
新方式,主动监测 LGWR 是否完成写入,主动方式。这种方式比 Post/wait 方式响应速度慢,但是可以节约 CPU 资源。
优点:当 commit 完成后,LGWR 会把 commit 完成的消息通知给很多 user session,这个过程消耗大量 CPU。
  Polling 方式采用朱勇监测 LGWR 释放写入 redo 完成,所以释放了 LGWR 占用的 CPU 资源。
4 _external_scn_rejection_threshold_hours
11.2.0.2 及以上版本的这个参数默认值是 24,其他版本默认值是 744。这样使 11.2.0.2 以下版本的数据库其 Headroom 的阈值增得较大。
5 _minimum_giga_scn
11.2.0.2 打上相关补丁后无效了;另 alter session set events’10015 trace name adjust_scn level XXX’也推不动 SCN 了,查看 SCN
推荐推进 SCN 的方法 1:
1、当数据块为 8k 的时候,控制文件大小为 16k
2、找到 Controlfile Checkpointed at scn,偏移量为第一个块的 60,比如 0×4060,然后具体位置在 0×4060 的第 9 至第 14 个 byte
3、找到第一个块的第一行,如 0×4000,将 offset 为 15 的 flag 由 0×04 改为 0×00,并同时将 checksum 值(offset 为 16、17)全部清零。

推荐推进 SCN 的方法 2:
“oradebug poke <address> <length> <value>”allows you to modify a given region of memory (length of memory is limited to size of scalar C types)

SQL> col current_scn for 99999999999;
SQL> select current_scn from v$database; 
 CURRENT_SCN
————
 12414232664
SQL> select to_char(CHECKPOINT_CHANGE#,’XXXXXXXXXXXX’) from v$database; 
TO_CHAR(CHECK
————-
    2E3F154CE
SQL> oradebug dumpvar sga kcsgscn_
kcslf kcsgscn_ [5000C974, 5000C994) = 00000002 E3F243A0 05AC1DA5 00000000 00000000 00000000 00000000 5000C58C
SQL>oradebug poke 0x5000C974 4 0X300000000
SQL>select to_number(‘300000000′,’XXXXXXXXXXXXXX’)  current_scn from dual;

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/147419.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2014字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中