消除11.2上的db file parallel read

简介: 客户在11.2.0.3环境中进行压力测试,发现出现大量的db file parallel read等待事件。     这个等待是11g以后才出现的,而在11g以前,一般这个等待事件发生在数据文件的恢复过程中。

客户在11.2.0.3环境中进行压力测试,发现出现大量的db file parallel read等待事件。

 

 

这个等待是11g以后才出现的,而在11g以前,一般这个等待事件发生在数据文件的恢复过程中。而11g新增了prefetch的特性,也可能导致这个等待事件的产生。

当运行压力测试时,后台的等待事件如下:

SQL> select event, count(*) from v$session where username = user group by event order by 2;

EVENT                                                              COUNT(*)
---------------------------------------------------------------- ----------
SQL*Net message from client                                               1
SQL*Net message to client                                                 1
db file sequential read                                                  24
db file scattered read                                                   33
db file parallel read                                                    42

可以看到用户进程经历比较严重的IO等待,而此时的db file parallel read,并不会带来性能提升。

可以通过添加隐含参数的方法来屏蔽prefetch功能,从而避免db file parallel read等待事件的产生:

_db_block_prefetch_limit=0
_db_block_prefetch_quota=0
_db_file_noncontig_mblock_read_count=0

控制文件添加这三个隐含参数后,重启数据库,再次运行压力测试,发现db file parallel read等待事件已经消失:

SQL> select event, count(*) from v$session where username = user group by event order by 2;

EVENT                                                              COUNT(*)
---------------------------------------------------------------- ----------
SQL*Net message to client                                                 1
db file scattered read                                                   30
db file sequential read                                                  70

 

 

目录
相关文章
|
12月前
|
安全 网络协议 网络安全
黑客10种绕过防火墙方法
黑客10种绕过防火墙方法
1066 7
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
11月前
|
SQL 监控 大数据
优化AnalyticDB性能:查询优化与资源管理
【10月更文挑战第25天】在大数据时代,实时分析和处理海量数据的能力成为了企业竞争力的重要组成部分。阿里云的AnalyticDB(ADB)是一款完全托管的实时数据仓库服务,支持PB级数据的秒级查询响应。作为一名已经有一定AnalyticDB使用经验的开发者,我发现通过合理的查询优化和资源管理可以显著提升ADB的性能。本文将从个人角度出发,分享我在实践中积累的经验,帮助读者更好地利用ADB的强大功能。
281 0
|
关系型数据库 Shell 数据库
postgres14一键安装脚本分享(shell和python)
postgres14一键安装脚本分享(shell和python)
406 0
|
存储 Oracle 安全
Oracle 12c的不可见字段:数据的“隐形斗篷”
【4月更文挑战第19天】Oracle 12c引入了不可见字段,这是一种隐藏数据列的特性,用于增强数据安全性和实现业务逻辑。不可见字段在常规查询中不显示,但参与数据操作,适合存储敏感信息或内部元数据。创建时只需在列定义中指定“INVISIBLE”属性。虽然有其限制,如特定查询可能暴露,但正确使用能有效提升数据安全性。了解和利用这一功能对数据管理员至关重要。
|
网络安全
关闭mgmtdb 库并disable
关闭mgmtdb 库并disable
303 1
|
SQL Oracle 关系型数据库
Oracle数据库之PIVOT实现行转列
Oracle数据库之PIVOT实现行转列
433 0
|
区块链
区块链交易所的返佣(推荐、持仓)机制系统合约开发部署
区块链交易所的返佣(推荐、持仓)机制系统合约开发部署
|
网络协议 Docker 容器
docker 运行指定内存
-m,--memory 内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M --memory-swap 内存+交换分区大小总限制。
7344 0