oracle怎么回复删除 oracle如何把误删的数据恢复

oracle数据库数据删除后如何恢复?

删除表后,可以采用如下操作:

创新互联建站-专业网站定制、快速模板网站建设、高性价比招远网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式招远网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖招远地区。费用合理售后完善,10年实体公司更值得信赖。

在 user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。

FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;

如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:

CREATE TABLE QUICK_TABLE AS

SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小时前的),减去的时间可以自己定。如楼上F_253那位老兄的写法就不错,能自由定制时间

oracle怎样恢复删除的数据文件

oracle数据库恢复,主要包括(1)系统崩溃只剩下数据文件的情况下的恢复,甚至没有system表空间而只有数据表空间的情况下的恢复.只要提供数据文件就可恢复.(2)undosystem表空间损坏数据恢复.(3)非归档或者归档模式下误delete数据的恢复、误删除表空间的恢复、droptruncate表的恢复.(4)数据库中有大量CLOBBLOB对象数据恢复等情况以及各种ora-错误的修复.(5)DMP文件损坏导致文件不能导入数据库的数据恢复(6)oracle数据库中数据文件出现坏块情况下的恢复.(7)oracle数据库无数据文件但有日志的情况下的恢复.(8)UNIX、WINDOWS下ORACLE数据文件被误删除情况下的数据库恢复.(9)Oracle10G、Oracle11G的ASM损坏的数据库恢复.(10)Oracle10G、Oracle11GBIFGILETABLESPACE大文件表空间损坏数据恢复(11)Oracle9i、Oracle10G、Oracle11G压缩表压缩表空间损坏数据恢复(12)Oracle10GOracle11GExpdp导出Impdp导入DMP文件错误数据恢复恢复成功率高达90%以上,在数据恢复领域处于国内领先的地位。具体案例见广州拓飞官方网站

Oracle数据被删除后,如何恢复

删除表后,可以采用如下操作:

在user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。

FLASHBACKTABLETABLE_NAMETOBEFOREDROP;

如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:

CREATETABLEQUICK_TABLEAS

SELECT*FROMTABLE_NAMEASOFTIMESTAMPSYSDATE-1/24(一小时前的),减去的时间可以自己定如:select*fromTABLE_NAMEASOFTIMESTAMP(SYSTIMESTAMP-INTERVAL'1'MINUTE)

oracle如何恢复误删的表记录数据?

oracle如何恢复误删的表记录数据,解决办法:

从flash back里查询被删除的表select * from recyclebin

执行表的恢复flashback table  tbName  to before drop;这里的tbName代表你要恢复的表的名称。

先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。

一般先根据时间进行查询,查询语句模式为select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点。

这个命令的作用是,允许Oracle 修改分配给行的rowid。

在Oracle 中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。

闪回表处理会对EMP 完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。

要支持闪回就必须允许Oracle 执行这个操作。

在oracle中如何找回被删除的数据?

select * from whir$t3068 as of timestamp to_timestamp( '2012-03-30 9:00:00' , 'yyyy-mm-dd hh24:mi:ss' )

select * from whir$t3068 as of timestamp sysdate-750/1440;

flashBack table scheme.whir$t3068 to timestamp(timeVariable,'2012-03-30 09:mi:ss')  

********************这个效果很好***************************

先执行SQL查询出来被删除的数据

select * from 表名 as of timestamp sysdate-1/12

在把数据添加到删除的表中

insert into biao select  * from 表名 as of timestamp sysdate-1/12

如何恢复程序中删除的oracle数据

分为两种方法:scn和时间戳两种方法恢复。

一、通过scn恢复删除且已提交的数据

1、获得当前数据库的scn号

select current_scn from v$database; (切换到sys用户或system用户查询)

查询到的scn号为:1499223

2、查询当前scn号之前的scn

select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)

3、恢复删除且已提交的数据

flashback table 表名 to scn 1499220;

二、通过时间恢复删除且已提交的数据

1、查询当前系统时间

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

2、查询删除数据的时间点的数据

select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,则继续缩小范围)

3、恢复删除且已提交的数据

flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');

注意:如果在执行上面的语句,出现错误。可以尝试执行 alter table 表名 enable row movement; //允许更改时间戳


网页名称:oracle怎么回复删除 oracle如何把误删的数据恢复
本文路径:http://scyanting.com/article/hgpigs.html