mmon_slave執行監控的sql語句消耗大量cpu?


12.1的MMON的監控SQL消耗很高的CPU以及頻繁出現ORA-12850 或者 ORA-12751錯誤 (文檔 ID 2440137.1)

文檔內容


12.1版本中因為監控行為,導致 MMON 進程占用大量的 CPU。


 

適用於:

Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
Oracle Database Cloud Service - 版本 N/A 和更高版本
Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
本文檔所含信息適用於所有平台

症狀

  • 大量的 CPU 時間花費在 MMON_SLAVE 的執行監控的 SQL 語句:

    WITH MONITOR_DATA AS (SELECT INST_ID, KEY, NVL2(PX_QCSID, NULL, STATUS)STATUS,
    FIRST_REFRESH_TIME, LAST_REFRESH_TIME, REFRESH_COUNT, PROCESS_NAME, SID, SQL_ID,
    SQL_EXEC_START, SQL_EXEC_ID, DBOP_NAME, DBOP_EXEC_ID, SQL_PLAN_HASH_VALUE,
    SESSION_SERIAL#, SQL_TEXT, IS_FULL_SQLTEXT, PX_SERVER#, PX_SERVER_GROUP, PX_SERVER_SET,
    PX_QCINST_ID, PX_QCSID, CASE WHEN ELAPSED_TIME < (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CL
    ...;
     
  • 無論是 RAC 或非 RAC,在告警日志中會不斷出現ORA-12850的報錯,失敗的 SQL 語句都是基於 GV$SQL_MONITOR 的查詢。錯誤信息:

    Thu Sep 08 04:00:41 2016
    Errors in file /app/oracle/diag/rdbms/dbname/dbinstance/trace/dbinstance_m002_14490.trc:
    ORA-12850: Could not allocate slaves on all specified instances: 3 needed, 2 allocated

     

  • 在沒有使用並行時,也會有 ORA-12751的錯誤出現。



更改

數據庫升級到12.1

原因

12C 中引入 “自動捕獲報告” 的特性,該特性的其中一部分功能,MMON_SLAVE 進程會監控占用資源較多的 SQL,並且自動對這些 SQL 產生 SQL 監控報告。
作為新特性,這些SQL占用一定的CPU資源也是預期的。這些SQL可以在(G)V$SQLSTATS中查詢到。

如果相關的 SQL 占用太多的 CPU 資源,那么是不正常的,很可能是由於優化器使用了不好的執行計划引起。
可能是和12C的新特性“自適應查詢” 有關:

 

Document 2031605.1 Adaptive Query Optimization

 

解決方案

1,關閉“自動捕獲報告”的特性。

SQL> alter system set "_report_capture_cycle_time"=0; /* Default is 60 seconds */

上面的設置沒有任何負面影響,該設置只會關閉“自動捕獲報告”的特性,不會關閉原來的 SQ Monitor 的功能,SQL Monitor 的功能可以被正常使用。

或者

2,在 OS 層面殺掉 MMON_SLAVE 進程,sid和serial可以在 ASH 數據中獲得。

 注意:_report_capture_cycle_time=0 /* 該參數可以在數據庫立即修改 */

 

關於該問題在12.1.0.2版本下有一些已知的Bug,這些 bug 在12.1.0.2的最新PSU上都有修復,強烈建議應用12.1.0.2的最新 PSU。

Document 1924126.1 12.1.0.2 Patch Set Updates - List of Fixes in each PSU

  

參考

NOTE:21749315.8 - Bug 21749315 - ORA-600 [keomnReadBindsFromStream:magic]
BUG:24554937 - ORA-12850 WHILE MMON SLAVE AUTOMATIC REPORT FLUSH ACTION


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM