某DG库磁盘IO性能问题之根因探究

来源:这里教程网 时间:2026-03-03 19:39:59 作者:

一、故障描述

用户某套业务系统 DG数据库,每天晚上1 0 点左右至第二天早上 8点,通过监控平台可以明显发现该服务器I / O读写速率指标相对于其他时间段出现明显暴增,峰值高达6 00 M/ S 左右。

二、根因分析

通过在异常时间段内抓取消耗 IO过高的进程号,并通过相关进程号进一步获取该进程所对应的数据库相关信息,比如:执行的S QL 语句,得到结果如下:

通过获取到的信息可知,该语句是由 READUSER 用户在数据库服务器 1节点上发起的查询,登录 1 节点服务器后对该语句进一步分析。

该语句是由 1 节点服务器的数据库定时任务模块 DBMS_SCHEDULER 发起,具体动作为 ORA$AT_SQ_SQL_SW_3218 。通过分析该时间段内的定时任务及活动信息,如下所示:

该会话是有 Oracle  11 g新特性sql  tuning advisor 所调度执行,该新特性 Oracle的SQL优化补助工具,从O racle  10g开始,数据库采取了很多智能化的管理工作,其中SQL优化器大大的提高了DBA进行SQL优化的效率。它获取AWR报告中High-Load SQL,查询优化器在调优模式下生成一个最好的执行计划,从而实现SQL调优的目的。

三、解决方案

针对这类问题,通常的做法是禁用相关的特性,来避免影响进一步扩大。就好比数据库系统上线之前,针对 1 2C 1 9C 或者更高版本,很多用户会咨询 Oracle原厂或第三方服务公司,需要禁用的新特性有哪些 实践又需要怎么设置。用户有这些需求很容易理解,在他们的视角,需要尽可能保障系统的稳定性。

本案例中,关闭sql  tuning advisor 特性后,持续观察未再次发现交易DG备库I/O异常现象。

特性禁用操作,参考如下: begin   dbms_auto_task_admin.disable(   client_name=>'sql tuning advisor',   operation => NULL,   window_name=> NULL);  end;

相关推荐