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/