暂无图片
oracle rac出现control file sequential read等待事件的原因
我来答
分享
nirvana
2022-09-02
oracle rac出现control file sequential read等待事件的原因

oracle 11.1.0.6 的rac环境,配有ogg 到单机,但ogg并未启动。查询v$session,发现有很多等待事件control file sequential read,持续时间均为几秒钟,但很频繁,同时伴有enq: MN - contention等待事件。

查询出引起此事件的语句均为create global temporary table TMPLOGMINER127275726870657136 on commit preserve rows as SELECT scn, XIDUSN , XIDSLT ,XIDSQN, OPERATION_CODE, TABLE_NAME,SQL_REDO, SEG_OWNER , CSF,TIMESTAMP,ROW_ID FROM v$logmnr_contents WHERE(())

因此我想知道,

1.rac在什么情况下会出现control file sequential read?

2.什么情况下会基于v$logmnr_contents这个表创建全局临时表,创建这个全局临时表的目的是什么?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
布衣
暂无图片

问题1:

control file sequence read :控制文件顺序读
当数据库需要读取控制文件上的信息时,会出现这个等待事件,因为控制文件的信息是顺序写的,所以读取的时候也是顺序的,因此称为控制文件顺序读,它经常发生在以下情况:
1、备份控制文件
2、RAC环境下不同实例之间控制文件的信息共享
3、读取控制文件的文件头信息
4、读取控制文件其他信息
读取控制文件的时候遇到I/O等待就会出现这个等待事件,例如备份控制文件的时候、读取BLOCK头部都会引起这个等待事件,等待的时间就是消耗在读取控制文件上的时间。

如果这个等待事件等待的时间比较长,则需要检查控制文件所在的磁盘是否很繁忙,如果是,将控制文件移动到负载比较低,速度比较快的磁盘上去。如果系统支持异步I/O,则启用异步I/O。对于并行服务器来说,如果这种等待比较多,会造成整个数据库性能下降,因为并行服务器之间的一些同步是通过控制文件来实现的。

复制

问题2:

视图 v$logmnr_contents 中的分析结果仅在我们运行过程’dbms_logmrn.start_logmnr’这个会话的生命期中存在。这是因为所有的 LogMiner 存储都在PGA 内存中,所有其他的进程是看不到它的,同时随着进程的结束,分析结果也随之消失。最后, 使用过程 DBMS_LOGMNR.END_LOGMNR 终止日志分析事务,此时 PGA 内存区域被清除,分析结果也随之不再存在。

image.png

所以你的库是不是再做日志分析,(11.1.0.6)这个版本我没用过。这只是猜测。

希望对你的思路有所帮助,如有帮助请采纳。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
刘贵宾

该等待事件的出现并不表明数据库有问题。一个健康的系统,物理读时间应是除空闲等待时间外的最大等待事件。而该事件在rac中尤其明显,在一个正常的rac集群中,该事件应该排在top10中,因为实例间共享同一控制文件,对控制文件读取是很频繁的,如果被其他等待事件挤出top10,那就得查看是哪些等待事件了。

出现该等待事件的情况:

  1. 备份控制文件
  2. RAC环境下不同实例之间控制文件的信息共享
  3. 读取控制文件的其他信息
  4. 读取控制文件的文件头信息
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
为什么说Oracle统计信息中的rows processed是做优化时最关心的数据?
回答 1
已采纳
rowsprocessed表示SQL一共返回多少行数据。我们在做SQL优化的时候最关心rowsprocessed数据,因为可以根据SQL返回的行数判断整个SQL应该是走HASH连接还是走嵌套循环。如果
oracle RAC , +data/orcl/fangh.12345678 请教下,增加一个数据文件,前面要求 “ +data/orcl/fangh.”,而文件名后面的一串数字可以随机。 这个咋实现的
回答 5
已采纳
这个数据文件名是自动生成的随机文件名,通过设置OMF参数:showparameterdbcreate设置该参数后,添加数据文件只需要执行:altertablespace表空间名adddatafile;
oracle 系统卡死,sqlplus 正常登不进数据库,有没有强硬的办法能登进去?
回答 3
请问,sqlplusprelim/assysdba是啥意思呢?百度了半天都没有找到结果。
Oracle600故障问题
回答 3
Oracle错误600是一个内部错误,表示Oracle数据库出现了内部问题。它的完整错误信息通常是"ORA00600:internalerrorcode,arguments:[x],[y],[z],.
opengauss对MySQL、postgresql、oracle等的兼容性如何?
回答 3
已采纳
有部分兼容性方面的考虑,创建数据库时可以使用dbcompatibility参数来兼容部分MySQL、Oracle、PG的特性。兼容MySQL:将字符串转换成整数类型时,如果输入不合法会将输入转换为0而
插入语句,ORA-07445: 出现异常错误: 核心转储
回答 3
参考:《ORA00600[17147]ORA07445[opiaba()772]》:https://www.modb.pro/doc/2141从trace文件看,当前的绑定变量已经超过了65536个,
触发器 or replace 关键字的含义
回答 1
orreplace就是如果存在这个名字触发器的话就替换掉原触发器内容。
Oracle RMAN 中list能根据时间自动排序吗?
回答 1
已采纳
listbackupsetsummary;
Oracle DG 的备机意外关机后报错: ORA-01196: file 1 is inconsistent due to a failed media recovery session
回答 1
备库启动到mount下,启动MRP进程恢复下归档
手动关闭了oracle 游标之后, 后面的逻辑for循环这个游标还有效吗?
回答 1
declarecursorcaisselectcnamefromtbcitybasicwhereprovince'海南';beginopenca;closeca;forxxincaloopdbmsou