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> 
  • 相关阅读:
    python 并发编程 多线程 event
    python 并发编程 多线程 定时器
    python 并发编程 多线程 信号量
    linux top 查看CPU命令
    python 并发编程 多线程 GIL与多线程
    python 并发编程 多线程 死锁现象与递归锁
    python 并发编程 多线程 GIL与Lock
    python GIL全局解释器锁与互斥锁 目录
    python 并发编程 多线程 GIL全局解释器锁基本概念
    执行python程序 出现三部曲
  • 原文地址:https://www.cnblogs.com/shawnloong/p/4574775.html
Copyright © 2011-2022 走看看