重庆思庄Oracle、Redhat认证学习论坛

标题: Oracle数据库禁止direct path read [打印本页]

作者: 王亮    时间: 2020-5-10 15:37
标题: Oracle数据库禁止direct path read
本帖最后由 王亮 于 2020-12-27 15:23 编辑

一般在OLAP环境中,大表在进行全表扫描的时候一般会出现direct path read等待事件,如果在OLTP环境中,出现大量的direct path read直接路径读取,这样就有问题了。一般在OLTP中,都是事物型的sql,如果想sql执行效率,那么最好从内存当中读取数据,直接从数据文件中读取,会产生大量的IO读取,那后果可想而知了。这里就可能需要我们禁用direct path read。
而禁用的方法则采用使用10949事件禁止全表扫描的时候,使用direct path read
SQL> alter system set event='10949 TRACE NAME CONTEXT FOREVER, level 1' scope=spfile;(需要重启后生效)
SQL>alter system set events '10949 TRACE NAME CONTEXT FOREVER, level 1'; (立即生效,不需要重启数据库)


作者: 王亮    时间: 2020-12-27 15:24
也可通过设置隐含参数来进行控制
禁用:
alter session set "_serial_direct_read"=false;

启用:
alter session set "_serial_direct_read"=auto;




欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2