使用客戶端連接到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 */