通过详细的10046 trace发现,大量的io等待分布在以下数据文件上:
Misses in library cache during parse: 0
Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net more data from client                  47        0.00          0.00
  db file sequential read                      1396        1.40         69.48
通过查看发现其中file#=后面的文件号对应的数据文件分别为:
WAIT #3: nam='SQL*Net more data from client' ela= 97 driver id=675562835 #bytes=5 p3=0 obj#=-1 tim=2087739809552
WAIT #3: nam='db file sequential read' ela= 9787 file#=203 block#=65516 blocks=1 obj#=139501 tim=2087739819840
WAIT #3: nam='db file sequential read' ela= 29250 file#=88 block#=903826 blocks=1 obj#=139503 tim=2087739849887
WAIT #3: nam='db file sequential read' ela= 14184 file#=86 block#=262556 blocks=1 obj#=139503 tim=2087739864826
WAIT #3: nam='db file sequential read' ela= 62924 file#=89 block#=914843 blocks=1 obj#=139503 tim=2087739927918
WAIT #3: nam='db file sequential read' ela= 30286 file#=86 block#=788126 blocks=1 obj#=139505 tim=2087739959072
WAIT #3: nam='db file sequential read' ela= 12197 file#=85 block#=346836 blocks=1 obj#=139505 tim=2087739971677
WAIT #3: nam='db file sequential read' ela= 19443 file#=89 block#=825411 blocks=1 obj#=139505 tim=2087739991255
WAIT #3: nam='db file sequential read' ela= 73414 file#=89 block#=378855 blocks=1 obj#=139505 tim=2087740064903
WAIT #3: nam='db file sequential read' ela= 25007 file#=87 block#=279733 blocks=1 obj#=139505 tim=2087740090218
WAIT #3: nam='db file sequential read' ela= 34222 file#=86 block#=349231 blocks=1 obj#=139505 tim=2087740124718
WAIT #3: nam='db file sequential read' ela= 12976 file#=87 block#=639786 blocks=1 obj#=139505 tim=2087740137987
WAIT #3: nam='db file sequential read' ela= 42800 file#=87 block#=277869 blocks=1 obj#=139505 tim=2087740180951
WAIT #3: nam='db file sequential read' ela= 26248 file#=203 block#=39292 blocks=1 obj#=139505 tim=2087740207500
WAIT #3: nam='db file sequential read' ela= 16534 file#=88 block#=75324 blocks=1 obj#=139505 tim=2087740224369
WAIT #3: nam='db file sequential read' ela= 14318 file#=87 block#=276944 blocks=1 obj#=139505 tim=2087740238924
WAIT #3: nam='db file sequential read' ela= 10609 file#=15 block#=50567 blocks=1 obj#=139505 tim=2087740249666
WAIT #3: nam='db file sequential read' ela= 15451 file#=86 block#=349898 blocks=1 obj#=139505 tim=2087740265319
WAIT #3: nam='db file sequential read' ela= 41652 file#=89 block#=766147 blocks=1 obj#=139505 tim=2087740307199
WAIT #3: nam='db file sequential read' ela= 24658 file#=86 block#=352515 blocks=1 obj#=139505 tim=2087740332184
WAIT #3: nam='db file sequential read' ela= 18741 file#=87 block#=408687 blocks=1 obj#=139505 tim=2087740351201
WAIT #3: nam='db file sequential read' ela= 13814 file#=87 block#=213143 blocks=1 obj#=139505 tim=2087740365202
WAIT #3: nam='db file sequential read' ela= 19805 file#=85 block#=809539 blocks=1 obj#=139505 tim=2087740385174
WAIT #3: nam='db file sequential read' ela= 84448 file#=88 block#=648443 blocks=1 obj#=139505 tim=2087740469831
WAIT #3: nam='db file sequential read' ela= 19118 file#=14 block#=49758 blocks=1 obj#=139505 tim=2087740489121
WAIT #3: nam='db file sequential read' ela= 18210 file#=85 block#=260618 blocks=1 obj#=139505 tim=2087740507502
WAIT #3: nam='SQL*Net more data from client' ela= 50 driver id=675562835 #bytes=1 p3=0 obj#=139505 tim=2087740508284
WAIT #3: nam='db file sequential read' ela= 16073 file#=203 block#=65574 blocks=1 obj#=139501 tim=2087740524783
 
 
综上所属,通过详细的10046 trace中可以看到,在一条数据插入时会写入5到8个不同的数据文件,原因为oracle会在此表空间中寻找可用块,这些块不一定连续,因此硬盘寻道会话费大量的时间因此造成大量的db file sequential read等待事件。因此本月余下的几天会持续出现导入数据慢的问题,预计在下个月份使用新的表空间时问题会得到缓解。

记一次insert因为db file sequential read影响性能导致性能原因的分析的更多相关文章

  1. oracle之 db file sequential read等待事件优化思想

    为什么db file sequential read事件在full table scan操作中显现,为什么在多块读中为什么会有单块读存在 ? extent的大小 :当扩展区中的最后一组块仅是1个块,o ...

  2. 何时会发生db file sequential read等待事件?

    很多网友对系统内频繁发生的db file sequential read等待事件存有疑问,那么到底在那些场景中会触发该单块读等待事件呢? 在我之前写的一篇博文<SQL调优:Clustering ...

  3. 模拟等待事件:db file sequential read

    相关知识: db file sequential read  单块读 optimizer_index_cost_adj 这个初始化参数代表一个百分比,取值范围在1到10000之间.该参数表示索引扫描和 ...

  4. 常识之外:全表扫描为何产生大量 db file sequential read 单块读?

    原创 2016-07-05 熊军 Oracle   编辑手记:在理解Oracle技术细节时,我们不仅应该读懂概念,还要能够通过测试验证细节,理解那些『功夫在诗外』的部分,例如全表扫描和单块读. 开发人 ...

  5. db file sequential read (数据文件顺序读取)

    转载:http://www.dbtan.com/2010/04/db-file-sequential-read.html db file sequential read (数据文件顺序读取): db ...

  6. 全表扫描出现db file sequential read

    SESSION 1执行 SQL> update test1 set id=1000; SESSION 2 : select * from test1 如果表上面有大量的行迁链接,会是单块读等待事 ...

  7. 等待事件--db file sequential read

    对于最小化db file sequential read 事件所带来的影响,你可以做的另一件事情是减少AVERAGE_WAIT时间. 这是会话必须等待从磁盘提取单块的平均时间,这些信息可以从v$ses ...

  8. db file sequential read等待事件的一点研究

    db file sequential read等待事件有3个参数:file#,first block#,和block数量. 这个等待事件有3个参数P1,P2,P3, 其中P1代表Oracle要读取的文 ...

  9. 全表扫描引发的db file sequential read

    今天我要做一个SQL调优,监控该SQL, 利用ASH 监控 该SQL是在sid=4848 上面跑的 db file sequential read等待事件有3个参数:file#,first block ...

随机推荐

  1. Robot Framework(Collections 库)

    Collections 库 Collections 库同样为Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加:

  2. 判断文本(text_to_be_present_in_element)

    判断文本 在做结果判断的时候,经常想判断某个元素中是否存在指定的文本,如登录后判断页面中是账号是否是该用户的用户名.在前面的登录案例中,写了一个简单的方法,但不是公用的,在 EC 模块有个方法是可以专 ...

  3. OC SEL (@selector) 原理及使用总结(转)

    SEL 类成员方法的指针 可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应 ...

  4. JavaScript 函数用途

    在JavaScript中,函数可以:被赋值给一个变量,被赋值为对象的属性.作为参数被传入别的函数.作为函数的结果被返回.用字面量来创建. 1. 赋值给一个变量 //声明一个函数,接受两个参数 func ...

  5. C#(Winform)禁用TextBox控件的鼠标事件

    1. 继承TextBox,然后重写父类的部分方法,核心代码如下 public class MyTextBox : TextBox { protected override void WndProc(r ...

  6. Struts2 入门介绍(一)

    一.什么是Struts2 1.Struts2是一个开发框架,应用于JavaEE三层架构中的web层. 2.Struts2框架是在Struts1和webwork基础上发展的一个全新的框架. 3.Stru ...

  7. Java绘制图片并进行合成

    以下代码可以生成六行两列的图片,代码改成了可以接受参数可循环的. package com.xgt.util; import com.sun.image.codec.jpeg.JPEGCodec; im ...

  8. Golang教程:接口

    什么是接口 在面向对象语言中,接口一般被定义为 :接口定义了一个对象的行为.它仅仅指定了一个对象应该做什么.具体怎么做(实现细节)是由对象决定的. 在 Go 中,一个接口定义为若干方法的签名.当一个类 ...

  9. Windows Server 2008 R2系统上安装SQLServer2012集群(简略)

    4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC的IP.1个 ...

  10. js校验数字是否为小数

    js校验数字是否为小数: function checkDot(c) {c = parseFloat(c); -]?[-]*\.[-]*[-]+$/; return r.test(c); }