oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

写得比较详细啰嗦,所以内容看起来多,其实很简单,有基础的童鞋可以直接备份数据库,安装软件,然后拉到文章底部看最后几步即可

 

~~ 正文开始 ~~

 

 

前几天不小心把存在表里的生产数据(为啥存在本地?因为临时在本地写了个demo,调接口获取的数据)给删了,不多不少一万多条数据,最后终于恢复回来,今天分享下恢复过程

 

为了防止数据被覆盖,我赶紧停止了任何数据操作和数据备份,并在网上找起教程,大概的方向是通过“SQL事务日志”来恢复被删的数据~~~

 

 

====数据备份开始====

 

这里简单说下数据备份吧,不要用软件来备份数据,因为有些数据库设置的‘简单模式’,备份会删除日志,导致恢复失败。

 

1、首先分离数据库

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

 

2、【重要!!!】

找到数据库文件路径,拷贝一份备用。(为了保险,一定要备份),一般文件路径都是这个:

C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLDATA

 

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

3、备份完后把分离的数据库附加回去

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

=====数据备份完成====

 

我并不会分析日志,只能找工具辅助了咯。刚开始找的是Log Explorer,结果客户端装上了,服务端死活装不上,版本还老得离谱,装不上就当拉倒吧,,,,,所以我又双叒去网上找了另一款名为ApexSQLLog 的数据恢复软件

 

ApexSQL Log是为数据库开发用户打造的一款实用误操作恢复工具,软件可以帮助用户阅读SQL事务日志以审核更改和回滚事务,可以有效地找回丢失或者修改的数据库数据,支持SQL Server 2008、2005等版本

 

====软件安装开始====

 

安装软件运行环境,需要.NET 4.5,如果之前装过就不用装了,没有的话自己下载安装

链接:

https://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe

 

ApexSQLLog 安装包下载链接:

https://ajun719.lanzoui.com/iF9QEsppv7g

 

软件无需安装,直接解压压缩包即可使用

 

====软件安装完成====

====软件使用与数据恢复====

 

1、解压后,打开文件,找到以下所示程序文件,鼠标右键,以管理员身份运行

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

2、选择和登录需要恢复数据的数据库

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

等待程序自动查找数据库和日志,别心急

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

3、选择需要恢复的数据的日志文件,一般默认就好

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

4、选择以表格形式展示数据

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

5、选择需要恢复数据的时间段,一般默认,,然后点右下角“Finish”

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

 

====接下来进行数据恢复操作=====

 

筛选数据可以选择时间、操作人、增删改操作(具体见下图)

 

图1:通过时间筛选你要的数据

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

图2:通过语句或表筛选你要的数据

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

图3:通过用户筛选你要的数据

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

选完筛选条件后点击“apply”应用,查出来的数据应该就是你想恢复的了

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

 

======================

比如我要恢复被误删的数据,,筛选出delete语句的记录,勾选数据,恢复

 

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

 

软件就会生成这些被删数据对应的insert语句,然后你就可以保存到本地,通过insert语句恢复被删除的数据啦

 

oracle delete 不记录日志(基于事务日志的数据库故障恢复过程)

 

 

 

====软件使用与数据恢复结束====

 

 

希望这篇文章对你有帮助!记得帮忙点赞转发哦,感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论