Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle数据恢复--flashback大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

对于表的恢复


db_flashback_retention_target参数决定删除表以及表中数据保留时间

sql>conn / as sysdba

Connected.

sql>alter system set db_flashback_retention_target=3600;

System altered.

sql>


确认处于归档模式

sql>select dbID,name,log_mode from v$database;

DBID name LOG_MODE

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

1573521836 FENGZIARCHIVELOG

sql>

查询所有表删除其中一个表

sql>conn u2/u2

sql>select * from tab;

Tname TABTYPE CLUSTERID

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

BB2 table

EMPTY table

TEMP table

sql>drop table bb2;

table dropped.

查询回收站

sql>show recyclebin

ORIGINAL name RECYCLEBIN name OBJECT TYPE DROP TIME

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

BB2 BIN$98CBLGsSLR/gQKjACjgQQQ==$0 table 2014-04-24:09:09:44

恢复表

sql>flashback table bb2 to before drop;

Flashback complete.

sql>select * from bb2;

ID

----------

1

12 rows selected.

如果删除期间创建了原表名的表在删除在回收站会有两个选项

sql>create table bb2 as select * from temp;

table created.

BB2 BIN$98Cx0ajtOxDgQKjACjgQYg==$0 table 2014-04-24:09:23:20

BB2 BIN$98Cx0ajuOxDgQKjACjgQYg==$0 table 2014-04-24:09:24:59

sql>

如果还使用BB2名称恢复表的话,得到的表为最后一次删除的表内容。

想要恢复之前的表需要

BB2BIN$98Cx0ajtOxDgQKjACjgQYg==$0table2014-04-24:09:23:20

sql> flashback table "BIN$98Cx0ajtOxDgQKjACjgQYg==$0" to before drop;

sql>




对于表中行的恢复

这种方法有点时候是不实用的

sql>select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

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

2014-04-24 09:38:05

sql>update bb2 set ID=ID+1 where ID=1;

12 rows updated.

sql>commit;

Commit complete.

sql>alter table bb2 enable row movement;

table altered.

sql>flashback table bb2 to timestamp to_timestamp('2014-04-24 09:38:05','yyyy-mm-dd hh24:mi:ss');

sql>alter table bb2 disable row movement;

sql>



比较实用的方法 2

14 rows selected.

2014-04-24 09:55:07

sql>delete bb2 where ID=2;

2 rows deleted.

sql>select * from bb2 as of timestamp to_timestamp('2014-04-24 09:55:07','yyyy-mm-dd hh24:mi:ss')where ID=2;

sql>select * from bb2 where ID=2;

no rows selected

大佬总结

以上是大佬教程为你收集整理的Oracle数据恢复--flashback全部内容,希望文章能够帮你解决Oracle数据恢复--flashback所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: