oracle 11G direct path read 非常美也非常伤人
direct path read
在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这种全表扫描就是物理读了。
在10g中,都是通过gc buffer来读的。所以不存在direct path read的问题。
direct path read较高的可能原因有:
1. 大量的磁盘排序操作,order by, group by, union, distinct, rollup, 无法在PGA中完毕排序,须要利用temp表空间进行排序。 当从暂时表空间中读取排序结果时。会产生direct path read.
2. 大量的Hash Join操作,利用temp表空间保存hash区。
3. SQL语句的并行处理
4. 大表的全表扫描,在中,全表扫描的算法有新的变化,依据表的大小、快速缓存的大小等信息,决定是否绕过SGA直接从磁盘读Oracle11g取数据。而10g则是所有通过快速缓存读取数据,称为table scan(large)。11g觉得大表全表时使用直接路径读,可能比10g中的数据文件散列读(db file scattered reads)速度更快,使用的latch也更少。
大量的direct path read等待时间最可能是一个应用程序问题。
direct path read事件由SQL语句驱动,这些SQL语句运行来自暂时的或常规的表空间的直接读取操作。 当输入的内容大于PGA中的工作区域时,带有须要排序的函数的SQL语句将排序结果写入到暂时表空间中,暂时表空间中的排序顺序串随后被合并,用于提供终于的结果。读取排序结果时。Oracle会话在direct path read等待事件上等待。DB_FILE_DIRECT_IO_COUNT初始化參数可能影响direct path read的性能。
一个隐含參数:
_serial_direct_read = false 禁用direct path read
_serial_direct_read = true 启用direct path read
alter sytem set "_serial_direct_read"=never scope=both sid='*'; 能够显着降低direct path read
看起来非常美 当是它带来另外个等待事件,那就是要把缓存中的脏数据刷回数据文件里。激发check point 事件。DBWR写的任务非常频繁。
大量的读IO导致IO缓慢,缓慢的IO又让DBWR写得更慢,同一时候check point事件会堵塞 DML。 在OLTP方面是非常严重的事故。
由于应用程序存在大量的全表查询的语句。
oracle 11G direct path read 非常美也非常伤人的更多相关文章
- oracle 11G direct path read 很美也很伤人
direct path read在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读 ...
- Oracle 11g direct path read 等待事件的理解
在Oracle 11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读的,所以不存在di ...
- 【Oracle】11g direct path read介绍:10949 event、_small_table_threshold与_serial_direct_read
转自刘相兵老师的博文: http://www.askmaclean.com/archives/11g-direct-path-read-10949-_small_table_threshold-_se ...
- 深入解析direct path read (转)
文章转自:http://www.itpub.net/thread-1815281-1-1.html 传统读取数据的方式是服务器进程通过读取磁盘,然后把数据加载到共享内存中,这样后面的进程就可以通过共享 ...
- direct path read/write (直接路径读/写)
转载:http://www.dbtan.com/2010/04/direct-path-readwrite.html direct path read/write (直接路径读/写): 直接路径读(d ...
- Oracle 11g全表扫描以Direct Path Read方式执行
在Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct Path Read),这是一个合理的变化,如果全表扫描的大量数据读取是偶发性的,则直接路径 ...
- Oracle 11g新特性direct path read引发的系统停运故障诊断处理
黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1.故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常 ...
- oracle 11g禁用和强制direct path read
一般在混合型环境中,大表在进行全表扫描或者走并行的时候一般会出现direct path read等待事件,如果在OLTP或者纯粹的DSS环境中,出现大量的direct path read直接路径读取, ...
- Oracle 数据库禁止全表访问的时候direct path read /////
一般在OLAP环境中,大表在进行全表扫描的时候一般会出现direct path read等待事件,如果在OLTP环境中,出现大量的direct path read直接路径读取,这样就有问题了.一般在O ...
随机推荐
- python基础学习笔记——初识函数
什么是函数 我们目前为止,已经可以完成一些软件的基本功能了,那么我们来完成这样一个功能:约x 1 2 3 4 5 pint("拿出手机") print("打开陌陌&quo ...
- redis介绍和安装和主从介绍(二)
redis正式安装过程 安装依赖,下载解压,编译安装 yum install gcc-c++ tcl wget http://download.redis.io/releases/redis-4.0. ...
- 算法复习——凸包加旋转卡壳(poj2187)
题目: Description Bessie, Farmer John's prize cow, has just won first place in a bovine beauty contest ...
- 【HDOJ6228】Tree(树)
题意:有一棵n个点的树,在树上的点涂色,每个点涂一种颜色,一共可以涂k种颜色, 然后把同一种颜色(比如说x)的点用最优方案连起来,在连线的边涂上x颜色,问涂k次的边最多有几条 k<=500 si ...
- 2017 ACM/ICPC 广西邀请赛 题解
题目链接 Problems HDOJ上的题目顺序可能和现场比赛的题目顺序不一样, 我这里的是按照HDOJ的题目顺序来写的. Problem 1001 签到 #include <bits/std ...
- ROS节点分布式运行方法
一. 主机Master设置 1.安装ssh客服端和服务器(ubuntu已默认安装了) 2.机器名与ip绑定 由于/etc/hosts中需要将计算机名和IP绑定,所有最好设置IP地址为静态地址 sudo ...
- C# 打印日志
原理其实很简单,就是创建文件夹.创建文件.写入内容 首先判断文件夹.文件是否存在 然后再创建或者追加 不多介绍,直接上代码 public static void BuildLogFile(string ...
- hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置
配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...
- IntelliJ IDEA常用统一设置(Linux/Mac/Windows)
前言:如果说VS是宇宙超级无敌第一大开发工具,那么IDEA是当之无愧的第二大开发工具,将来有机会把VS干掉. 说明:除了以下说明的配置地方外,其它尽量保持默认,这样有利于团队代码风格的统一. 运行VM ...
- jquery 实现鼠标点击div盒子移动功能
// Start 窗口的拖动 var _move=false; //移动标记 var _x,_y; //鼠标离控件左上角的相对位置 $(document).ready(function(){ $(&q ...