12C -- ORA-12850: 无法在所有指定实例上分配从属进程: 需要 2, 已分配 1
2017-11-06 11:04 abce 阅读(3866) 评论(0) 编辑 收藏 举报使用客户端连接到oracle 12.2.0.1 rac数据库,报以下错误信息:
ORA-12850: 无法在所有指定实例上分配从属进程: 需要 2, 已分配 1
因为没有mos账号,只好谷歌一下了。找到了一个类似的错误:
http://blog.itpub.net/25923810/viewspace-2144072/
解决方法:
SQL> alter system set "_report_capture_cycle_time"=0; /* Default is 60 seconds */ 注意:_report_capture_cycle_time=0 /* This is system modifiable with immediate */
设置该参数后,重启pdb后再次尝试连接,不再有报错信息出现。
注:因为没有mos账号,没法看mos文章的具体内容,生产环境的话还是最好进mos确认一下!
补充:
Oracle 12C -- Automatic Report Capturing Feature
自动报告捕捉特性
如果是升级到12c,可能会检测到mmon_slave模块使用了大量的cpu。这跟12c的新特性:自动报告捕捉特性有关。
在oracle 11g中引入了real-time sql monitor,用来实时监控sql的性能。
在12c中加强了对历史sql的监控功能,有点类似ash对历史信息的管理,自动报告捕捉特性使用后台进程mmon_slave去执行一些监控SQL,以辨别资源敏感型的SQL,并自动为这些SQL生成SQL Monitoring report。
这些SQL可以从(G)V$SQLSTATS得到。
监控SQL,mmon消耗了一点CPU,对于新特性来说,这是正常的行为。但是如果消耗cpu太多就需要关注了。当消耗过高的cpu时会报ORA-12850。
该特性可以用如下的语句来禁用:
SQL> alter system set "_report_capture_cycle_time"=0; /* Default is 60 seconds */ 注意:_report_capture_cycle_time=0 /* This is system modifiable with immediate */