日期:2014-05-16  浏览次数:20394 次

Oracle通过归档日志还原数据

Oracle 的日志模式分为 archivelog (启用归档日志) 和 noarchivelog () 两种模式。

查看数据库日志模式:

select log_mode from v$database;

?

?

log_mode

-----------------------------------

archivelog

?

如何启用Oracle的归档方式:

1.参照以下内容编辑init.ora文件:

  log_archive_start = true

  log_archive_dest_1 = " LOCATION=D:\Oracle\oradata\ORCL\archive "

  og_archive_format = %%ORACLE_SID%%T%TS%S.ARC

?

?

?

Oracle 归档日志还原数据(还原前请做好冷备份):

?

sqlplus /nolog

conn / as sysdba;

archive log list; ?(查看日志文件列表,查看单个日志文件可用 strings xxx.dbf to xx.txt)

?

recover database until time '2011-09-15:15:00:00'; ?

(提示: 使用基于时间的恢复,时间的格式是YYYY/MM/DD HH24:MI:SS,并且用单引号括起。) ?

基于时间的恢复(time-based recovery)

  为使用基于时间的恢复,必须知道记录在V$log_history归档重演日志序号387(丢失重演日志)的时间,通过执行查询语句“select * from v$log_history where sequence#=387;”

?

?

或者

recover database until change 9999;

?

alter database open resetlogs;?(应用该命令前请确认已数据库已备份,如打开失败,日志将不可用)

?

?

?

?

?