实例的恢复( crash recovery)

      1. 什么时候发生Oracle实例恢复?
        1. shutdown abort;
        2. 数据库异常down掉(机器死机,掉电...)
        3. 实例恢复的原因是数据有丢掉,使用redo数据恢复
      1. 实例恢复是一个自动的过程,不需要人工干预。
        1. 控制文件就是为了检查一致性,如果不一致就会实例恢复
      1. 实例恢复发生在那个阶段?
        1. sql>startup nomount(读取spfle) ,启动实例,oracle给自己分了一些内存,oracle的内存起来,这个时候没有实例恢复。

SQL> startup nomount;

ORACLE instance started.

      1. sql>alter database mount(读取控制文件,把数据库mount上),没有实例恢复。
      1. sql>alter database open (检查控制文件,数据文件头,检查数据库的完整性),如果不一致会发生实例恢复。Oracle在打开数据库时(alter database open),会检查每个文件头上的信息(SCN)并同控制文件中相应的信息(SCN)比较,如果不一致,则进行实例恢复。
      1. 实例恢复的过程
        1. – 前滚  rolling forward
          1. 读取状态为current和active状态的日志(redo log),将发生crash时,没有来得及写到磁盘上的数据块,使用redo的信息来恢复。
        2. – 打开数据库(alter database open)
        3. – 回滚 rolling back
          1. 将没有提交的事务进行回滚。
      1. 实例恢复
        1. sql>shutdown abort;
        2. 查看alert文件

介质恢复( Media recovery)

当发生以下情况时,实例恢复无效,需要进行介质恢复:

  1. – 数据文件丢失,损坏。
  2. – 在线日志文件(online redo)丢失,损坏。
  3. – 数据文件太旧 (比如从一个备份集中恢复过来的文件。)
  4. –文件太新(比如,其它所有的文件都是从备份中恢复过来的)

Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)的更多相关文章

  1. Oracle数据块损坏的恢复实例

    测试环境:11.2.0.4 1.构建数据块损坏的测试环境 2.有备份:常规恢复坏块 3.无备份:跳过坏块 1.构建数据块损坏的测试环境 1.1 创建测试表 --Create Table t_test ...

  2. 【转】基于RMAN实现坏块介质恢复(blockrecover)

    本文转自:乐沙弥的世界 对于物理损坏的数据块,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复,而不需要恢复整个数据库或所有文件来修复这些少量受损的数据 ...

  3. Oracle数据库坏块的恢复

    模拟数据块坏块: 对于发生数据块不一致的数据块,如果当前数据库有备份且处于归档模式,那么就可以利用rman工具数据块恢复功能 对数据块进行恢复,这种方法最简单有效,而且可以在数据文件在线时进行,不会发 ...

  4. RMAN数据库恢复之对数据库进行完全介质恢复

    RMAN数据库恢复之对数据库进行完全介质恢复环境:控制文件和参数文件SPFILE及归档文件.重做日志文件都在.其它数据文件丢失.恢复方法:使用之前创建的全库备份进行恢复1.删除数据文件: SQL> ...

  5. Oracle误删除表空间的恢复

    对于误删除表空间的恢复,本文通过基于数据库的时间点恢复和基于表空间的时间点恢复分别加以讨论 一 通过基于数据库的时间点恢复被误删除的表空间 1 需要注意的事项 a 基于数据库的时间点恢复将会回退整个数 ...

  6. (转)RMAN-06054: media recovery requesting unknown archived log for thread...

    转自:http://blog.itpub.net/29800581/viewspace-1307267/ 使用rman执行recover database 的时候出现RMAN-06054的错误提示: ...

  7. ORACLE实例恢复过程详细分析--使用dump、BBED等多种工具结合分析

    ---友情提示,内容较多,可以从博文左上的+目录选择小节方便阅读.  实验思路:  --实验相关TRACE文件:http://download.csdn.net/detail/q947817003/6 ...

  8. Oracle 实例恢复

    -======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭所 ...

  9. 11G新特性 -- 块介质恢复性能增强(block media recovery)

    块介质恢复性能增强(block media recovery) :只是恢复受损的块.不需要将受损的数据文件offline.针对受损的数据块,使用备份中好的数据块进行restore和recover,避免 ...

随机推荐

  1. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  2. HIVE的transform函数的使用

    Hive的TRANSFORM关键字提供了在SQL中调用自写脚本的功能,适合实现Hive中没有的功能又不想写UDF的情况.例如,按日期统计每天出现的uid数,通常用如下的SQL SELECT date, ...

  3. Lintcode---线段树的构造

    线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间.start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build  ...

  4. 并且需要用websocket实时接收数据 VS 组件ng2websocket的

    chart.service.ts: import { Injectable } from '@angular/core'; import { WebSocketService } from './we ...

  5. memcache基础知识-stats参数

    安装memcache: #tar -xvf libevent-1.4.13-stable.tar.gz#cd libevent-1.4.13-stable#./configure && ...

  6. Angularjs promise-$q服务详解

    var ngApp=angular.module('ngApp',[]); /************************************************************* ...

  7. Nginx日志深入详解

    一.日志分类 Nginx日志主要分为两种:访问日志和错误日志.日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的.1.访问日志 ...

  8. C# 冒泡排序

    class Program { static void swap( ref int atemp, ref int btemp)//注意ref的使用 { int temp = atemp; atemp ...

  9. poj 1806 Frequent values(RMQ 统计次数) 详细讲解

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1806 题目大意:给你一个非降序排列的整数数组,你的任务是对于一系列的询问,(i,j),回答序列中出现次 ...

  10. Cookie的新增,设置与清除

    addCookieBtn.addEventListener('click',function () { document.cookie='imooc=www.imooc.com;expires=201 ...