MMON進程手工啟動


手工啟動MMON進程

 

1. 故障現象

#某帥哥接到業務人員反映系統緩慢,RAC環境

#生成AWR報告發現節點1沒有數據

#查詢快照視圖,發現只有節點1沒有快照記錄,節點2正常存在快照記錄

SYS > select INSTANCE_NUMBER,count(*) from dba_hist_snapshot group by INSTANCE_NUMBER;

 

#思考:如果兩個節點都沒有快照,考量的方向可能原因:快照關閉了

【#查詢視圖

SYS > select * from dba_hist_wr_control;

      DBID SNAP_INTERVAL        RETENTION            TOPNSQL
---------- -------------------- -------------------- ----------
 754170409 +40150 00:00:00.0    +00008 00:00:00.0    DEFAULT

#關閉awr快照命令

SYS > begin DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(11520,0); end;

#調整快照間隔30分鍾及保留5天

exec dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>5*24*60); 】

 

 

#通過查詢MMON進程發現,在節點一的系統上,沒有MMON進程服務,因此判斷,由於MMON進程未正常啟動,導致AWR快照無法生成,缺失快照信息

 ps -ef|grep mmon |grep -v grep

 

2. 什么是MMON進程

管理監控進程 MMON||MMOL

MMON通過AWR間隔時間,將視圖信息寫入快照中

MMIL通過AWR間隔時間,將緩沖區中ASH寫滿,寫入磁盤中

 

3. 模擬MMON進程缺失

[root@enmo ~]#  ps -ef|grep mmon |grep -v grep

oracle   16947     1  0 Apr13 ?        00:00:08 ora_mmon_ENMO

 

#KILL MMON進程

[root@enmo ~]# kill -9 16947

[root@enmo ~]#  ps -ef|grep mmon |grep -v grep

#手工創建一個快照

SYS > begin

     dbms_workload_repository.create_snapshot();

    end;

    /

 

PL/SQL procedure successfully completed.

#再次查詢進程

[root@enmo ~]#  ps -ef|grep mmon |grep -v grep --並未啟動

 

4. 手工啟動MMON進程

SYS > alter system enable restricted session;

[root@enmo ~]#  ps -ef|grep mmon |grep -v grep

oracle   21960     1  0 20:18 ?        00:00:00 ora_mmon_ENMO

SYS > alter system disable restricted session;

[root@enmo ~]#  ps -ef|grep mmon |grep -v grep

oracle   21960     1  0 20:18 ?        00:00:00 ora_mmon_ENMO

 

 

#如果能重啟數據庫,重啟集群,重啟系統都可以實現,但是操作細膩度最小,執行上述操作


免責聲明!

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



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