这篇文章主要介绍“数据库的等待事件什么时候会出现”,在日常操作中,相信很多人在数据库的等待事件什么时候会出现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库的等待事件什么时候会出现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
从网站建设到定制行业解决方案,为提供成都网站建设、网站设计服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联建站将不断加快创新步伐,提供优质的建站服务。
SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'control file sequential read';
EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3
---------- ------------------------------ --------------- --------------- ---------------
55 control file sequential read file# block# blocks
当数据库需要读取控制文件上的信息时,会出现这个等待事件,因为控制文件的信息是顺序写的,所以读取的时候也是顺序的,因此称为控制文件顺序读,它经常发生在以下情况。
(1)备份控制文件。
(2)RAC环境下不同实例之间控制文件的信息共享。
(3)读取控制文件的文件头信息。
(4)读取控制文件的其他信息。
这个等到事件的包含以下三个参数:
file#:要读取信息的控制文件的文件号。
block#:读取控制文件信息的起始数据块号。
blocks:需要读取的控制文件数据块数目。
SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'control file parallel write';
EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3
---------- ------------------------------ --------------- --------------- ---------------
57 control file parallel write files block# requests
这个等待事件包含三个参数:
files:Oracle要写入的控制文件个数。
block#:写入控制文件的数据块数目。
requests:写入控制文件请求的I/O次数。
一般环境下,因为更新控制文件的次数不多,因此不怎么发生control file parallel write等待现象。但如下情况下可能发生与控制文件相关的争用。
日志文件切换经常发生时:
日志文件过小时,将经常发生日志文件的切换。每当发生日志文件切换时,需要对控制文件进行更新,所以LGWR进程等待control file parallel write事件的时间将延长。
检查点经常发生时:
MTTR设定得过短或频繁发生人为的检查点时,CKPT进程等待control file parallel write事件的时间将延长。
nologging引起频繁的数据文件修改时:
对数据文件在nologging选项下执行修改工作时,为了修改unrecoverable SCN需要更新控制文件。这时,服务器进程将等待control file parallel write事件。
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系统的性能问题引发的
到此,关于“数据库的等待事件什么时候会出现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!