Oracle-RAC两个节点的EXPDP导出效率差距过大

背景:

expdp导入时加入METRICS=y参数,观察每一步导出所消耗的时间,发现两个节点导出同一个对象,每一步骤所花的时间都差距很多,最后一节点消耗了6分钟,二节点消耗了18s

观察导出时的等待事件,可以发现1节点有大量的Streams AQ: Enqueue Blocked On Low Memory(流池收缩的等待),而在二节点导出时,该等待事件只有一条

在这里插入图片描述

这是因为触发了Bug 27634991 - Datapump Frequently Waits On ‘Streams AQ: enqueue blocked on low memory’ (Doc ID 27634991.8) 在版本19.1及更高版本中修复了该问题

在导出时,反复查询视图,一直返回1,说明stream一直处于收缩阶段,导致expdp一直处于等待状态,只有返回0时才表示完成收缩

select shrink_phase_knlasg from X$KNLASG;

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

通过以下命令强制结束


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


SQL> select shrink_phase_knlasg from X$KNLASG;
 
SHRINK_PHASE_KNLASG
-------------------
0

导出恢复正常速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值