oracle 从备份的控制文件进行完全恢复
SYS@orcl#shutdown abort;
ORACLE 例程已经关闭。
SYS@orcl#
oracle@oracle:~/product/10.2/db_1/dbs> rman target /
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 字节
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
通道 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
输出文件名=/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;
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
---------- ---------------- ------------------
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 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
---------- ---------------- ------------------ ------------
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 4400418 4400420
已选择12行。
SYS@orcl#
YS@orcl#alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
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;
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- --------------
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#