控制文件的HeartBeat在哪可以找到

转载自:http://www.debugease.com/oracle/767079.html
控制文件的HeartBeat
在正常MOUNT 数据库的过程中,数据库的警报日志文件仅记录如下信息:
alter database mount
Sat Apr 29 10:20:42 2006
Successful mount of redo thread 1, with mount id 1408096182.
Sat Apr 29 10:20:42 2006
Database mounted in Exclusive Mode.
Completed: alter database mount
在这一步骤中,数据库需要计算mount id 并将其记录在控制文件中,然后开始启动心跳
(Heartbeat),每3 秒更新一次控制文件。可以用以下命令间隔3 秒转储2 次控制文件信息:
alter session set events 'immediate trace name CONTROLF level 8' ;
在Linux 上用diff 命令比较2 个文件可以发现,控制文件在MOUNT 状态下发生改变的
只有这个Heartbeat:
[oracle@jumper udump]$ diff conner_ora_25542.trc conner_ora_25706.trc
...
64c63
< heartbeat: 588983634 mount id: 1408096182

< heartbeat: 588983636 mount id: 1408096182
Heartbeat表明实例已经被特定例程所Mount,这个属性主要用于OPS/RAC环境。但是
Heartbeat在单实例环境中同样存在。可以从一个内部表(需要以SYS用户登录)中查询到当前
的Heartbeat值(X$KCCCP的含义为[K]ernel [C]ache [C]ontrolfile management [C]heckpoint
[P]rogress):
其中cpods 为 ” on disk scn” ,cpodr_seq||cpodr_bno||cpodr_bof为”on disk rba”.
CPHBT为heartbeat number:
SELECT CPHBT from X$KCCCP;

从Oracle 9i 开始,Oracle 在数据库内部通过等待事件control file heartbeat 来记录这个事件
的相关等待;在Oracle 10g 中,如果使用自动存储管理技术(Automatic Storage Management,
ASM),那么还会增加一个ASM 实例的心跳事件。以下输出来自Oracle10g:

SQL> select event#,name from v$event_name where name like '%heart%';
EVENT# NAME


282 ASM mount : wait for heartbeat
423 control file heartbeat

了解了启动的各个步骤,也就可以在发生问题的时候,快速定位,准确判断,从而快速
解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值