============================================================
Oracle Database 性能调优 之 控制文件 常见等待事件
参考:http://blog.csdn.net/tianlesoftware/article/details/5635934
参考:http://blog.csdn.net/tianlesoftware/article/details/5807800
菜小小~@2012_11_22 13:53
============================================================
注:本文为文摘式学习笔记,仅用于个人边整理边学习,许多内容引自文件头部所列出连接,向列位前辈致敬~
control file parallel write-控制文件并行写
事件说明
当数据库中有多个控制文件的拷贝时,Oracle 需要保证信息同步地写到各个控制文件当中,这是一个并行的物理操作过程,当server 进程更新所有控制文件时,这个事件可能出现。如果等待很短,可以不用考虑。如果等待时间较长,检查存放控制文件的物理磁盘I/O 是否存在瓶颈。
多个控制文件是完全相同的拷贝,用于镜像以提高安全性。对于业务系统,多个控制文件应该存放在不同的磁盘上,一般来说三个是足够的,在同一个磁盘上保存多个控制文件是不具备实际意义的。
控制文件频繁写入的原因很多,比如:
日志切换太过频繁,导致控制文件信息相应地需要频繁更新。
系统I/O 出现瓶颈,导致所有I/O出现等待。
事件参数
这个等待事件有三个参数:
SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name='control file parallel write';
NAME PARAMETER1 PARAMETER2 PARAMETER3
------------------------------ ---------- ---------- ----------
control file parallel write files block# requests
Files: Oracle 要写入的控制文件个数
Blocks: 写入控制文件的数据块数目
Requests:写入控制请求的I/O 次数
事件处理
减少这个等待,可以考虑如下方法:
减少控制文件的个数(在确保安全的前提下)
如果系统支持,使用异步IO
转移控制文件到 IO 负担轻的物理磁盘
转移控制文件到不同的物理磁盘来缓解I/O 争用
当系统出现日志切换过于频繁的情形时,可以考虑适当地增大日志文件的大小来降低日志切换频率。
control file sequential read 控制文件顺序读
事件说明
当数据库需要读取控制文件上的信息时,会出现这个等待事件,因为控制文件的信息是顺序写的,所以读取的时候也是顺序的,因此称为控制文件顺序读,
该事件经常发生在以下情况:
备份控制文件
RAC 环境下不同实例之间控制文件的信息共享
读取控制文件的文件头信息
读取控制文件其他信息
事件参数
这个等待事件有三个参数:
SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name='control file sequential read';
NAME PARAMETER1 PARAMETER2 PARAMETER3
------------------------------ ---------- ---------- ----------
control file parallel write file# block# blocks
File#:要读取信息的控制文件的文件号。
Block#: 读取控制文件信息的起始数据块号。
Blocks:需要读取的控制文件数据块数目。
事件处理
如果等待比较明显,检查单个控制文件,看存放位置是否存在I/O 瓶颈
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21162451/viewspace-750041/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21162451/viewspace-750041/