zoukankan      html  css  js  c++  java
  • rman datafile恢复(归档模式)

    模拟环境

     
    1. 做操作之前先备份数据库
    RMAN> run {
      # Hot database level 0 whole backup
      allocate channel t1 type disk;
      backup
          incremental level 0
          skip inaccessible
          format '/oracle/backup/back_%s_%p_%T_%d'
      #AS COMPRESSED backupset
      database plus archivelog
      format '/oracle/backup/arclogback_%s_%p_%t_%d'
      delete input;
      delete obsolete;
      release CHANNEL t1 ;
    }2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 

    释放的通道: ORA_DISK_1
    分配的通道: t1
    通道 t1: sid=529 devtype=DISK


    启动 backup 于 19-4月 -15
    当前日志已存档
    通道 t1: 正在启动存档日志备份集
    通道 t1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =724 记录 ID=782 时间戳=877409229
    通道 t1: 正在启动段 1 于 19-4月 -15
    通道 t1: 已完成段 1 于 19-4月 -15
    段句柄=/oracle/backup/arclogback_42_1_877409229_NETDATA 标记=TAG20150419T044709 注释=NONE
    通道 t1: 备份集已完成, 经过时间:00:00:02
    通道 t1: 正在删除存档日志
    存档日志文件名 =/u02/archive/1_724_873224460.dbf 记录 ID=782 时间戳 =877409229
    完成 backup 于 19-4月 -15

    启动 backup 于 19-4月 -15
    通道 t1: 启动增量级别 0 数据文件备份集
    通道 t1: 正在指定备份集中的数据文件
    输入数据文件 fno=00004 name=/u02/oradata/netdata/users01.dbf
    输入数据文件 fno=00001 name=/u02/oradata/netdata/system01.dbf
    输入数据文件 fno=00002 name=/u02/oradata/netdata/undotbs01.dbf
    输入数据文件 fno=00003 name=/u02/oradata/netdata/sysaux01.dbf
    输入数据文件 fno=00005 name=/u02/oradata/netdata/example01.dbf
    输入数据文件 fno=00006 name=/u02/oradata/netdata/netdata01.dbf
    通道 t1: 正在启动段 1 于 19-4月 -15
    通道 t1: 已完成段 1 于 19-4月 -15
    段句柄=/oracle/backup/back_43_1_20150419_NETDATA 标记=TAG20150419T044711 注释=NONE
    通道 t1: 备份集已完成, 经过时间:00:05:36
    完成 backup 于 19-4月 -15

    启动 backup 于 19-4月 -15
    当前日志已存档
    通道 t1: 正在启动存档日志备份集
    通道 t1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =725 记录 ID=783 时间戳=877409569
    通道 t1: 正在启动段 1 于 19-4月 -15
    通道 t1: 已完成段 1 于 19-4月 -15
    段句柄=/oracle/backup/arclogback_44_1_877409569_NETDATA 标记=TAG20150419T045249 注释=NONE
    通道 t1: 备份集已完成, 经过时间:00:00:02
    通道 t1: 正在删除存档日志
    存档日志文件名 =/u02/archive/1_725_873224460.dbf 记录 ID=783 时间戳 =877409569
    完成 backup 于 19-4月 -15

    启动 Control File and SPFILE Autobackup 于 19-4月 -15
    段 handle=/u02/flash_recovery_area/PNETDATA/autobackup/2015_04_19/o1_mf_s_877409572_bm5k14p1_.bkp comment=NONE
    完成 Control File and SPFILE Autobackup 于 19-4月 -15

    RMAN 保留策略将应用于该命令
    将 RMAN 保留策略设置为冗余 1
    删除以下已废弃的备份和副本:
    类型                 关键字 完成时间           文件名/句柄
    -------------------- ------ ------------------ --------------------
    控制文件副本     3      02-3月 -15         /u02/oradata/backup/standby.ctl
    控制文件副本     4      02-3月 -15         /tmp/sby_control01.ctl
    备份集               38     19-4月 -15        
    备份片段       38     19-4月 -15         /oracle/backup/arclogback_42_1_877409229_NETDATA

    是否确定要删除以上对象 (输入 YES 或 NO)? yes
    已删除备份片段
    备份段 handle=/oracle/backup/arclogback_42_1_877409229_NETDATA recid=38 stamp=877409230
    1 对象已删除

    RMAN-06207: 警告: 由于状态不匹配, 所以不能删除 2 对象 (对于 DISK 通道)。
    RMAN-06208: 请用 CROSSCHECK 命令修正状态
    RMAN-06210: 不匹配对象的列表
    RMAN-06211: ==========================
    RMAN-06212: 对象类型   文件名/句柄
    RMAN-06213: --------------- ---------------------------------------------------
    RMAN-06214: Datafile Copy   /u02/oradata/backup/standby.ctl
    RMAN-06214: Datafile Copy   /tmp/sby_control01.ctl


    释放的通道: t1

    RMAN> list backup of database;


    备份集列表
    ===================

    BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间  
    ------- ---- -- ---------- ----------- ------------ ----------
    39      Incr 0  5.57G      DISK        00:05:35     19-4月 -15
            BP 关键字: 39   状态: AVAILABLE  已压缩: NO  标记: TAG20150419T044711
    段名:/oracle/backup/back_43_1_20150419_NETDATA
      备份集 39 中的数据文件列表
      文件 LV 类型 Ckp SCN    Ckp 时间   名称
      ---- -- ---- ---------- ---------- ----
      1    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/system01.dbf
      2    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/undotbs01.dbf
      3    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/sysaux01.dbf
      4    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/users01.dbf
      5    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/example01.dbf
      6    0  Incr 7862138    19-4月 -15 /u02/oradata/netdata/netdata01.dbf
     
    2.模拟文件删除,物理删除文件
     
    [oracle@ora10g-1 backup]$ cd /u02/oradata/netdata/
    [oracle@ora10g-1 netdata]$ ls
    control01.ctl  example01.dbf  redo01.log  redo03.log    stredo02.log  stredo04.log  system01.dbf  undotbs01.dbf
    control02.ctl  netdata01.dbf  redo02.log  stredo01.log  stredo03.log  sysaux01.dbf  temp01.dbf    users01.dbf
    [oracle@ora10g-1 netdata]$ rm -rvf netdata01.dbf
    已删除"netdata01.dbf"
     
    SQL> conn netdata/netdata
    已连接。
    SQL> select * from test;
    select * from test
    *
    第 1 行出现错误:
    ORA-01116: 打开数据库文件 6 时出错 ORA-01110:
    数据文件 6: '/u02/oradata/netdata/netdata01.dbf'
    ORA-27041: 无法打开文件
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 3
    已经报错了。
     
    3.将删除文件离线
    SQL> conn / as sysdba
    已连接。
    SQL> alter database datafile 6 offline;

    数据库已更改。
     
    4.rman 恢复删除文件
    RMAN> restore datafile 6; 

    启动 restore 于 19-4月 -15
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=529 devtype=DISK

    通道 ORA_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
    正将数据文件00006还原到/u02/oradata/netdata/netdata01.dbf
    通道 ORA_DISK_1: 正在读取备份片段 /oracle/backup/back_43_1_20150419_NETDATA
    MAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: restore 命令 (在 04/19/2015 04:55:36 上) 失败
    ORA-19870: 读取备份段 /oracle/backup/back_43_1_20150419_NETDATA 时出错
    ORA-19573: 无法获得 exclusive 入队 (数据文件 6 的)

    RMAN> restore datafile 6;

    启动 restore 于 19-4月 -15
    使用通道 ORA_DISK_1

    通道 ORA_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
    正将数据文件00006还原到/u02/oradata/netdata/netdata01.dbf
    通道 ORA_DISK_1: 正在读取备份片段 /oracle/backup/back_43_1_20150419_NETDATA
    通道 ORA_DISK_1: 已还原备份片段 1
    段句柄 = /oracle/backup/back_43_1_20150419_NETDATA 标记 = TAG20150419T044711
    通道 ORA_DISK_1: 还原完成, 用时: 00:00:03
    完成 restore 于 19-4月 -15

    RMAN> recover datafile 6;

    启动 recover 于 19-4月 -15
    使用通道 ORA_DISK_1

    正在开始介质的恢复
    介质恢复完成, 用时: 00:00:01

    完成 recover 于 19-4月 -15

    RMAN> 

    SQL> alter database datafile 6 oneline;
    alter database datafile 6 oneline
                              *
    第 1 行出现错误:
    ORA-01916: 需要关键字 ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP


    SQL> alter database datafile 6 online;

    数据库已更改。
     
     
    4.验证

    SQL> conn netdata/netdata   
    已连接。
    SQL> select * from test;

         ID NAME
    ---------- --------------------------------------------------
         1 test
         2 test1

    SQL>
    SQL> select file#,status from v$datafile;

         FILE# STATUS
    ---------- -------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 ONLINE
         6 ONLINE

    已选择6行。

    SQL> 
  • 相关阅读:
    【OpenCV学习】XML的读写
    【学术研究基础】聚类分析学习
    【OpenCV学习】Laplace变换(视频边界检测)
    【OpenCV学习】DFT变换
    【英语天天读】生命的起跑线
    【OpenCV学习】yml的读取
    【OpenCV学习】Kmean均值聚类对图片进行减色处理
    【英语天天读】born to win
    WinFrom 中 label背景透明
    dev GridControl双击行事件
  • 原文地址:https://www.cnblogs.com/shawnloong/p/4574775.html
Copyright © 2011-2022 走看看