• Oracle如何重启mmon/mmnl进程(AWR自动采集)


    环境:Oracle 11.2.0.4 RAC
    现象:sysaux空间满导致无法正常生成快照,清理空间后,手工生成快照可以成功,但是观察自动生成快照依然是不成功。
    之前了解到awr对应的相关后台进程是mmon,那么如何重启这个mmon进程呢?
    起初我误以为是这种非核心进程是kill掉会自动启动,实际在实验环境中测试发现杀掉mmon进程并不会再自动起来。
    那想启动mmon进程难道要重启数据库吗?当然,重启数据库自然是可以实现重启mmon的目的,但是这对于绝大多数的生产环境来说,如果为这样的需求去申请重启数据库都是几乎不可接受的。
    下面我在实验环境做一个实际的演示:

    当前节点mmon进程的信息如下:

    [oracle@db01 ~]$ ps -ef|grep _mmon|grep -v grep
    grid      5471     1  0 Dec13 ?        00:00:07 asm_mmon_+ASM1
    oracle    7476     1  0 12:09 ?        00:00:05 ora_mmon_orcl1
    

    正确重新启动mmon的方法是在业务闲时启用restricted模式,再立马禁用:

    alter system enable restricted session;
    alter system disable restricted session;   
    

    为了尽可能的减少设置restricted模式带来的影响,所以建议最好两个语句一起复制执行。
    Tips:启用restricted模式后,应用新连接数据库的会话将直接报错ORA-12526无法连接,直到禁用restricted模式后才可以恢复,具体现象如下:

    [oracle@rac1-server ~]$ sqlplus jingyu/jingyu@192.168.1.107/orcl
    
    SQL*Plus: Release 10.2.0.5.0 - Production on Fri Dec 14 15:33:58 2018
    
    Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
    
    ERROR:
    ORA-12526: TNS:listener: all appropriate instances are in restricted mode
    

    再去观察mmon进程已经正常重启:

    [oracle@db01 ~]$ ps -ef|grep _mmon|grep -v grep
    grid      5471     1  0 Dec13 ?        00:00:07 asm_mmon_+ASM1
    oracle   15298     1  0 15:33 ?        00:00:00 ora_mmon_orcl1
    

    可以看到,ora_mmon_orcl1进程的启动时间由12:09变为15:33,说明是已经成功重启了。再去观察自动生成快照已经正常。
    补充说明:
    后续了解到,其实除了mmon进程外,还有一个mmnl进程也是随着一起重启的。
    关于这两个进程和awr的具体关系描述,可以参考eygle的文章,引用如下:

    在Oracle10g中,有两个后台进程是新增的,这里我想说的是MMON和MMNL。

    在Oracle不同的文档中,对这两个进程的解释存在歧义。
    MMON 应该是 Memory Monitor 的缩写,但是在有的文档中被记录为Manageability Monitor ,这应当是10g早期版本中的称呼,只不过后来发生了变更。
    这个进程的主要作用如下:
    The memory monitor (MMON) process was introduced in 10g and is associated with the Automatic Workload Repository new features used for automatic problem detection and self-tuning. MMON writes out the required statistics for AWR on a scheduled basis.
    另外一个进程是 MMNL ,是 Memory Monitor Light (MMNL) 的缩写,在部分文档中记录为 Manageability Monitor Light .
    这个进程的作用如下:
    The Memory Monitor Light (MMNL) process is a new process in 10g which works with the Automatic Workload Repository new features (AWR) to write out full statistics buffers to disk as needed.

    可以看到,mmon和mmnl这两个后台进程在Oracle 10g就已经随着AWR一起引入,作用都与awr自动收集相关。

  • 相关阅读:
    Python进程、线程
    Maven项目的坐标GroupId和ArtifactId
    java中的变量
    java中new一个对象的执行过程及类的加载顺序
    java中string和int互相转化
    什么是设计模式?
    Mybatis解决了JDBC编程哪些问题
    SQL注入、占位符拼接符
    JDBC、事务和连接池
    关于Spring配置文件xml文档的schema约束
  • 原文地址:https://www.cnblogs.com/jyzhao/p/10119854.html
Copyright © 2020-2023  润新知