这篇文章给大家分享的是有关oracle中出现ORA-12850错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1.问题现象
报错信息如下:
Thu Aug 24
10:01:33 2017
Errors in file
/oradata/diag/rdbms/cdb/cdb2/trace/cdb2_m000_3564.trc:
ORA-12850: 无法在所有指定实例上分配从属进程:需要2,已分配1
trace 文件部分输出输出:
*** 2017-08-24 10:01:33.324
*** SESSION ID:(1390.13783) 2017-08-24 10:01:33.324
*** CLIENT ID:() 2017-08-24 10:01:33.324
*** SERVICE NAME:(SYS$BACKGROUND) 2017-08-24 10:01:33.324
*** MODULE NAME:(MMON_SLAVE) 2017-08-24 10:01:33.324
*** CLIENT DRIVER:() 2017-08-24 10:01:33.324
*** ACTION NAME:(Automatic Report Flush) 2017-08-24 10:01:33.324
*** CONTAINER ID:(1) 2017-08-24 10:01:33.324
2、报错分析
在mos找到了2篇文章和此次报错相吻合
ORA-12850 is Raised by Mmon Slave Automatic Report Flush Action (文档 ID 2217969.1)
High CPU Usage and/or Frequent Occurrences of ORA-12850 For Monitor Queries by MMON From 12.1 (文档 ID 2102131.1)
文中提到引起问题的原因:
bug:24554937 ORA-12850 WHILE MMON SLAVE AUTOMATIC REPORT FLUSH ACTION
There is a new feature in 12C called "Automatic Report Capturing Feature". As part of this feature, some monitoring SQLs are executed by MMON_SLAVE to identify the resource-intensive SQLs and generate the SQL Monitoring report automatically for those SQLs. Those SQLs consume little more CPU and it is expected behavior being a new feature. Such monitoring queries can be identified from (G)V$SQLSTATS.
==》大致意思是说12.1,引入了 "Automatic Report Capturing Feature"这个新特性,monitoring SQLs被执行以便收集resource-intensive SQLs信息,生成SQL Monitoring report.当monitoring SQLs消耗过高的cpu时会报ORA-12850.
3.解决方案
文章中提供了2中解决方案:
1.Apply Patch 24554937 if it is available for your version and platform.
2.执行以下sql禁用新特性
SQL> alter system set "_report_capture_cycle_time"=0;
感谢各位的阅读!关于“oracle中出现ORA-12850错误怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/205490.html