实例恢复和介质恢复
来源:互联网 发布:武汉淘宝商学院 编辑:程序博客网 时间:2024/05/19 16:38
Crash/Instance Recovery与Media Recovery的本质区别在于:
Crash/Instance Recovery针对需要恢复的实例从增量检查点(incremental checkpoint)开始apply redo应用重做日志。由于日志覆盖的先提条件是完成相关日志的logfile switch checkpoint,且从定义上说归档日志总是落后于实例的检查点,所以对于crash/instance recovery崩溃或实例恢复总是只需要访问读取在线的重做日志(online redo logfile)。
介质恢复Media Recovery从旧数据文件的检查点开始apply redo引用重做日志,这些旧的数据文件可能来源于备份。 介质恢复情况下需要用到归档重做日志,因此RMAN或DBA(用户管理的备份)也需要将备份相关的归档日志还原出来。
Crash/Instance Recovery总是保证仅当所有的持久重做数据被应用之后才算恢复完成。 在Oracle保证所有已提交的事务都已经被包含恢复的情况下,才认为崩溃实例完成了恢复工作。
相反,介质恢复有不完全恢复(incomplete recovery)和部分恢复(partial recovery)的提法,以实现恢复数据库(db)到某个时间点的一致性。
Crash/Instance Recovery与Media Recovery的相同点在于:
Crash/Instance Recovery与Media Recovery都是传统的前滚恢复方式(rolling forward),原理上都是对持久redo log数据的重演。 不管是Crash/Instance Recovery还是Media Recovery的前滚,都需要继之以事务回滚以便回滚未提交的事务,虽然前滚完成后数据库即可以打开而不用等回滚完成,但是仅在回滚完成的时候我们认为数据库是真正一致的。
个人的理解:
从字面理解,实例恢复就是instance recovery 原因是instance failure,介质恢复media原因是media failure
实例恢复就是说数据库发生故障(instance crash),或者shutdown abort,startup force的情况下,buffer chache的数据没能写到数据文件,也就是说
数据文件的头部scn号和当前实例的scn号不一致,需要从当前redo里面前滚,保证buffer cache的数据写入到数据文件,而数据库在实力崩溃前的一直状态,实例恢复一般是数据库重新启动的时候自动应用redo,一般是由smon完成,不需要用户干预
而介质恢复就是说存储介质发生损坏,必须显示的从备份或者归档日志里面恢复数据库,比如recover database,recover tablespace ,recover datafile
是可以进行不完全恢复或者说部分恢复,不一定是恢复到数据库最新的scn号
- 实例恢复和介质恢复
- acle实例恢复和介质恢复
- 介质恢复与实例恢复
- oracle介质恢复和实例恢复的基本概念
- 崩溃恢复和介质恢复的区别
- 理解REDO LOG(1) 介质恢复和实例恢复的基本概念
- Oracle 介质恢复图解
- 多次创建恢复介质
- 块介质恢复
- 介质恢复的原理是囊个回事
- Oracle介质恢复概念图解
- 用户错误和实例恢复
- 实例恢复
- 实例恢复
- ORA-01113:文件n需要介质恢复
- ORA-01113: 文件 4 需要介质恢复
- ORA-01113:文件n需要介质恢复
- 关于Block Recover--讹误块介质恢复
- Python常见错误
- 为何有大量show slave status产生
- 逻辑回归算法-CSDN
- Java中extends 与 implement 区别(转)
- CSS样式设置技巧
- 实例恢复和介质恢复
- 获得32位数二进制位的第一个1的位置
- 寻找志同道合的你(附联系方式)
- 数据结构:JavaScript实现列表
- Boost property_tree 解析配置文件
- python 的ini操作
- 关于warning:PIE disabled
- 用python生成验证码图片
- android抓取各种log的方法