oracle的数据文件全部丢失,但有归档和重做日志,如何恢复?
2013-09-17 16:09
1026 查看
如果数据文件(dbf)全部丢失,但归档和重做日志都在怎么恢复,下面进行试验
删除所有dbf文件,模拟数据文件丢失
关闭数据库,启动到mounted状态,进入rman
在sqlplus中
总结:只要归档文件及redolog及控制文件完整,可以恢复整个数据库。
-rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo01.log -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo02.log -rw-r----- 1 oracle oinstall 52429312 9月 17 15:17 redo03.log -rw-r----- 1 oracle oinstall 849354752 9月 17 15:16 sysaux01.dbf -rw-r----- 1 oracle oinstall 545267712 9月 17 15:15 system01.dbf -rw-r----- 1 oracle oinstall 209723392 9月 17 09:50 temp02.dbf -rw-r----- 1 oracle oinstall 52436992 9月 17 08:50 test0823.dbf -rw-r----- 1 oracle oinstall 5251072 9月 17 08:50 TEST2.dbf -rw-r----- 1 oracle oinstall 5251072 9月 17 08:50 TEST3.dbf -rw-r----- 1 oracle oinstall 10493952 9月 17 08:50 test.dbf -rw-r----- 1 oracle oinstall 16777224192 9月 17 09:07 TRSWCMNEW.dbf -rw-r----- 1 oracle oinstall 10176438272 9月 17 15:17 undotbs01.dbf -rw-r----- 1 oracle oinstall 5251072 9月 17 08:50 users01.dbf [oracle@redhat4 orcl]$ rm -rf *.dbf [oracle@redhat4 orcl]$ ll 总用量 153780 -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo01.log -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo02.log -rw-r----- 1 oracle oinstall 52429312 9月 17 15:17 redo03.log [oracle@redhat4 orcl]$
删除所有dbf文件,模拟数据文件丢失
关闭数据库,启动到mounted状态,进入rman
RMAN> restore database; 启动 restore 于 17-9月 -13 使用通道 ORA_DISK_1 创建数据文件 fno = 9 名称 = /data/orcl/test0823.dbf 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00005恢复到/data/orcl/TRSWCMNEW.dbf 正将数据文件00008恢复到/data/orcl/TEST3.dbf 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_93oi0opl_1_1_20130823 通道 ORA_DISK_1: 已恢复备份段 1 段句柄 = /oradata/backup/whole_93oi0opl_1_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_93oi0opl_2_1_20130823 通道 ORA_DISK_1: 已恢复备份段 2 段句柄 = /oradata/backup/whole_93oi0opl_2_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_93oi0opl_3_1_20130823 通道 ORA_DISK_1: 已恢复备份段 3 段句柄 = /oradata/backup/whole_93oi0opl_3_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 恢复完成, 用时: 00:17:37 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00002恢复到/data/orcl/undotbs01.dbf 正将数据文件00004恢复到/data/orcl/users01.dbf 正将数据文件00007恢复到/data/orcl/TEST2.dbf 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_94oi0pkf_1_1_20130823 通道 ORA_DISK_1: 已恢复备份段 1 段句柄 = /oradata/backup/whole_94oi0pkf_1_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_94oi0pkf_2_1_20130823 通道 ORA_DISK_1: 已恢复备份段 2 段句柄 = /oradata/backup/whole_94oi0pkf_2_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 恢复完成, 用时: 00:11:02 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00001恢复到/data/orcl/system01.dbf 正将数据文件00003恢复到/data/orcl/sysaux01.dbf 正将数据文件00006恢复到/data/orcl/test.dbf 通道 ORA_DISK_1: 正在读取备份段 /oradata/backup/whole_95oi0q6j_1_1_20130823 通道 ORA_DISK_1: 已恢复备份段 1 段句柄 = /oradata/backup/whole_95oi0q6j_1_1_20130823 标记 = TAG20130823T100853 通道 ORA_DISK_1: 恢复完成, 用时: 00:01:06 完成 restore 于 17-9月 -13 RMAN> recover database; 启动 recover 于 17-9月 -13 使用通道 ORA_DISK_1 正在开始介质的恢复 存档日志线程 1 序列 37 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_24/o1_mf_1_37_91jfc916_.arc 存在于磁盘上 存档日志线程 1 序列 1 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_25/o1_mf_1_1_91m5ggfo_.arc 存在于磁盘上 存档日志线程 1 序列 1 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_26/o1_mf_1_1_91pqw22p_.arc 存在于磁盘上 存档日志线程 1 序列 2 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_2_91vcqmdn_.arc 存在于磁盘上 存档日志线程 1 序列 3 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_3_91vfjk31_.arc 存在于磁盘上 存档日志线程 1 序列 4 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_29/o1_mf_1_4_91y2lgop_.arc 存在于磁盘上 存档日志线程 1 序列 5 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_10/o1_mf_1_5_92x05pk5_.arc 存在于磁盘上 存档日志线程 1 序列 6 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_11/o1_mf_1_6_92yv2zgd_.arc 存在于磁盘上 存档日志线程 1 序列 7 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_12/o1_mf_1_7_932vy4sj_.arc 存在于磁盘上 存档日志线程 1 序列 8 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_8_93fc36lo_.arc 存在于磁盘上 存档日志线程 1 序列 9 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_9_93fg6rxj_.arc 存在于磁盘上 存档日志线程 1 序列 10 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_10_93fg84q0_.arc 存在于磁盘上 存档日志线程 1 序列 11 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_17/o1_mf_1_11_93h9tpop_.arc 存在于磁盘上 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_24/o1_mf_1_37_91jfc916_.arc 线程 =1 序列 =37 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_25/o1_mf_1_1_91m5ggfo_.arc 线程 =1 序列 =1 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_26/o1_mf_1_1_91pqw22p_.arc 线程 =1 序列 =1 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_2_91vcqmdn_.arc 线程 =1 序列 =2 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_3_91vfjk31_.arc 线程 =1 序列 =3 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_29/o1_mf_1_4_91y2lgop_.arc 线程 =1 序列 =4 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_10/o1_mf_1_5_92x05pk5_.arc 线程 =1 序列 =5 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_11/o1_mf_1_6_92yv2zgd_.arc 线程 =1 序列 =6 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_12/o1_mf_1_7_932vy4sj_.arc 线程 =1 序列 =7 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_8_93fc36lo_.arc 线程 =1 序列 =8 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_9_93fg6rxj_.arc 线程 =1 序列 =9 介质恢复完成, 用时: 00:02:48 完成 recover 于 17-9月 -13 RMAN>
在sqlplus中
SQL> select checkpoint_change# from v$database; CHECKPOINT_CHANGE# ------------------ 383408440 SQL> select checkpoint_change#,last_change# from v$datafile; CHECKPOINT_CHANGE# LAST_CHANGE# ------------------ ------------ 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 383408440 383408439 9 rows selected. SQL> select checkpoint_change# from v$datafile_header; CHECKPOINT_CHANGE# ------------------ 383408439 383408439 383408439 383408439 383408439 383408439 383408439 383408439 383408439 9 rows selected. SQL> alter database open; Database altered.
总结:只要归档文件及redolog及控制文件完整,可以恢复整个数据库。
相关文章推荐
- Oracle rman不完全恢复(数据文件,归档日志,控制文件全部丢失)
- 拥有归档日志 如何恢复一个丢失的数据文件
- 拥有归档日志 如何恢复一个丢失的数据文件
- 人工误删除InnoDB ibdata数据文件与ib_logile重做日志文件如何恢复详细过程
- oracle重做日志文件(REDO)损坏或者丢失的恢复操作
- 丢失控制文件和数据文件,但是有冷备份和全部归档文件的恢复
- 没有备份、只有归档日志,如何恢复数据文件?
- oracle 数据文件,控制文件和参数文件全部丢失恢复
- 没有备份、只有归档日志,如何恢复数据文件?
- [强烈推荐]Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- 没有备份、只有归档日志,如何恢复数据文件?
- Oracle丢失归档日志文件的数据库恢复方法
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- 用归档日志恢复丢失的数据文件
- 模拟控制文件全部丢失与归档日志文件丢失的不完全恢复
- rman实验之归档模式无备份,正常关机丢失当前联机重做日志文件的恢复
- 人工误删除InnoDB ibdata数据文件与ib_logile重做日志文件如何恢复详细过程
- 没有备份、只有归档日志,如何恢复数据文件?
- 没有备份、只有归档日志,如何恢复数据文件?
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复