标签:control 控制 文件 -- file 等待 parallel
【等待事件】System I/O类 等待事件(3.2)--control file parallel write
SELECT A.*
FROM V$EVENT_NAME A
WHERE NAME IN ('control file parallel write');
这个等待事件包含三个参数:
files:Oracle要写入的控制文件个数。
block#:写入控制文件的数据块数目。
requests:写入控制文件请求的I/O次数。
在V$SESSION_WAIT这个视图里面,这个等待事件有三个参数P1、P2、P3,这三个参数都设置为同样的值,代表控制文件对I/O的请求数量。当Oracle更新控制文件的时候是同时更新所有控制文件并写入同样的信息。
这个等待事件表明服务器进程在更新所有的控制文件的时候等待I/O的完成。因为控制文件所在的磁盘的I/O过高引起无法完成对所有控制文件的物理写入,写入控制文件的这个会话会拥有CF队列,因此其他的会话都会在这个队列中等待。
一般环境下,因为更新控制文件的次数不多,因此不怎么发生control file parallel write等待现象。但如下情况下可能发生与控制文件相关的争用。
1) 日志文件切换经常发生时:
日志文件过小时,将经常发生日志文件的切换。每当发生日志文件切换时,需要对控制文件进行更新,所以LGWR进程等待control file parallel write事件的时间将延长。
2) 检查点经常发生时:
MTTR设定得过短或频繁发生人为的检查点时,CKPT进程等待control file parallel write事件的时间将延长。
3) nologging引起频繁的数据文件修改时:
对数据文件在nologging选项下执行修改工作时,为了修改unrecoverable SCN需要更新控制文件。这时,服务器进程将等待control file parallel write事件。
4) I/O系统的性能缓慢时:
最好是将控制文件位于独立的磁盘空间上,使用裸设备或direct I/O。
control file parallel write等待,通常与control file sequential read等待或enq: CF - contention等待一同出现的情况较多。enq: CF - contention等待是在多个会话为了同时更新控制文件获得CF锁的过程中发生的。control file parallel write、control file sequential read、CF - contention等待,全是因为过多的控制文件更新或I/O系统的性能问题引发的。
当server 进程更新所有控制文件时,这个事件可能出现。如果等待很短,可以不用考虑。如果等待时间较长,检查存放控制文件的物理磁盘I/O 是否存在瓶颈。
多个控制文件是完全相同的拷贝,用于镜像以提高安全性。对于业务系统,多个控制文件应该存放在不同的磁盘上,一般来说三个是足够的,如果只有两个物理硬盘,那么两个控制文件也是可以接受的。在同一个磁盘上保存多个控制文件是不具备实际意义的。
当数据库中有多个控制文件的拷贝时,Oracle 需要保证信息同步地写到各个控制文件当中,这是一个并行的物理操作过程,因为称为控制文件并行写,当发生这样的操作时,就会产生control file parallel write等待事件。
控制文件频繁写入的原因很多,比如:
l 日志切换太过频繁,导致控制文件信息相应地需要频繁更新。当系统出现日志切换过于频繁的情形时,可以考虑适当地增大日志文件的大小来降低日志切换频率。
l 系统I/O 出现瓶颈,导致所有I/O出现等待。
如果在等待时间中这个等待事件占的比重比较大,可以从如下几个方面来调整:
l 在确保控制文件不会同时都丢失的前提下,将控制文件的数量减小到最少,降低控制文件的拷贝数量(在确保安全的前提下)。
l 如果系统支持异步I/O,则推荐尽量使用异步I/O,这样可以实现真正并行的写入控制文件。
l 将控制文件移动到负载比较低,速度比较快的磁盘上去。
l 将控制文件的拷贝存放在不同的物理磁盘上的方式来缓解I/O 争用。
标签:control,控制,文件,--,file,等待,parallel 来源: https://blog.51cto.com/lhrbest/2716043
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。