在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了。 在10g中,都是通过gc buffer来读的,所以不存在direct path read的问题。
direct path read较高的可能原因有:
1.与直接读取相关联的等待事件。当ORACLE将数据块直接读入会话的PGA(进程全局区)中,同时绕过SGA(系统全局区)。PGA中的数据并不和其他的会话共享。即表明,读入的这部分数据该会话独自使用,不放于共享的SGA中。
2.在排序操作(order by/group by/union/distinct/rollup/合并连接)时,由于PGA中的SORT_AREA_SIZE空间不足,造成需要使用临时表空间来保存中间结果,当从临时表空间读入排序结果时,产生direct path read等待事件。
3.使用HASH连接的SQL语句,将不适合位于内存中的散列分区刷新到临时表空间中。为了查明匹配SQL谓词的行,临时表空间中的散列分区被读回到内存中(目的是为了查明匹配SQL谓词的行),ORALCE会话在direct path read等待事件上等待。
4.使用并行扫描的SQL语句也会影响系统范围的direct path read等待事件。在并行执行过程中,direct path read等待事件与从属查询有关,而与父查询无关,运行父查询的会话基本上会在PX Deq:Execute Reply上等待,从属查询会产生direct path read等待事件。
从Oracle 9i 开始, _DB_FILE_DIRECT_IO_COUNT 这个隐含参数控制以字节(不是块)为单位的直接IO容量),这个参数可能影响direct path read的性能。默认值是1Mb,但是如果系统的max_io_size更小,那默认值也会被缩小。
可参考:Document 47324.1 Init.ora Parameter "DB_FILE_DIRECT_IO_COUNT" Reference Note。
event 10949或者设置隐含参数_serial_direct_read,两种方式可以在session或system级别设置direct path read的开关。
ALTER session SET EVENTS '10949 TRACE NAME CONTEXT FOREVER';
ALTER session SET EVENTS '10949 TRACE NAME CONTEXT off';
参考至:http://blog.sina.com.cn/s/blog_61cd89f60102eeen.html
http://blog.chinaunix.net/uid-23622436-id-3248624.html
http://soft.chinabyte.com/database/459/12363959.shtml
http://blog.csdn.net/bisal/article/details/12417475
http://www.confio.com/logicalread/oracle-db-file-direct-io-count-initialization-parameters-mc01/#.U8oqiLEYRMY
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
oracle11g官方中文帮助 Oracle 11g:ORACLE ACTIVE DATA GUARD.pdf Oracle Database 11g 高可用性.pdf Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g :真正应用测试与可管理性概述.pdf Oracle 数据库 11g...
Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试...
oracle11g中文教材,来自官方文档翻译,
utility that moves data from flat files to a running instance of Oracle 9i using the Oracle Call Interface (OCI) Direct Path API.
Oracle 11g 官方中文文档 包括: Oracle 11g:ORACLE ACTIVE DATA GUARD.pdf Oracle Database 11g 高可用性.pdf Oracle 数据库 11g :真正应用测试与可管理性概述.pdf Oracle 数据库 11g 中的分区.pdf Oracle 数据库...
oracle11g驱动包
在甲骨文推出的产品中,Oracle 11g是最具创新性和质量最高的软件,它具有400多项功能,经过了1500万个小时的测试,开发工作量前所未有。Oracle数据库11g可以帮助企业管理企业信息、更深入地洞察业务状况并迅速自信地...
oracle11g安装步骤.oracle11g安装步骤.oracle11g安装步骤.oracle11g安装步骤.
oracle 11g p10350787_111070升级补丁oracle 11g p10350787_111070升级补丁
Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试.pdf ...
Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试....
Oracle11g在windows服务器部署记录文档,以及遇到的问题和解决方法
oracle11g自动建库oracle11g自动建库oracle11g自动建库oracle11g自动建库oracle11g自动建库
Oracle11g日常操作与维护手册\Oracle11g日常操作与维护手册\Oracle11g日常操作与维护手册\
linux oracle11g中文乱码解决字体. centos6 下测试: mkdir -p /usr/share/fonts/zh_CN/TrueType cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/ 这就可以了。 有时候有字体查看工具,用那个打开也可以安装,可以...
Linux版本 Oracle11g数据库 64位 完整安装包
oracle 11g gateway
内含oracle 11g官方文档,中文版,含生成工具、Windows 上的 Oracle Database 11g 架构、Oracle 数据库 11g:新特性概述等文件