数据库删除数据了怎么恢复

数据库删除数据了怎么恢复,第1张

数据库删除了数据是一个很棘手的问题,数据的删除首先包括三个层面:

1删除放入回收站,没有在回收站中清除数据。这种情况是最简单的,进入回收站,找到删除的数据,右击选择恢复。

2删除后未放入回收站或者删除后清空回收站,尽量先不要往原数据所在盘符下储存内容,刚刚删除的数据只是文件结构被删除,真正的文件数据还没被覆盖。通过数据恢复软件是可以找回来的,专业的软件例如有超级兔子数据恢复软件

3如果是删除很久以后才想到数据库数据要恢复,并且磁盘一直在使用,磁盘被填满的话数据就已经被覆盖了,这样的数据是无法找回的。

ORACLE

有备份的话 可以恢复

如果只是删除 了表里的数据的话

select from syssmon_scn_time;

--scn 与时间的对应关系

每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入syssmon_scn_time表。

select from student as of scn 592258

就可以看到在这个检查点的表的历史情况。

然后我们恢复到这个检查点

insert into student select from student as of scn 592258 where id not in (select id from student)

select from v$transaction ---没有提交的事务。

select from flashback_transaction_query; ---回滚事务。 他有一列是 undo_sql 得到他就可以回滚刚才提交的事务。

select from FLASHBACK_TRANSACTION_QUERY a

where astart_timestamp between to_date('2008-12-7 14:40:56','yyyy-MM-dd HH24:mi:ss') and

to_date('2008-12-7 14:59:56','yyyy-MM-dd HH24:mi:ss');

不论是insert delete update 都可以把committ 了的事务给回滚了

使用命令,是通过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,所以在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志,具体如下

以及在数据库属性,选项设置中,设置为完整备份,做好如上两个设置,数据库误删后找回数据就会非常轻松,现在说一下如何还原sqlserver数据到故障点。

1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit *** 作的话,可以执行rollback进行回滚恢复。如果是ddl *** 作,如drop、create、alter之类的 *** 作时无效的

2 在进行删除 *** 作之前有备份,比如mysqldump,物理备份数据文件之类的 *** 作,那么可以恢复到删除前的数据

3 如果你的删除 *** 作是直接对data下的文件进行删除,注意,不是粉碎文件 *** 作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;

除以上情况,其他真的是没法恢复了,不过貌似很多公司号称能够恢复,要收费,具体他们怎么恢复我就不晓得了。

以上就是关于数据库删除数据了怎么恢复全部的内容,包括:数据库删除数据了怎么恢复、如果数据库的数据被你不小心删了 怎样恢复啊、sqlserver 删除数据库 怎么恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10190074.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存