- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SHOUG Oracle Exadata 的那些事 - Steven Li (李亚).pdf
Oracle Exadata 的那些事
Steven Li (李亚)
shoug.info 上海Oracle用户组
# who am i—有图有真相
shoug.info 上海Oracle用户组
咦?Log File Sync 是什么鬼?
• 很遗憾,Exadata并不能完全幸免!
• 绝大部分还是程序设计的问题——应用程序提交
过于频繁。
• Exadata Smart Flash Log ?
– ESFL的引入对于减少Log File Sync并无明显效果,因为redo的写入
以顺序写入为主,优化的效果并不明显,闪存写性能不稳定主要
是由于闪存自身的“写放大”和“写惩罚”特性导致的。
• Data Guard使用LGWR SYNC模式可能加剧
• 某些版本存在Log File Sync的bug。
shoug.info 上海Oracle用户组
咦?Log File Sync 是什么鬼?
• 改造应用程序,减少提交的频率,这是最有效的办法。不
过令人遗憾的是很多时候想要通过应用程序的修改来减少
log file sync根本不现实。
• 应用必要的数据库补丁,以防止因为某些bug导致的log file
sync 。
• 将fast_start_mttr_target参数设置为300 以上,以减少
checkpoint写的频度,但同时增加了实例恢复的时间。
• 如果file log sync发生在有Data Guard的环境,在业务允许
的情况下,则可以考虑将REDO 日志的传输模式从SYNC模
式改为ASYNC模式,加大发送/接收缓存大小。
• COMMIT_WRITE 参数为BATCH NOWAIT,以牺牲事务的
ACID来换取性能。(COMMIT_LOGGING 和COMMIT_WAIT)
shoug.info 上海Oracle用户组
Adaptive Log File Sync 福兮祸兮?
• LGWR 日志分析:
Log file sync switching to post/wait
Current approximate redo synch write rate is 295 per sec
Warning: log write elapsed time 828ms, size 11KB
kcrfw_update_adaptive_sync_mode: post-poll long#=79 sync#=569 sync=531877
poll=10012 rw=406 rw+=409 ack=0 min_sleep=10012
在LGWR的trace 中,可以看到三个明显的特征:
1. LGWR在post/wait与polling之间来回切换的频率很高;
2. redo synch write rate的频率较高;
3. 通常还会有log write elapsed time超时的告警信息。
shoug.info 上海Oracle用户组
Adaptive Log File Sync 福兮祸兮?
• Hanganalyze分析:
– 1. open chains 源头在LGWR进程
– 2. LGWR进程堆栈类似如下:
• ksedsts()+380-ksdxfstk()+52-ksdxcb()+3524-sspuser()+140-__sighndlr()+12-
call_user_handler()+992 -sigacthandler()+104-_syscall6()+32-
s
文档评论(0)