【故障处理】- 11G expdp导出缓慢 + Streams AQ: enqueue blocked on low memory等待事件
【故障处理】- 11G expdp导出缓慢 + Streams AQ: enqueue blocked on low memory等待事件
- 一、概述
- 二、故障原因
- 三、解决方法
一、概述
该问题的数据库版本是11.2.0.4,执行expdp导出的时候,小表导出非常缓慢,同时有Streams AQ: enqueue blocked on low memory等待事件,等待时间也比较长。
二、故障原因
通过MOS搜索匹配到Bug 27634991 - Datapump Frequently Waits On 'Streams AQ: enqueue blocked on low memory' (Doc ID 27634991.8)。
根据文档描述,在Oracle 11.2.0.4,12.1,12.2,18版本下,在AMM或ASMM模式下,streams pool内存持久活动,会触发streams pool内存收缩,导致导出时间变长。可以通过查询查stream pool 是否存在收缩状态,来确认是否遇到该问题,返回值1表示 streams pool 处于收缩阶段。使用下面语句查询:
SQL> select shrink_phase_knlasg from X$KNLASG;
根据mos描述,确认触发了bug导致该问题。
三、解决方法
1、可在线操作:
手动强制完成stream pool 内存池空间收缩,临时规避该问题。
SQL> alter system set events 'immediate trace name mman_create_def_request level 6';
2、需要停机:
应用Bug补丁27634991,修复bug问题 。