본문 바로가기

Oracle/Oracle 오류기타

Active Session History (ASH) performed an emergency flush

Alert Log에 아래와 같은 메세지가 찍혔다.

<msg time='2013-09-27T09:49:43.403+09:00' org_id='oracle' comp_id='rdbms'

 msg_id='kewa_eflush_cb:4334:2772171331' client_id='' type='NOTIFICATION'

 group='ash' level='16' host_id='호스트아이디'

 host_addr='호스트아이피' module='MMON_SLAVE' pid='21117'>

 <txt>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 167772160 bytes. Both ASH size and the total number of emergency flushes sin

ce instance startup can be monitored by running the following query:

 select total_size,awr_flush_emergency_count from v$ash_info;

 </txt>


ASH BUFFER에 담긴 데이터가 이~멀전씨하게 플러시가 되어서 메세지를 남긴것 같은데~ 관련 사항을 조사함.

1. 위 메세지대로 v$ASH_INFO 의 TOTAL_SIZE 확인

SELECT TOTAL_SIZE FROM V$ASH_INFO;


2. 어찌하였든 버퍼니까 어딘가 메모리에 올릴것이다 어디에 올릴까 SGA일것인데 그래서 SGASTAT 뒤져보다.

SELECT *FROM V$SGASTAT WHERE BYTES = (SELECT TOTAL_SIZE FROM V$ASH_INFO);


SQL> SELECT *FROM V$SGASTAT WHERE BYTES = (SELECT TOTAL_SIZE FROM V$ASH_INFO);

POOL         NAME                            BYTES

------------ -------------------------- ----------

shared pool  ASH buffers                 167772160

SQL>


3. SGA 중에 SHARED POOL 을 씀을 확인후 설정한값을 고려하여 사이즈를 적절히 늘려줬다.

- 설정된 사이즈중에 저놈만 일치했고 관련 용어가 저놈임을 확실하다라고 판단!

SQL> alter system set "_ash_size"=251658240 scope=both;

System altered.

SQL> select total_size,awr_flush_emergency_count from v$ash_info;

TOTAL_SIZE AWR_FLUSH_EMERGENCY_COUNT

---------- -------------------------

 251658240                         9

SQL> SELECT *FROM V$SGASTAT WHERE BYTES = (SELECT TOTAL_SIZE FROM V$ASH_INFO);

POOL         NAME                            BYTES

------------ -------------------------- ----------

shared pool  ASH buffers                 251658240

SQL> 


4. 완료.

현재 DB서버의 여러가지 성능테스트중이어서 짧은시간에 쌓이는 정보들이 많아서 또한 최대 성능을 테스트하기위해서 세션들이
우르르 붙어서 작업을 하다보니 데이터가 많아지나보다 버퍼에 다 못올렸겠지라고 생각되며 오라클이 
아~~~ 절라 이멀전씨하다~ 플러시! 
이래서 플러시 되느라 메세지가 찍혀진것같다.