ITPub博客

首页 > 数据库 > Oracle > ORA-12850: 无法在所有指定实例上分配从属进程: 需要 2, 已分配 1

ORA-12850: 无法在所有指定实例上分配从属进程: 需要 2, 已分配 1

原创 Oracle 作者:小宇12333 时间:2017-08-24 16:21:11 0 删除 编辑
客户发邮件过来提到2节点日志中有ora报错,要确认是否有影响。
环境一套x86_64平台的12.1的rac

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;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25923810/viewspace-2144072/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-07-22

  • 博文量
    31
  • 访问量
    95060