`

Oracle 11g中的direct path read(原创)

 
阅读更多

在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

0
0
分享到:
评论

相关推荐

    Oracle11g中文文档.zip

    oracle11g官方中文帮助 Oracle 11g:ORACLE ACTIVE DATA GUARD.pdf Oracle Database 11g 高可用性.pdf Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g :真正应用测试与可管理性概述.pdf Oracle 数据库 11g...

    oracle11g官方中文文档完整版

    Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试...

    oracle 11g中文教材

    oracle11g中文教材,来自官方文档翻译,

    Oracle Direct Path Daemon

    utility that moves data from flat files to a running instance of Oracle 9i using the Oracle Call Interface (OCI) Direct Path API.

    oracle11g官方文档中文版

    Oracle 11g 官方中文文档 包括: Oracle 11g:ORACLE ACTIVE DATA GUARD.pdf Oracle Database 11g 高可用性.pdf Oracle 数据库 11g :真正应用测试与可管理性概述.pdf Oracle 数据库 11g 中的分区.pdf Oracle 数据库...

    oracle11g驱动包

    oracle11g驱动包

    oracle11g oci.dll文件

    在甲骨文推出的产品中,Oracle 11g是最具创新性和质量最高的软件,它具有400多项功能,经过了1500万个小时的测试,开发工作量前所未有。Oracle数据库11g可以帮助企业管理企业信息、更深入地洞察业务状况并迅速自信地...

    oracle11g安装步骤.

    oracle11g安装步骤.oracle11g安装步骤.oracle11g安装步骤.oracle11g安装步骤.

    oracle 11g 补丁

    oracle 11g p10350787_111070升级补丁oracle 11g p10350787_111070升级补丁

    Oracle 11g 官方中文文档集萃5

    Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试.pdf ...

    Oracle 11g 官方中文文档集萃【完整版】

    Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试....

    oracle11g安装部署手册

    Oracle11g在windows服务器部署记录文档,以及遇到的问题和解决方法

    oracle11g自动建库

    oracle11g自动建库oracle11g自动建库oracle11g自动建库oracle11g自动建库oracle11g自动建库

    Oracle11g日常操作与维护手册

    Oracle11g日常操作与维护手册\Oracle11g日常操作与维护手册\Oracle11g日常操作与维护手册\

    linux oracle11g中文乱码解决字体

    linux oracle11g中文乱码解决字体. centos6 下测试: mkdir -p /usr/share/fonts/zh_CN/TrueType cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/ 这就可以了。 有时候有字体查看工具,用那个打开也可以安装,可以...

    oracle 11g Linux64位安装包

    Linux版本 Oracle11g数据库 64位 完整安装包

    oracle 11g gateway

    oracle 11g gateway

    Oracle 11g 官方中文文档.zip

    内含oracle 11g官方文档,中文版,含生成工具、Windows 上的 Oracle Database 11g 架构、Oracle 数据库 11g:新特性概述等文件

Global site tag (gtag.js) - Google Analytics