Oracle 从备份的控制文件进行完全恢复

SYS@orcl#shutdown abort;
 Oracle 例程已经关闭。
 SYS@orcl#
 oracle@oracle:~/product/10.2/db_1/dbs> rman target /
 
恢复管理器: Release 11.1.0.6.0 - Production on 星期三 6月 5 23:13:10 2013
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
已连接到目标数据库 (未启动)
 
RMAN> startup nomount;
 
Oracle 实例已启动
 
系统全局区域总计    805875712 字节
 
Fixed Size                    2148720 字节
 Variable Size                520095376 字节
 Database Buffers            276824064 字节
 Redo Buffers                  6807552 字节
 
RMAN> restore controlfile from '/opt/oracle/product/10.2/db_1/dbs/snapcf_orcl.f';
 
启动 restore 于 05-6月 -13
 使用目标数据库控制文件替代恢复目录
 分配的通道: ORA_DISK_1
 通道 ORA_DISK_1: SID=152 设备类型=DISK
 
通道 ORA_DISK_1: 已复制控制文件副本
 输出文件名=/opt/oracle/oradata/ORCL/controlfile/o1_mf_7q9c8orh_.ctl
 输出文件名=/opt/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_7q9c8pcf_.ctl
 完成 restore 于 05-6月 -13
 
RMAN> exit
 SYS@orcl#select file#,creation_change#,checkpoint_change# from v$datafile_header;
 
    FILE# CREATION_CHANGE# CHECKPOINT_CHANGE#
 ---------- ---------------- ------------------
          1                7            4918372
          2            1490            4918372
          3          841603            4918372
          4            14607            4918372
          5          955886            4918372
          6          958063            4918372
          7          959259            4918372
          8          3975193            4918372
          9          3977982            4918372
        10          3978313            4918372
        11          4400356            4918372
 
    FILE# CREATION_CHANGE# CHECKPOINT_CHANGE#
 ---------- ---------------- ------------------
        12          4400418            4918372
 
已选择12行。
 
SYS@orcl#select file#,creation_change#,checkpoint_change#,last_change# from v$datafile;
 
    FILE# CREATION_CHANGE# CHECKPOINT_CHANGE# LAST_CHANGE#
 ---------- ---------------- ------------------ ------------
          1                7            4393541
          2            1490            4393541
          3          841603            4393541
          4            14607            4393541
          5          955886            4393541
          6          958063            4393541
          7          959259            4393541
          8          3975193            4393541
          9          3977982            4393541
        10          3978313            4393541
        11          4400356            4400358
 
    FILE# CREATION_CHANGE# CHECKPOINT_CHANGE# LAST_CHANGE#
 ---------- ---------------- ------------------ ------------
        12          4400418            4400420
 
已选择12行。
 
SYS@orcl#
 YS@orcl#alter database open;
 alter database open
 *
 第 1 行出现错误:
 ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
 
 
 

SYS@orcl#alter database open resetlogs;
 alter database open resetlogs
 *
 第 1 行出现错误:
 ORA-01194: 文件 1 需要更多的恢复来保持一致性
 ORA-01110: 数据文件 1:
 '/opt/oracle/oradata/ORCL/datafile/o1_mf_system_8no75lqw_.dbf'
 

SYS@orcl#
 尝试进行恢复:
 SYS@orcl#recover database using backup controlfile
 ORA-00279: 更改 4400440 (在 05/18/2013 16:04:12 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_18/o1_mf_1_81_8sh7pk32_.
 arc
 ORA-00280: 更改 4400440 (用于线程 1) 在序列 #81 中
 

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
 auto
 ORA-00279: 更改 4419709 (在 05/18/2013 23:31:28 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_19/o1_mf_1_82_8sjsowfc_.
 arc
 ORA-00280: 更改 4419709 (用于线程 1) 在序列 #82 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_18/o1_mf_1_81_8sh7pk32_
 .arc'
 

ORA-00279: 更改 4444358 (在 05/19/2013 13:44:27 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_83_8snczbm2_.
 arc
 ORA-00280: 更改 4444358 (用于线程 1) 在序列 #83 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_19/o1_mf_1_82_8sjsowfc_
 .arc'
 

ORA-00279: 更改 4489193 (在 05/20/2013 22:15:06 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_84_8sngy53f_.
 arc
 ORA-00280: 更改 4489193 (用于线程 1) 在序列 #84 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_83_8snczbm2_
 .arc'
 

ORA-00279: 更改 4491206 (在 05/20/2013 23:05:40 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_85_8sngyk4r_.
 arc
 ORA-00280: 更改 4491206 (用于线程 1) 在序列 #85 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_84_8sngy53f_
 .arc'
 

ORA-00279: 更改 4491216 (在 05/20/2013 23:05:53 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_86_8snh06s7_.
 arc
 ORA-00280: 更改 4491216 (用于线程 1) 在序列 #86 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_85_8sngyk4r_
 .arc'
 

ORA-00279: 更改 4491242 (在 05/20/2013 23:06:46 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_87_8snh0rpw_.
 arc
 ORA-00280: 更改 4491242 (用于线程 1) 在序列 #87 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_86_8snh06s7_
 .arc'
 

ORA-00279: 更改 4491256 (在 05/20/2013 23:07:04 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_88_8sq3wv1s_.
 arc
 ORA-00280: 更改 4491256 (用于线程 1) 在序列 #88 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_20/o1_mf_1_87_8snh0rpw_
 .arc'
 

ORA-00279: 更改 4518080 (在 05/21/2013 23:15:38 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_89_8sq48362_.
 arc
 ORA-00280: 更改 4518080 (用于线程 1) 在序列 #89 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_88_8sq3wv1s_
 .arc'
 

ORA-00279: 更改 4538405 (在 05/21/2013 23:21:39 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_90_8sq4oryo_.
 arc
 ORA-00280: 更改 4538405 (用于线程 1) 在序列 #90 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_89_8sq48362_
 .arc'
 

ORA-00279: 更改 4558870 (在 05/21/2013 23:28:56 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_91_8sq5026m_.
 arc
 ORA-00280: 更改 4558870 (用于线程 1) 在序列 #91 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_90_8sq4oryo_
 .arc'
 

ORA-00279: 更改 4579214 (在 05/21/2013 23:34:26 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_26/o1_mf_1_92_8t36mf0h_.
 arc
 ORA-00280: 更改 4579214 (用于线程 1) 在序列 #92 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_21/o1_mf_1_91_8sq5026m_
 .arc'
 

ORA-00279: 更改 4591978 (在 05/26/2013 13:15:24 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_26/o1_mf_1_93_8t3mjq4n_.
 arc
 ORA-00280: 更改 4591978 (用于线程 1) 在序列 #93 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_26/o1_mf_1_92_8t36mf0h_
 .arc'
 

ORA-00279: 更改 4614777 (在 05/26/2013 16:55:50 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_27/o1_mf_1_94_8t6ns7c9_.
 arc
 ORA-00280: 更改 4614777 (用于线程 1) 在序列 #94 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_26/o1_mf_1_93_8t3mjq4n_
 .arc'
 

ORA-00279: 更改 4652531 (在 05/27/2013 20:35:50 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_27/o1_mf_1_95_8t6wq99o_.
 arc
 ORA-00280: 更改 4652531 (用于线程 1) 在序列 #95 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_27/o1_mf_1_94_8t6ns7c9_
 .arc'
 

ORA-00279: 更改 4672336 (在 05/27/2013 22:51:20 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_29/o1_mf_1_96_8td3yzv5_.
 arc
 ORA-00280: 更改 4672336 (用于线程 1) 在序列 #96 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_27/o1_mf_1_95_8t6wq99o_
 .arc'
 

ORA-00279: 更改 4704486 (在 05/29/2013 22:25:35 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_30/o1_mf_1_97_8tgq14y8_.
 arc
 ORA-00280: 更改 4704486 (用于线程 1) 在序列 #97 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_29/o1_mf_1_96_8td3yzv5_
 .arc'
 

ORA-00279: 更改 4733613 (在 05/30/2013 22:03:16 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_98_8tmqz7h3_.
 arc
 ORA-00280: 更改 4733613 (用于线程 1) 在序列 #98 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_05_30/o1_mf_1_97_8tgq14y8_
 .arc'
 

ORA-00279: 更改 4764093 (在 06/01/2013 19:49:58 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_99_8tmtn5ch_.
 arc
 ORA-00280: 更改 4764093 (用于线程 1) 在序列 #99 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_98_8tmqz7h3_
 .arc'
 

ORA-00279: 更改 4786052 (在 06/01/2013 20:35:17 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_100_8tn3ndbb_
 .arc
 ORA-00280: 更改 4786052 (用于线程 1) 在序列 #100 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_99_8tmtn5ch_
 .arc'
 

ORA-00279: 更改 4817616 (在 06/01/2013 23:08:59 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_101_8tyj6hqj_
 .arc
 ORA-00280: 更改 4817616 (用于线程 1) 在序列 #101 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_01/o1_mf_1_100_8tn3ndbb
 _.arc'
 

ORA-00279: 更改 4862007 (在 06/02/2013 09:59:40 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_102_8tyj6hs8_
 .arc
 ORA-00280: 更改 4862007 (用于线程 1) 在序列 #102 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_101_8tyj6hqj
 _.arc'
 

ORA-00279: 更改 4882809 (在 06/02/2013 10:11:27 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_103_8tyj6sy0_
 .arc
 ORA-00280: 更改 4882809 (用于线程 1) 在序列 #103 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_102_8tyj6hs8
 _.arc'
 

ORA-00279: 更改 4904327 (在 06/05/2013 21:44:57 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_104_8tyl1p33_
 .arc
 ORA-00280: 更改 4904327 (用于线程 1) 在序列 #104 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_103_8tyj6sy0
 _.arc'
 

ORA-00279: 更改 4915553 (在 06/05/2013 22:16:21 生成) 对于线程 1 是必需的
 ORA-00289: 建议:
 /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_105_%u_.arc
 ORA-00280: 更改 4915553 (用于线程 1) 在序列 #105 中
 ORA-00278: 此恢复不再需要日志文件
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_104_8tyl1p33
 _.arc'
 

ORA-00308: 无法打开归档日志
 '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_05/o1_mf_1_105_%u_.arc'
 ORA-27037: 无法获得文件状态
 Linux-x86_64 Error: 2: No such file or directory
 Additional information: 3
 

SYS@orcl#
 查看文件这是最后一个归档日志,那么使用联机日志进行恢复:
 YS@orcl#select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV STATUS                          FIRST_CHANGE# FIRST_TIME
 ---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- --------------
          1          1        79  52428800          2 YES    INACTIVE                              4346916 16-5月 -13
          3          1        81  52428800          2 NO    CURRENT                                4393541 18-5月 -13
          2          1        80  52428800          2 YES    INACTIVE                              4369258 18-5月 -13
 完成一次完全恢复。
 
SYS@orcl#alter database open resetlogs;
 
数据库已更改。
 
SYS@orcl#

相关推荐