前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过addm分析io问题(r2笔记64天)

通过addm分析io问题(r2笔记64天)

作者头像
jeanron100
发布2018-03-14 16:11:00
5350
发布2018-03-14 16:11:00
举报

昨晚在做测试环境数据迁移的时候,遇到了io的问题,本来预计2,3个小时完成的数据导入工作最后竟然耗了7个多小时。在数据的导入中,使用了10个并行的session,每个session都启用的并行度为8,在表级,索引级都做了nologging设置,在insert的时候使用了append模式,结果本来数据的导入还是比较顺利的,突然在8点左右开始就一下子直线下降。 在使用top命令查看进程的使用情况时,留意到rman的一些进程正在运行。但是大晚上的哪找客户的人来确认这个,使用dd来测试io的性能,创建一个200M的文件,不到1秒钟,还是比较快的。 但是可以看到iowait很高。 这个问题造成的影响还是比较严重的,因为目前为止还没有完全确定问题的根源,如果是后台的一些进程在运行,影响到底有多少,还没有估量,但是可以明显的看到数据库是不给力的,undo的空间到后面的数据导入中不仅足够充裕,还不断释放一些空间,让人感觉很郁闷,但是又插不上什么手。 下午的时候,和客户的存储部门,unix部门等的人一起开会,大家都列除了昨晚的一些问题总之就是发现了问题,但是因为那个段知道的动作就是我们在做数据导入,还没法确定到底是不是他们的问题。所以大家虽然能够列出一些图表数据,说明问题但是还是没有能够明确的定位问题。 我拿出了数据库层面反应数据库繁忙程度的一个指标,redo的切换率,在周一做的一次数据迁移中,redo在一个小时甚至达到了200多次。redo日志是1个G左右的样子。

代码语言:javascript
复制
DBNAME    TIME_STAMP
--------- --------------------
PRODB   2014-Aug-14 23:09:09
    GROUP#    THREAD#  SEQUENCE#    MEMBERS    SIZE_MB ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
         1          1       3389          2       1024 YES INACTIVE
         2          1       3390          2       1024 YES INACTIVE
         3          1       3391          2       1024 NO  CURRENT
         4          1       3388          2       1024 YES INACTIVE
代码语言:javascript
复制
Redo Switch times per hour                                              PRODB                                                   2014-Aug-14 23:09:09
MON DA   00   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16   17   18   19   20   21   22   23
--- -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
07  31    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1    1    5    1    0    4    1    0    0    2
08  01   35   51   19    0    0    1    0    0    1    0    1    4    2    1    2    9    5    4    3    4    3    2    2    2
08  02    1    1    1    8    0    1    0    1    1    1    1   11    0    0    1    0    0    1    0    0    1    0    0    1
08  03    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    2    2    3    1    0    0    1
08  04    0    0    1    0    0    1    0    0    1    0    0    1    1    1    3    3    2    3    1    1    1    0    0    1
08  05    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1
08  06    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1
08  07    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    4    6    1    0    0    1
08  08    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1   14    0    7    2    0    3    0    1    1
08  09    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    1    0    1    0    0    1
08  10    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1
08  11    0    0    1    0    0    1    0    0    1    0  109  207   34    0    1    0    0    1    0    0    1    0    0    1
08  12    0    1    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1
08  13    0    0    1    0    0    1    0    0    1    0    0    1    0    0    1    0    1   24  123   65   25   22   22   19
08  14   22   29   30   25   21   16    0    0    1   27   42    1    0    0    2   22    2    5    5    5    4    5    3    0

但是在昨晚的时候,简直是惨淡。到后面自己都不忍看这个速度了,眯了好一会,还在慢慢的做数据导入。 我提到了rman的影响,但是似乎客户那边还不是很确定是这个问题影响的。因为据他们说之前一直没有碰到过io的问题,上一次做数据导入的时候还是在白天,更不能说明了。 在大家都有依据,但是没有方向的,听听oracle怎么说,得到一个详尽的addm报告,然后就可以看到里面清晰的分析了io的一些问题,有很大一部分是由于rman导致的。 亮点是最后两处。

代码语言:javascript
复制
Finding 8: I/O Throughput
Impact is .8 active sessions, 2.23% of total activity.
------------------------------------------------------
The throughput of the I/O subsystem was significantly lower than expected.
   Recommendation 1: Host Configuration
   Estimated benefit is .8 active sessions, 2.23% of total activity.
   -----------------------------------------------------------------
   Action
      Consider increasing the throughput of the I/O subsystem. Oracle's
      recommended solution is to stripe all data files using the SAME
      methodology. You might also need to increase the number of disks for
      better performance.
   Rationale
      During the analysis period, the average data files' I/O throughput was
      61 M per second for reads and 42 M per second for writes. The average
      response time for single block reads was 1.3 milliseconds.
   Recommendation 2: Host Configuration
   Estimated benefit is .27 active sessions, .76% of total activity.
   -----------------------------------------------------------------
   Action
 Consider slowing down RMAN or Data Pump activity, or scheduling these
      jobs when user activity is lower.
   Rationale
 The I/O throughput on data and temp files was divided as follows: 34% by
      RMAN, 0% by Data Pump, 0% by Recovery and 65% by all other activity.
   Symptoms That Led to the Finding:
   ---------------------------------
      Wait class "User I/O" was consuming significant database time.
      Impact is 12.58 active sessions, 35% of total activity.

有了这些分析,也有了一些说服力,他们开始查找问题发生的那个时间段的一些可能影响,结果网路组的人发现从8点开始网络带宽消耗异常的高。但是我们做数据导入是不依赖网络的。 然后他们继续排查,备份组发现设置了crontab,从8点开始会做备份到磁带库中。 问题一下子有了一种峰回路转的感觉。最后一定位,在结合一些相关的数据来做分析,道理就说得通了。 在有些场合中,官方的报告要好于一些主观的数据分析。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档