zoukankan      html  css  js  c++  java
  • 由于频繁等待 ”Streams AQ: Enqueue Blocked On Low Memory" 而导致Datapump Expdp或Impdp变慢 (Doc ID 2469587.1)

    症状

    Datapump导出和导入(expdp和impdp)可能会遇到突然严重的性能问题,因为DW和DM进程经常等待 "StreamsAQ: enqueue blocked on low memory"。

    以下是expdp logtime = all命令的示例症状。 (logtime 参数在 12.1 及以上版本可用) 
    导出空分区表需要0-3秒才能导出每个分区,而正常时通常需要不到一秒的时间。


    11-APR-18 18:02:26.726: Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
    11-APR-18 18:02:37.672: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME1>" 0 KB 0 rows
    11-APR-18 18:02:40.677: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME2>" 0 KB 0 rows
    11-APR-18 18:02:42.686: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME3>" 0 KB 0 rows
    11-APR-18 18:02:45.699: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME4>" 0 KB 0 rows
    11-APR-18 18:02:48.702: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME5>" 0 KB 0 rows
    11-APR-18 18:02:50.712: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME6>" 0 KB 0 rows
    11-APR-18 18:02:53.724: . . exported "<SCHEMA_NAME>"."<TABLE_NAME>":"<PART_NAME7>" 0 KB 0 rows

    更改

    在Auto SGA环境(设置了sga_target或memory_target)下,当 buffer cache 负载较高并且 streams pool 中的内存正被移动到 buffer cache 时,可能会发生此问题。

    如果遇到类似的性能问题时,请检查以下查询是否一直返回“1”。该值表示 streams pool 处于收缩阶段。当 streams pool 完成收缩时,该值应返回“0”,但如果它一直返回“1”,则您可能遇到此问题。

    SQL> select shrink_phase_knlasg from X$KNLASG;

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

    原因

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

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


     

    解决方案

    如果由于“StreamsAQ: enqueue blocked on low memory”等待事件导致expdp / impdp命令出现严重性能问题,并且X$KNLASG.SHRINK_PHASE_KNLASG 列保持返回1并持续几分钟,则从sqlplus运行以下命令强制streams pool缩小完成。

    connect / as sysdba
    alter system set events 'immediate trace name mman_create_def_request level 6';


    可以应用Patch 27634991以防止发生此问题。

    如果您的问题不只是性能变差,而是在 "StreamsAQ: enqueue blocked on low memory" 等待中hang或spin,则可能是以下错误之一所引起

  • 相关阅读:
    PHP的资源类型
    windows 配置 apache的多个站点
    php 压缩数据存储
    php统计图类库JpGraph
    php之ThinkPHP的memcached类的修改
    linux 安装报错:pkg-config not found
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    【MySQL】查看MySQL配置文件路径及相关配置
    phper
    http 同步异步请求
  • 原文地址:https://www.cnblogs.com/muzisanshi/p/13391106.html
Copyright © 2011-2022 走看看