删库跑路....别慌,数据库有回收站的。

大家好,我是猫奴.......不对,我是CodenJin。今天遇到程序员生涯第一次的删库事件。哈哈哈,我一点都不慌。(声明删库的人不是我,无论如何,好在表和数据都恢复了。)
删库跑路....别慌,数据库有回收站的。
文章图片
我开始慌了,是不是我又做错了什么~ 为何会发生这件惨案呢?这是一个hibernate引发的血案。同事不小心做了这个操作,然后就炸了。
删库跑路....别慌,数据库有回收站的。
文章图片
hibernate配置文件 这里应该是用update,update表示对表结构修改。而create则是drop现有的表,再重新建表,所以这样一来数据就没了。
那么我是怎么恢复的呢?其实数据库是有个回收站的,准确来说,我是使用了闪回技术。(注:数据库类型的是oracle)做个简单科普,oracle10g中增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力。更多详情,请问度娘。直接上图吧。
删库跑路....别慌,数据库有回收站的。
文章图片
查询某一时间段闪回区数据 查询所有从今天零点起drop的表,你们可以将sql查询条件编写更为精确,这里展示给大家看。(我偷懒了,哈哈哈。)接下来就是恢复操作,不逼逼上图。
删库跑路....别慌,数据库有回收站的。
文章图片
恢复指定的表 可惜的是,不能执行批量恢复操作。注意两个框内容要对应,ORIGINAL_NAME这一列就是你要恢复的表名,执行后你的表和数据就回来了。假如之前删掉的表被重新建了,执行这一步前请先把它drop掉。
【删库跑路....别慌,数据库有回收站的。】希望本次分享,能帮助到大家,写的不好或是不正确,欢迎指正。同事也不用跑路了,哈哈。

    推荐阅读