如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
RMAN 备份和基于时间的不完全恢复
这种类型的不完全恢复意味着你可以恢复数据库到一个具体的点,假设你删除了一个重要的表,你只有用户管理备份,在drop table命令的合适的时间,使用 until time语句,为此,创建一个表,使用当前时间,删除表,然后复原所有的数据文件,恢复数据库到采用的时间,如下:
SQL>
shutdown
immediate
SQL>
host
# Take backup of all datafiles to the backup/ folder
[oracle@localhost new]$ cp *.dbf backup/
SQL>
startup
SQL>
create
table test
as select * from
dba_objects;
Table created.
SQL>
select
count(1)
from test;
COUNT(1)
———-
49814
SQL>
select
to_char(sysdate,’dd-mm-yyyy hh24:mi:ss’) ddate
from
dual;
DDATE
——————-
29-04-2010 10:25:51
SQL>
alter
system switch logfile;
System altered.
SQL>
drop
table test;
Table dropped.
SQL>
alter
system switch logfile;
System altered.
SQL>
shutdown
immediate
SQL>
host
# Delete all datafiles and restore the backup of the datafiles from the backup/ directory
[oracle@localhost new]$ rm -rf *.dbf
[oracle@localhost new]$ mv backup/*.dbf .
SQL>
startup
mount
SQL>
recover
database until time ‘2010-04-29:10:25:51’;
Media recovery complete.
SQL>
alter
database open resetlogs;
Database altered.
SQL>
select
count(1)
from
test;
COUNT(1)
———-
49814
SQL>
基于改变的不完全恢复
如果你有一个具体的scn 值,使用recover database until the change 命令你可以恢复数据库到具体的 scn 值,步骤和之前情景中的一样,切换到下一个、最后一个不完全恢复类型和基于取消的不完全恢复。
基于取消的不完全恢复
如果你丢失了一个应该添加到恢复的数据文件的归档重做日志文件,你不能继续进行恢复,所以需要在Oracle要求丢失的归档重做日志文件之前进行,你也可以打电话给 Oracle Support以提供给你诸如_allow_resetlogs_corrupti的隐藏的初始参数作为帮助。
在下面的情境中,你将使用until cance选项恢复所有数据文件的备份并执行多媒体恢复,当你需要丢失的归档重做日志文件时,停止恢复:
SQL>
recover
database until cancel;
ORA-00279: change 447754 generated at 04/29/2010 09:43:30 needed for
thread 1
ORA-00289: suggestion :
/u01/ORACLE/product/10.2.0/db_1/flash_recovery_area/NEW/archivelog/
2010_04_29/o1_mf_1_1_%u_.arc
ORA-00280: change 447754 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/ORACLE/product/10.2.0/db_1/flash_recovery_area/NEW/archivelog/
2010_04_29/o1_mf_1_1_5xm3qfvb_.arc
ORA-00279: change 448599 generated at 04/29/2010 09:51:36 needed for
thread 1
ORA-00289: suggestion :
/u01/ORACLE/product/10.2.0/db_1/flash_recovery_area/NEW/archivelog/
2010_04_29/o1_mf_1_2_%u_.arc
ORA-00280: change 448599 for thread 1 is in sequence #2
ORA-00278: log file
‘/u01/ORACLE/product/10.2.0/db_1/flash_recovery_area/NEW/archivelog/
2010_04_29/o1_mf_1_1_5xm3qfvb_.arc’ no longer needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
Media recovery cancelled.
SQL>
alter
database open resetlogs;
Database altered.
SQL>
请记住在确保所有的数据文件恢复到连贯的scn号之后,你需要取消恢复程序,否则你会收到ORA-01113: file # needs media recovery 错误。
结论
Oracle 强烈推荐使用RMAN 操作,但是,可能会有一些情况,你需要使用用户管理技术采用备份或者不使用RMAN执行恢复。本章介绍了关于用户管理技术的详细信息,并为每个情景提供了每一步的指导。
本章一开始给出了关于用户管理技术的信息以及控制文件、数据文件、归档重做日志文件、参数和网络文件的备份方法。
接下来证明了控制文件、重做日志文件、数据文件等的恢复技术,除了证明方法外,还展示了损坏具体的物理文件和收到实际错误的步骤,这会帮助你在生产数据库上面对错误之前自己练习情景,学习实用的解决方法。
在本章末尾,在涉及了大量有关重做日志恢复信息之外,解释了执行不完全恢复的方法。下一章会探讨Oracle flashback技术并展示在实际情境中的功能。
Comment