다른 명령
ash size 변경
- 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 17000944 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;
발생원인
- Active session 증가에 따른 ASH 버퍼 부족
- 시스템의 일부 활동으로 인해 더 많은 Active session이 발생하여 ASH 버퍼를 평소보다 빠르게 채우면 alert log에 위 메시지가 표시됨
- 메세지 그 자체는 문제가 아니며 데이터베이스에서 최대 활동을 지원하기 위해 버퍼를 늘려야 할 수도 있음
버전별 최대 사이즈
- 11g 이하에서 "_ash_size"의 설정 가능한 최대 크기는 254MB(즉, 2MB 크기의 127개 청크)
- 12c 이상에서 "_ash_size"의 설정 가능한 최대 크기는 254MB 이상
- "_ash_size" 를 더 높은 값을 설정할 수 있지만 내부적으로 254MB로 조정됨
- 254MB 이상의 값으로 설정하면 ORA-2097 메세지가 발생
-- 400MB로 설정 시 SQL> alter system set "_ash_size"=419430400;alter system set "_ash_size"=419430400 * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-02097: parameter cannot be modified because specified value is invalid
- ORA-2097 메세지가 발생함