Oracle性能优化之'Streams AQ: enqueue blocked on low memory'等待事件
问题背景:
客户反馈2g的数据导出需要2.5小时,采用expdp方式导出 (12c)
问题解决:
1> 获取备份时间的awr报告
根据awr报告显示如下
参考
EXPDP And IMPDP Slow Performance In 11gR2 and 12cR1 And Waits On Streams AQ: Enqueue Blocked On Low Memory (文档 ID 1596645.1)
查看streams_pool_size值大小
SQL> show parameter streams
NAME TYPE VALUE
------------------------------------ --
streams_pool_size big integer 0
此为自动共享内存管理,查看实际大小
sql如下:
select x.ksppinm name,y.ksppstvl value,x.ksppdesc describ
from sys.x$ksppi x,sys.x$ksppcv y3 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_size实际值大小为32M,调整为150M
调整为150m
ALTER SYSTEM SET STREAMS_POOL_SIZE=150M SCOPE=BOTH;
发现导出还是慢,
重启数据库后尝试导出迅速,时间由之前的2.5小时缩短为10分钟
(scope=both这里还是要重启)
文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。