zoukankan      html  css  js  c++  java
  • Active Session History (ASH) Performed An Emergency Flush Messages In The Alert Log

     

    In this Document

      Symptoms
      Cause
      Solution

    This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 11.1.0.6 and later
    Information in this document applies to any platform.

    SYMPTOMS

    Periodically see the following message in the alert log.

    Active Session History (ASH) performed an emergency flush. This may mean that ASH is undersized. If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of _ASH_SIZE to a sufficiently large value. Currently, ASH size is <some value> bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query: select total_size,awr_flush_emergency_count from v$ash_info;

    CAUSE

    Typically some activity on system causes more active sessions, therefore filling the ASH buffers faster than usual causing this message to be displayed. It is not a problem per se, just indicates the buffers might need to be increased to support peak activity on the database.

    SOLUTION

    The current ASH size is displayed in the message in the alert log, or can be found using the following SQL statement.

    select total_size from v$ash_info;

    Then increase the value for _ash_size by some value, like 50% more than what is currently allocated.  For example if total_size = 16MB, then an increase of 50% more would be (16MB + (16MB * 50%)) = 24MB. 

    sqlplus / as sysdba
    alter system set "_ash_size"=25165824;

    You can verify the change using the following select:

    select total_size from v$ash_info;
     
     
     
    示例:
     
          生产环境告警日志:

       Active Session History (ASH) performed an emergency flush. This may mean that ASH is undersized. If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of     _ASH_SIZE to a sufficiently large value. Currently, ASH size is 16777216 bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query:
    select total_size,awr_flush_emergency_count from v$ash_info;

     
    查询及处理: 
     
    SQL> select total_size/1024/1024,awr_flush_emergency_count from v$ash_info;

    TOTAL_SIZE/1024/1024  AWR_FLUSH_EMERGENCY_COUNT
    --------------------                   -------------------------
            16                                                1

    SQL> alter system set _ash_size"=25165824;

    System altered.

    SQL> select total_size/1024/1024,awr_flush_emergency_count from v$ash_info;

    TOTAL_SIZE/1024/1024 AWR_FLUSH_EMERGENCY_COUNT
    --------------------              -------------------------
               24                                     2

     
  • 相关阅读:
    详细解读 DispatcherServlet 初始化过程(带时序图)
    从源码分析ContextLoaderListener的加载过程(带时序图)
    SpringMVC自带Cron定时器Demo及常见问题
    win7系统用sqlyog连接不上docker启动的mysql数据库
    使用maven-Jetty9-plugin插件运行第一个Servlet
    Maven项目+内嵌tomcat+Servlet
    Maven依赖的scope属性(附官方文档)
    使用 Intellij IDEA 新建一个 Servlet 项目
    在 Tomcat 上部署你的第一个 Servlet 应用
    关于JAVA的垃圾回收机制
  • 原文地址:https://www.cnblogs.com/velion-oracle/p/5174481.html
Copyright © 2011-2022 走看看