一次Ora-00020处置分享
我是本际云服务器推荐网的小编小本本,最近接手了一套11g的2节点的rac核心库深度巡检任务。我们发现了一个间断性的ORA-00020报错,并对其进行了分析和解决。

现象
我们发现节点1,2都存在间断性的ORA-00020报错,最早是从2017年9月20号开始,最近几天也有报错,收集信息,开始做分析(以下主要以1节点信息进行分析)。
MonSep2115:39:162020ORA-00020:maximumnumberofprocesses(1500)exceededORA-20errorswillnotbewrittentothealertlogforthenextminute.PleaselookattracefilestoseealltheORA-20errors。
分析
我们分析了最近一次报错的oswps文件和Ash报告。大部分进程多为ora_p的并行进程。我们怀疑进程异常可能是由于并行进程导致。进一步分析ash报告,发现817f8xwxv3kdc这条sql对应的是相关的并行等待事件。我们在会话级别和全库数据库对象上查询,均未发现并行度开启。
通过查看817f8xwxv3kdc该语句的历史执行计划,我们发现执行步骤确实存在并行。最重要的是底部有SQLprofile信息,说明该语句绑定了执行计划,而且这个sqlprofile是SYS开头的,可能是通过DBMS_SQLTUNE包跑出来的SQLproile,随后直接accept的。我们发现该SQLprofile指定了paralellel,但未执行并行度,也就是说根据当前负载自动决定并行度。在随后的会话监控中也抓到了此类语句并行运行情况,并行度256并且是跨节点的2个slaveset。此类语句并行执行的进程多跑几个,总进程基本就会跑满。
解决方案
和客户沟通该sqlprofile为17年上线时操作,待维护窗口可以考虑删除及后期优化。并行度能分配到256,说明并行参数这块未做限制,根据硬件cpu配置我们建议为客户提出以下参数优化:
alter systemsetparallel_max_servers=64;
alter systemsetparallel_servers_target=64;
alter systemsetparallel_force_local=true;
alter systemset”_PX_use_large_pool”=truescope=spfile;
以上就是这次ORA-00020报错的分析和解决方案,希望对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5907.html
