你好,这是我汇集的几点数据恢复经验。
9i以上数据恢复(恢复数据,不能恢复表):
select * from 表名 AS OF TIMESTAMP sysdate-1 (这个1一般是最大值,可以换1/12,1/24等随意数字。)
10g以上表恢复(恢复表):
Flashback table 表名 to before drop;
触发器等恢复(恢复视图、过程、函数等):
Sys用户登录闪回查询表dba_source,获取删除内容。
用户恢复,关于flashback database倒是可以,不过是默认关闭,就是打开状态,一般缺省也就是保存一天的数据,而且用起来很麻烦。如果有备份最好。
如果不能解决你目前的问题也希望能给你以后的工作有所帮助。
望采纳,谢谢。
你可以试试PRM for Oracle。
ParnassusData Recovery Manager(以下简称PRM)是企业级ORACLE数据灾难恢复软件,可直接从Oracle9i,10g,11g,12c的数据库数据文件(datafile)中抽取还原数据表上的数据,而不需要通过ORACLE数据库实例上执行SQL来拯救数据。ParnassusDataRecovery Manager是一款基于JAVA开发的绿色软件,无需安装,下载解压后便可直接使用。
恢复场景1 误Truncate表的常规恢复
D公司的业务维护人员由于误将产品数据库当做测试环境库导致错误地TRUNCATE了一张表上的所有数据,DBA尝试恢复但是发觉最近的备份不可用,导致无法从备份中恢复出该数据表上的记录。 此时DBA决定采用PRM来恢复已经被TRUNCATE掉的数据。
有备份就可以恢复,如果没备份用数据库的flashback database,如果都没有,那就木办法喽
如果没有备份,可以参见:网页链接