怎么检查oracle实例,oracle 实例恢复

oracle实例恢复是是值oracle由于突然断电,导致DB_BUEER_CACHE里面的赃块没有写到磁盘上(提交和未提交的数据都有),这样就造成了数据的丢失,而oracle是通过SMON进程来实现实例恢复来解决数据丢失的。

1:什么时候需要实例恢复

oracle在启动到mount状态下会检查两个检查点,第一个是数据文件头部和控制文件里面的检查点,​两个不一致就要做实例恢复,另外一个是控制文件记载的STOP

SCN ,两者不一致也要做检查点。

2:实例恢复怎么实现

oracle增加了增量检查点机制,来减少实例恢复的时间,增量检查点会每三秒提醒DBWR写赃块,同时会更新控制文件里面所记载的检查点位置(赃块在DB_BUFFER_CACHE里面会以第一次开始变赃的时间排序,检查点之前的赃块是写到了磁盘上的赃块,检查点之后的是没有写到磁盘上的,也是实例恢复需要的),实例在mount之后,SMON会读取控制文件中记载的CRBA(检查点所在的日志地址),从这个点一直前滚到ON_DISK_RBA(LGWR最后记下的日志信息),在这两个RBA中间的数据就是实例恢复的段。

3:实例恢复过程

数据库启动到mount,利用日志前滚,将所有的数据恢复出来(提交未提交的都恢复出来),数据打开,SMON借助UNDO信息回滚未提交的数据,从而实现数据的零丢失。

4:实例恢复参数:

既然实例恢复是有个时间段(日志上看是从CRBA到ON_DISK_RBA),那么就可以通过参数来设置这一时间,其实也就是触发增量检查点。FAST_START_MTTR_TARGET​通过这一参数可以设置你需要实例恢复的时间,oracle会自动根据系统本身的IO能力来决定在规定时间类将完成实例恢复。这一参数也覆盖了原来的log_checkpoint_interval

(日志上有多少个块对应的赃数据没有写后会写赃),log_checkpoint_timeout(多少时间触发增量检查点写赃)。另外增量检查点oracle会在3秒触发,以及在日志文件写到了90%的时候会触发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值