oracle 怎样利用闪回功能恢复数据?

2025-03-09 23:43:36
推荐回答(2个)
回答1:

1,只需要执行以下个脚本即可。

2,查看utl_file_dir设置

3, 可以通过命令行修改此参数,也可以通过修改pfile文件设置此参数。

4,该参数为静态参数,需重启数据库后生效,创建LOGMNR数据字典。

5,添加需要分析的归档日志。

6,开始日志挖掘,分析日志。

7,查看日志信息,就可以了。

回答2:

方式一:通过时间戳闪回


语法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS');

方式二:通过SCN闪回

语法:flashback database to scn 13081009;

执行完flashback database之后,oracle提供了两种方式修复数据库

1、通过alter database open
resetlogs打开数据库。当然,指定的scn或者timestamp之后产生的数据统统丢失

2、先执行alter database open
read only以read-only模式打开数据库,确认数据无误后,再以resetlogs的方式打开数据库

一、闪回查询

语法:select * from 表名 as of timestamp 

to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss');

二、闪回表

语法:

alter table 表名 enable row movement; 允许行移动

flashback table 表名 to timestamp to_timestamp('2016-08-01 

01:00:00','yyyy-mm-dd hh24:mi:ss');

三、闪回删除

使用回收站(recyclebin)闪回删除的表

四、闪回数据库

(1)确认数据库处于archive log模式且数据库开启闪回功能;

(2)Flashback Database 实际是对数据库的一个不完全恢复操作,因为需要关闭数据库重启到mount状态

参考资料

http://baike.sogou.com/v110535.htm?fromTitle=oracle.http://baike.sogou.com/v110535.htm?fromTitle=oracle[引用时间2018-1-9].http://baike.sogou.com/v110535.htm?fromTitle=oracle.http://baike.sogou.com/v110535.htm?fromTitle=oracle[引用时间2018-1-9][引用时间2018-1-10]