通过详细的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. C++中函数调用时的三种参数传递方式

    在C++中,参数传递的方式是“实虚结合”. 按值传递(pass by value) 地址传递(pass by pointer) 引用传递(pass by reference) 按值传递的过程为:首先计 ...

  2. selenium+Python(处理html5的视频播放)

    Webdriver支持在指定的浏览器测试HTML5,另外可以用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5 多数浏览器使用控件来播放视频,但是不同浏览器需要使用不同的插件 ...

  3. iOS 系统架构及常用框架(iOS的系统架构分为四个层次)

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  4. FLUSH TABLES WITH READ LOCK 和 LOCK TABLES 之种种

    1.FLUSH TABLES WITH READ LOCK 这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读.一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行. ...

  5. VirtualBox 虚拟机磁盘空间不够用,增大空间方法(这里以MAC为例)

    开始在Virtualbox 上,安装MAC系统的时候只分配了20G的空间,随着Xcode 开发软件安装的东西多了,比如:IOS 的Simulator 的各种版本,4.3,5.0,6.0 加起来要到少要 ...

  6. 【c++】iostreeam中的类为何不可以直接定义一个无参对象呢

    缘起 #include <iostream> #include <fstream> #include <sstream> using namespace std; ...

  7. .NET加密技术概述

    微软.NET 的System.Security.Cryptography中的类实现了各种具体的加密算法和技术.这些类,有一些是非托管 Microsoft CryptoAPI 的包装,而另一些则是纯粹的 ...

  8. 深入理解JavaScript系列(42):设计模式之原型模式

    介绍 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象. 正文 对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建对象的方式,也就是 ...

  9. AngularJS的日期格式化有两种形式

    AngularJS的日期格式化有两种形式,一种是在HTML页面,一种是在JS代码里,都是用到AngularJS的过滤器$filter. HTML: date_expression 即 你在$scope ...

  10. PostgreSQL On Windows Process Connection Performance

    本文主要对PostgreSql在Windows下的连接测试. 测试环境: Win7 x64, PostgreSql 10.1 x64 测试语言: VS2015 C# 因为Pg的数据库连接是开启进程来处 ...