暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle expdp 导出异常卡慢

老揣的瓜皮日常 2021-07-20
2675


经同事反映,某天数据泵导出用户STANDDB数据很慢:

查看当时的AWR报告:



参考:

参考 EXPDP And IMPDP Slow Performance In 11gR2 and 12cR1 And Waits On Streams AQ: Enqueue Blocked On Low Memory (文档 ID 1596645.1)

参考 Datapump Expdp Or Impdp Slowdown Due To Frequent Waits On ”Streams AQ: Enqueue Blocked On Low Memory" (Doc ID 2386566.1)

查看streams_pool_size

查看memory,及SGA ,

从内存上可以看出此数据库为AMM自动内存管理 ;

查看当前的stream_pool 实际大小:可以看到有134M,应该是够用的,那么应该是自动收缩了。

col name for a40 

col value for a40

col describ for a40
select x.ksppinm name,y.ksppstvl value,x.ksppdesc describ
from sys.x$ksppi x,sys.x$ksppcv y
where x.inst_id=userenv('Instance')
and y.inst_id=userenv('Instance')
and x.indx=y.indx
and x.ksppinm like '%streams_pool%';

查看收缩状态:即使 streams pool 已经结束收缩,该标志也没有被修改,这导致各种 stream pool 操作(例如数据泵的内部操作)等待 "StreamsAQ: enqueue blocked on low memory"。

 select shrink_phase_knlasg from x$knlasg;

SHRINK_PHASE_KNLASG
-------------------
1

该问题是由于Bug 27634991引起的,在版本19.1及更高版本中修复了该问题

可以手动执行:

alter system set events 'immediate trace name mman_create_def_request level 6';

将会强制执行streams_poll的收缩。

Two important information:

1. Select shrink_phase_knlasg from X$KNLASG; Will return 1 if the stream pool is shrinking and return 0 if such action is finished.
2. Alter system set events 'immediate trace name mman_create_def_request level 6'. Will force to complete the stream pool shrink.


         


文章转载自老揣的瓜皮日常,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论