精华内容
下载资源
问答
  • 不完全恢复

    2016-11-07 14:20:08
    不完全恢复是指介质恢复阶段不需要应用所有的重做记录,而只需要一部分即可 一、不完全恢复命令 1.基于重做日志序列号 recover database until sequence 100 (注意在...
    不完全恢复是指介质恢复阶段不需要应用所有的重做记录,而只需要一部分即可


    一、不完全恢复命令


    1.基于重做日志序列号


    recover database until sequence 100
    (注意在rac环境中使用需要指定线程thread)




    2.基于时间


    recover database until time 'sysdate-1'


    3.基于SCN和restore point


    recover database until scn 13457


    recover database until restore point


    restore database until change


    4.基于cancel


    recover database until cancel




    二、恢复步骤


    1、查看数据文件头部的SCN号,即是recover命令回复的起点


    select file#,change# from v$recover_file;


    2.通过上步中的SCN查到所需要的归档


    select sequence# from v$log_history where 103710 between first_change# and next_change#-1;


    3.确认需要的日志已经丢失,需要对数据库进行不完全恢复


    recover database until cancel;


    三、数据库拥有备份,current状态组中所有的在线日志头损坏,在发生日志切换时实例崩溃,试图重新启动时,数据库打开失败,只能停留在mount状态




    oracle恢复需要的在线日志已损坏,需要进行不完全恢复


    rman>run{
    startup force mount;
    set until sequence 34;
    restore database;
    recover database;
    alter database open resetlogs;
    }




    四、主动恢复:用来撤销人为错误和恶意篡改


    1.重启数据库到mount状态


    2.用restore 或switch 命令将所有的数据文件还原至PIT( point in time 指定时间)点之前


    3.用recover命令将数据库恢复至PIT点


    4.resetlogs open 数据库

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29942527/viewspace-2127921/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/29942527/viewspace-2127921/

    展开全文
  • 不能只对数据库的一部分执行不完全恢复操作,因为这会使数据库的一部分具有与这个数据库其余部分不同的系统更改号(SCN)或时间点1、不能只对数据库的一部分执行不完全恢复操作,因为这会使数据库的一部分具有与这个...

    不能只对数据库的一部分执行不完全恢复操作,因为这会使数据库的一部分具有与这个数据库其余部分不同的系统更改号(SCN)或时间点

    1、不能只对数据库的一部分执行不完全恢复操作,因为这会使数据库的一部分具有与这个数据库其余部分不同的系统更改号(SCN)或时间点。

    2、在run代码块中使用set命令与until time、until SCN或until sequence参数创建一个恢复目标。

    run

    {

    set until time "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";

    restore database;

    recover database;

    alter database open resetlogs;

    }

    上面是一种方法,也可以选择在restore和recover命令中直接使用until time、until SCN或until sequence参数,,这样就避免使用run代码块(这是一种更值得推荐的做法),见下一段代码。

    3、基于时间点的恢复

    startup mount;

    restore database UNTIL TIME "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";

    recover database UNTIL TIME "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";

    alter database open resetlogs;

    4、基于SCN的恢复

    下面代码将数据库还原到SCN 10000,但是不包含这个SCN。

    startup mount;

    restore database UNTIL SCN 10000;

    recover database UNTIL SCN 10000;

    alter database open resetlogs;

    5、基于日志序列的恢复

    下面代码将数据库还原到日志序列为100,但是不包含这个日志序列。

    startup mount;

    restore database UNTIL SEQUENCE 100 thread 1;

    recover database UNTIL SEQUENCE 100 thread 1;

    alter database open resetlogs;

    6、使用还原点恢复

    restore database until restore point TANGO_ONE;

    recover database until restore point TABGO_ONE;

    alter database open resetlogs;

    下面是使用run代码块和set命令创建目标还原点

    run

    {

    set restore point TANGO_ONE;

    restore database TANGO_ONE;

    recover database TANGO_ONE;

    }

    alter database open resetlogs;

    推荐阅读:

    RMAN 配置归档日志删除策略

    Oracle基础教程之通过RMAN复制数据库

    RMAN备份策略制定参考内容

    RMAN备份学习笔记

    Oracle数据库备份加密 RMAN加密

    本文永久更新链接地址:

    logo.gif

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • RMAN全库【完全恢复/不完全恢复】今天有幸做了几个RMAN的全库恢复实验,这里是一个brief版,方便忘了时可以瞬速找到一 完全恢复1.数据库全库【完全恢复】$ rman target / 登录rman工具,如果使用了catalog,则登陆...

    RMAN全库【完全恢复/不完全恢复】

    今天有幸做了几个RMAN的全库恢复实验,这里是一个brief版,方便忘了时可以瞬速找到

    一 完全恢复

    1.数据库全库【完全恢复】

    $ rman target /                             登录rman工具,如果使用了catalog,则登陆方法rman target sys/oracle@ls catalog cata/cata@leo

    RMAN> startup mount                         必须为mount状态,才能restore 和 recover 数据库

    RMAN> restore database;                    复制旧数据文件覆盖损坏的数据文件

    RMAN> recover database;                    数据文件头SCN号同步当前日志中最后一个SCN号【完全恢复】

    RMAN> alter database open;                 打开数据文件

    二 不完全恢复

    1.基于时间点【不完全恢复】

    在restore  recover命令中直接使用until time 、until scn 、 until sequence参数

    这种方法避免使用run代码块,建议使用这种方法     【必须启动到mount状态,才能restore 和 recover  数据库】

    startup mount;

    restore database until time "to_date('2012-04-04 19:13:50','yyyy-mm-dd hh24:mi:ss')";

    recover database until time "to_date('2012-04-04 19:13:50','yyyy-mm-dd hh24:mi:ss')";

    alter database open resetlogs;                   【resetlogs只在“不完全恢复”之后才有效,不完全恢复必须加resetlogs/noresetlogs选项打开数据,重置归档日志序列号从1开始】

    注:该命令可将数据库恢复到指定时间点状态,但必须具备此时间点之前最后的有效备份,和所有相关归档日志。

    2.基于scn号的【不完全恢复】

    startup mount;

    restore database until scn 10000;

    recover database until scn 10000;

    alter database open resetlogs;                   【resetlogs只在“不完全恢复”之后才有效,不完全恢复必须加resetlogs/noresetlogs选项打开数据,重置归档日志序列号从1开始】

    注:该命令可将数据库恢复到指定的scn号的状态,但不包括此scn号。

    3.基于归档日志序列号【不完全恢复】

    startup mount;

    restore database until sequence 123 thread 1;

    recover database until sequence 123 thread 1;

    alter database open resetlogs;                   【resetlogs只在“不完全恢复”之后才有效,不完全恢复必须加resetlogs/noresetlogs选项打开数据,重置归档日志序列号从1开始】

    注:该命令可将数据库恢复到指定归档日志序列号的状态,如果归档日志列表存在断点使用这中方法恢复比较方便,断点意味着我们只能恢复到断点的开始点

    如果在open下直接restore database ,会报如下错误

    channel ORA_DISK_1: reading from backup piece /home/oracle/backup/DB_0fn7d50b 备份块,此备份块就是最后一次的备份来恢复,在catalog库中自动找【前提必须连接到catalog】

    RMAN-00571: ===========================================================

    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

    RMAN-00571: ===========================================================

    RMAN-03002: failure of restore command at 04/04/2012 12:03:18

    ORA-19870: error reading backup piece /home/oracle/backup/DB_0fn7d50b  错误读取备份块

    ORA-19573: cannot obtain exclusive enqueue for datafile 4              不能包括独占数据文件4队列

    小结:一般“实例恢复”采用完全恢复的多,“介质恢复”采用不完全恢复的多。

    leonarding

    20120404

    tianjin

    展开全文
  • 场景介绍:备份情况,存在rman脚本生成的level 0 ,level 1备份,备份归档前使用sql ...恢复步骤:基于时间的不完全恢复恢复场景:丢失所有重做日志恢复步骤:1.启动数据库mount状态SQL>startup mount;2.重建日志...

    场景介绍:

    备份情况,存在rman脚本生成的level 0 ,level 1备份,备份归档前使用sql 'alter system archive log current';控制文件自动备份;备份后删除冗余及已被手工删除的备份。redolog 全部丢失。

    恢复步骤:

    基于时间的不完全恢复

    恢复场景:丢失所有重做日志

    恢复步骤:

    1.启动数据库mount状态

    SQL>startup mount;

    2.重建日志

    SQL>alter database clear logfile group 1;

    SQL>alter database clear logfile group 2;

    SQL>alter database clear logfile group 3;

    提示日志需要进行归档,执行以下语句

    3.恢复数据库

    设置恢复时间为重做日志丢失前时间点,

    恢复归档备份到数据库原归档日志位置

    rman>run{

    set until time "to_date('2013/11/05 21:49:00','yyyy/mm/dd hh24:mi:ss')";

    restore database;

    recover database;

    alter database open resetlogs;

    }

    4.重置日志方式打开数据库

    SQL>alter database open resetlogs;

    5.验证恢复

    SQL>select count(*) from test;

    展开全文
  • RMAN完全恢复与不完全恢复测试

    千次阅读 2019-02-08 09:00:01
    RMAN完全恢复与不完全恢复测试一、完全恢复二、不完全恢复2.1 基于时间点2.2 基于日志序列号2.3 基于SCN 恢复2.4 通过INCARNATION不完全恢复2.5 基于表空间时间点的不完全恢复(TSPITR)2.6 12c RMAN 表级恢复三、总结...
  • 恢复分为完全恢复和不完全恢复 不完全恢复可以基于时间,也可以基于scn在测试的时候发现,恢复的节点必须在list backup中最大节点以后。【还要继续测试】 0级 --> 操作(建表1) --> 想恢复的时间节点1 --> 0级 -->...
  • 不完全恢复是指恢复后有部分数据丢失。它们是数据库的两种恢复方式。 完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的时间点。之所以叫做完整恢复是由于Oracle应用了归档日志和联机重做日志中所有...
  • set until time|timestamp ......不完全恢复示例:SQL> conn scott/tigerConnected.SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'YY---------------...
  • 完全恢复:将数据库恢复按照日志恢复到最近时间点的恢复称做完全恢复 不完全恢复:将数据库恢复按照日志恢复到某一时间点的恢复称作不完全恢复 ...
  • 于是我们可以用不完全恢复。  注意:不完全恢复是需要关闭数据库的,所以对于7*24的数据库不适用,而且在误操作之前是要有备份的。  下面我们来模拟数据误操作以后的不完全恢复。  1. 备份数据库 RMAN> ...
  • 不完全恢复是指恢复后有部分数据丢失。它们是数据库的两种恢复方式。 完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的时间点。之所以叫做完整恢复是由于Oracle应用了归档日志和联机重做日志中所有...
  • 再恢复后面执行的语句,完成我们的恢复,这种恢复叫“不完全恢复”。在mysql 中,不完全恢复分为基于时间点的恢复和基于位置的恢复。1.1 基于时间点恢复步骤 下面来模拟基于时间点恢复,操作步骤如...
  • 一:实验目的利用mysqldump全备及二进制日志恢复误删的表或数据(不完全恢复)二:实验步骤2.1:准备测试数据use test;mysql> show tables;+----------------+| Tables_in_test |+----------------+| t || t3 || t4...
  • 不完全恢复是指恢复后有部分数据丢失。它们是数据库的两种恢复方式。 完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的时间点。之所以叫做完整恢复是由于Oracle应用了归档日志和联机重做日志中...
  • 不完全恢复不完全恢复的基本类型:1)基于时间点 (until time): 使整个数据库恢复到过去的一个时间点前2)基于scn (until change): 使整个数据库恢复到过去的某个SCN前3)基于cancel (until cancel): 使整个...
  • RMAN全库【完全恢复/不完全恢复】 今天有幸做了几个RMAN的全库恢复实验,这里是一个brief版,方便忘了时可以瞬速找到 一 完全恢复 1.数据库全库【完全恢复】 $ rman target /...
  • MySQL 5.6.14生产环境凌晨3点的备份,不完全恢复到中午12点.(xtrabackup_binlog_pos_innodb的内容是mysql-bin.006946 3784607)MySQL 5.6.14生产环境凌晨3点的备份,不完全恢复到中午12点.(xtrabackup_binlog_pos_...
  • ORACLE之不完全恢复:基于SCN的恢复 基于SCN的恢复,做不完全恢复,只需要恢复到某个时间点的SCN,恢复hr用户的表t1,只有两条数据。
  • 此文档详细描述如果利用rman 完成不完全恢复。试验背景,步骤,命令,所有内容都做说明。
  • 1、不能只对数据库的一部分执行不完全恢复操作,因为这会使数据库的一部分具有与这个数据库其余部分不同的系统更改号(SCN)或时间点。2、在run代码块中使用set命令与until time、until SCN或until sequence参数创建一...
  • ORACLE不完全恢复 基于时间的不完全恢复 恢复要求:a、数据库开启归档切要有最近的有效rman全备。b、要有需要恢复到的准确时间点。 1、 做一个rman全备 RMAN>backup database; 2、 构建几个状态 在数据库里创建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,608
精华内容 2,643
关键字:

不完全恢复