与控制文件IO相关的等待事件:
这种等待事件通常产生于一个或多个控制文件的IO。像redo日志切换和检查点事件,都会产生频繁的控制文件访问。因此调优这些实践可以间接地影响这种等待事件。
'control file parallel write'
这种等待事件通常发生于服务器进程正在更新所有控制文件副本的时候。如果这种等待事件占据大部分事件,那么需要检查所有控制文件副本在IO路径(控制器,物理磁盘)的瓶颈。
可以用的方法:
1. 降低控制文件副本的数量,确保所有副本不会同时丢失。
2. 如果操作系统平台支持,可以使用异步IO。
3. 将控制文件副本移动到未饱和的存储介质中。
'control file sequential read' and 'control file single write'
这种等待事件通常发生于单个控制文件副本的IO。如果这种等待占据大部分事件,需要检查是否正在进行控制文件的特殊拷贝,IO路径是否已饱和。
接下来的查询能够用来查找哪些控制文件正在被访问。当出现问题时才能使用这些SQL:
select P1 from V$SESSION_WAIT where EVENT like 'control file%' and STATUS='WAITING';
可能的解决方法:
1. 将有问题的控制文件副本移动到未饱和的存储介质。
2. 如果操作系统支持,使用异步IO。
(未完待续)