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#