设为首页 收藏本站

运维网

查看: 54|回复: 0

[经验分享] oracle 11.2.0.2以后变动的一些隐含参数

[复制链接]

尚未签到

发表于 2017-10-10 10:10:17 | 显示全部楼层 |阅读模式
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
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;



运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:[email protected] 网址:www.iyunv.com

点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

关注运维网官方微信X

关注运维网官方微信

扫描二维码关注运维网官方微信,最新一手资源尽在官方微信!快快关注我们吧...

扫描微信二维码查看详情

客服 E-mail:[email protected]

本站由安畅云和青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2017

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


合作伙伴: 青云cloud 51idc

快速回复 返回顶部 返回列表