Saturday, 26 November 2016

(ASH) performed an emergency flush


Alert :- Active Session History (ASH) performed an emergency flush. This may mean that ASH i
             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 50331648 bytes.

 
 Cause :-  Suddenly increased load on the database , and more active sessions are established   
                because  of this oracle unable to maintain active sessions information in ASH buffer
                hence oracle perform ASH emergency flush for the time being fixing the issue internally.
                During internal process oracle will not allowing to make SQLPLUS    
                connection (SQLPLUS connection may get hanged)

Solution :- If you are frequently gettting the same alert in alert log then consider the increasing the  
                   size of ASH buffer using hidden parameter "_ASH_SIZE" reference MOS doc 1385872.1
                   I would suggest please concern with oracle support before going to change the values of  
                  "_ASH_SIZE" hidden parameter
           
Query to check ASH size and total number of emergency flushes happened :

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


 Hope this article help you.

===================      Thank you                   ============================