• 博客访问: 1491528
  • 博文数量: 108
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 19:38
个人简介

oracle\db2\unix\linux技术爱好者 提供专业Oracle安装、迁移升级、故障诊断、性能优化、备份恢复、顾问咨询等服务;手机15367961107,qq402157388

文章分类

全部博文(108)

文章存档

2018年(2)

2015年(3)

2014年(9)

2013年(94)

分类: Oracle

2018-01-16 16:05:24

oracle 12.2.0.1.0数据库参数_cursor_obsolete_threshold默认设置不合理导致大量等待事件cursor: mutex X

1、现象

2017年年底某一天,接到电话,某业务系统突然出现异常、基本不可用,该业务系统使用的是oracle 12.2.0.1.0 RAC。 

 

2、处理

查看告警日志,发现有部分客户端连接超时的报错;

 

查看等待事件,发现两个节点上都有大量(七八百)的等待事件:

cursor: mutex X

 

通过和应用维护厂家沟通,决定通过重启数据库,优先恢复业务;

 

3、原因

后续查找原因,经查证、发现是Oracle 12.2版本的参数_cursor_obsolete_threshold默认设置不合理

 

The default value for _cursor_obsolete_threshold is 1024 pre 12.2, but has increased to 8192 in 12.2.

 

Set _cursor_obsolete_threshold=1024 in CDB level: 
example command: 
alter system set "_cursor_obsolete_threshold"=1024 scope=spfile; 
restart the database 

 

 

4、处理

已经按照oracle的建议调整了隐含参数,但这是个静态参数、要重启整个CDB才生效、因为集群环境还有其他业务系统的pdb数据库在用,所以需要协调一个维护时间窗口来重启整个CDB

5、建议

新版本的数据库上线前应该多做压力测试、功能测试等,并且尽可能优化默认参数(最好有oracle原厂的咨询和建议)


6、获取

select a.ksppinm name,b.ksppstvl value,a.ksppdesc description 
from x$ksppi a,x$ksppcv b 
where a.indx = b.indx 
and a.ksppinm like '&parameter';
_cursor_obsolete_threshold


select a.ksppinm name,b.ksppstvl value,a.ksppdesc description 
from x$ksppi a,x$ksppcv b 
where a.indx = b.indx 
and a.ksppinm like '_cursor_obsolete_threshold';

阅读(1753) | 评论(0) | 转发(1) |
1

上一篇:你好,2018!

下一篇:没有了

给主人留下些什么吧!~~

冬菇小宏2018-02-11 16:40:32

建议楼主下次能把问题的分析思路和经过写完整下,不然看完都不知道咋回事

评论热议
请登录后评论。

登录 注册