expdp 导出缓慢
查询等待事件,目前导出的等待事件是:
select inst_id,sql_id,event,count(*)
from gv$session where wait_class<>'Idle'
group by inst_id,sql_id,event
order by count(*) desc;
INST_ID EVENT COUNT(1)
---------- ---------------------------- ----------
1 Streams AQ: enqueue blocked on low memory 2
这是一个BUG 27634991中由 Development 解决- EXPDP 经常等待“STREAMS AQ:ENQUEUE BLOCKED ON LOW MEMORY”,从 19.1 开始修复。 参考文档 MOS 2386566.1
检查SHRINK_PHASE_KNLASG值
SQL> select shrink_phase_knlasg from X$KNLASG;
SHRINK_PHASE_KNLASG
-------------------
1
1 该值表示 streams pool 处于收缩阶段。当 streams pool 完成收缩时,该值应返回“0”,但如果它一直返回“1”,则您可能遇到此问题。
解决办法: 1.如果由于“StreamsAQ: enqueue blocked on low memory”等待事件在 expdp/impdp 命令中出现严重减速,并且 X$KNLASG.SHRINK_PHASE_KNLASG 列持续返回 1 几分钟,请从 sqlplus 运行以下命令以强制流池收缩完成.
connect / as sysdba
alter system set events 'immediate trace name mman_create_def_request level 6';
2.可以应用补丁 27634991来防止发生此问题。
标签:expdp,导出,SHRINK,PHASE,缓慢,id,KNLASG From: https://blog.51cto.com/u_13482808/6361585