EXPDP Streams AQ: enqueue blocked on low memory
有一台11.2.0.4的库最近expdp导出非常慢,总是停留在99%以后还要持续2个多小时,还有另外一台同版本的数据库也碰到了类似的情况。
| 1 | Job: SYS_EXPORT_SCHEMA_01 | 
当前导出的对象都是一些空的分区,查询导出任务是否在等待
| 1 | SQL> select dw.waiting_session, | 
等待显示导出队列在等待与streams相关的内存,在sga中就是streams pool,查看当前streams pool的使用情况
| 1 | select component | 
因为这个库设置了sga_target,相关组件的内存大小分配是由oracle自动来控制的,所以可能碰上了bug。
Workaround:
- 重启数据库,通常能解决这个问题
- 修改参数,设定streams_pool_size的最小值
| 1 | CONNECT / as sysdba | 
- 如果无法动态调整,则需要重启
| 1 | CONNECT / as sysdba | 
- 
    打补丁Patch 17365043
 或者修改隐含参数
| 1 | alter system set "_disable_streams_pool_auto_tuning"=TRUE; | 
做完以后重新执行datapump任务。
EXPDP Streams AQ: enqueue blocked on low memory
      https://www.xbdba.com/2019/05/31/expdp-streams-aq-enqueue-blocked-on-low-memory/